项目-个人博客测试报告

目录

一、项目背景

二、项目功能

三、测试计划

        (1)功能测试

        (2)自动化测试

        (3)性能测试


一、项目背景

        1、个人博客系统是一个操作简单的基于Spring前后端分离的项目,同时使用MySQL数据库来进行数据存储,并对项目进行测试,并完成部署上线,前端由四个页面组成:登录页面,博客列表页,博客详情页以及博客编辑(添加)页,通过以上四个页面实现一个简单的个人博客系统,在这个页面你可以记录自己学习的知识,所见所闻等等分享。为了配合前端页面,后端也实现了以下主要功能:登录、注销,添加博客,查看博客,对自己博客进行再次编辑、删除,以及强制登录等功能;

        2、项目没有实现用户注册功能,只能在数据库中添加用户信息来进行校验登录,头像背景都是静态的,固定的,可以通过前端代码实现替换;用户信息中的博客数量和文章分类页没有实现;

二、项目功能

        该项目主要是可以实现个人简单的登录,注销,博客记录,查看,编辑,删除等主要功能;

        1、登录注销功能:账号是通过提前写入数据库,没有注册功能实现,主页右上角有主页,写博客,注销是三个按钮,分别对应回到主页,写博客,注销(回到登录页面)功能;未登录状态访问其他页面会立即跳转到登录页面。

        2、列表页面:成功登录之后,会跳转到列表页,列表每页展示4篇博客,可以对博客列表进行翻页,以查看不同的博客,还可以对博客进行查看全文,对自己的博客可以进行在此编辑或者删除,

        3、详情页面:在列表页面点击查看全文,可以跳转到博客的详情页,对于不是自己的博客只有查看功能,对于是自己的博客可以对博客内容进行再次编辑,或者删除。

        4、添加博客:登录成功以后,在主页右上角有写博客按钮,会跳转到写博客页面,点击发布发布文章,在对标题和内容进行校验成功之后,会直接跳转到列表页,第一条博客就是最新更新的博客。

三、测试计划

(1)功能测试

        1、测试用例

        2、实际检测功能截图

        正常登录(跳转列表页)

        异常登录(弹窗极警告)

        查看全文(不是自己的文章,不显示编辑,删除)

        查看自己的文章(显示编辑,删除)

        写博客(输入博客标题,博客内容就发布成功)

        注销(点击注销,跳转登录页)

(2)自动化测试   

        1、针对个人博客项目进行测试,个人博客主要由四个页面构成:登录页、列表页、详情页和编辑页,主要功能包括:登录、编辑并发布博客、查看详情、删除博客以及注销等功能。对于个人博客的测试主要就是针对主要功能进行测试,然后按照页面书写测试类。
        2、自动化测试一般步骤:
                1)使用脑图编写web自动化测试用例
                2)创建自动化项目,根据用例来实现脚本

        3、脑图

        4、测试类

        

         5.AutoTestUtils(公共类)

  • 初始化浏览器createDriver()
  • 打开目标网页(通过构造函数)。
  • 保存网页截图getScreenShot())。

        6.PageNoLoginTest(没有登录-网页测试)

  • 页面能够正常显示
  • 访问各个网页,检查是否除了登录页都能因为没有登录而跳转到登录页

        7.BlogLoginTest(登录测试)

  • 页面能否正常显示
  • 异常登录,是否能警告
  • 正常登录,是否能够跳转

        8.ListPageTest(列表页测试)

  • 页面是否能够正常显示

        9.PageDetailTest(博客详情页测试)

  • 页面是否正常显示
  • 查看全文,内容是否显示正确

        10.UpdatePageTest(更新页面测试-测试编辑和删除功能(前提第一篇是自己的文章))

  • 页面是否正常显示
  • 查看全文,内容是否显示正常
  • 编辑和删除按钮是否正常显示
  • 点击编辑是否正常跳转到编辑页面
  • 编辑页面显示的内容是否是文章的内容
  • 测试删除功能
  • 删除之后校验删除前后第一篇文章的id(通过url获取)

        11.EditBlogTest(添加博客测试)

  • 编辑博客页面是否正常
  • 添加标题,通过鼠标键盘模拟输入博客正文
  • 点击更新文章
  • 检查第一篇文章是否是刚刚发布的内容

测试代码:https://gitee.com/tianma-star/blog-system-automation-test/tree/master/BlogAutoTest

(3)性能测试

使用jmeter进行简单性能测试:针对登录、发布博客以及获取列表页,详情页,用户信息进行简单的性能测试,对登录循环读取csv文件不同的用户数据。

由于自己电脑硬件条件有限,开始5000个线程,每秒增加1000个,增加到5000个线程的时候保持运行20秒,此后每秒停止1000个线程。

聚合报告:

响应时间(曲线图)

吞吐率

性能测试报告

(命令生成测试报告)

测试报告网页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/73341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端npm包- CropperJS

文章目录 一、CropperJS**核心特性****官网与文档****安装与使用**1. **通过 npm/yarn/pnpm 安装**2. **HTML 结构**3. **引入 CSS 和 JS**4. **初始化裁剪器** **相关插件/替代方案****适用场景****注意事项** 总结 一、CropperJS cropperjs 是一个轻量级、功能强大的 图片裁…

杨辉三角形(信息学奥赛一本通-2043)

【题目描述】 例5.11 打印杨辉三角形的前n(2≤n≤20)行。杨辉三角形如下图: 当n5时 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 输出: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 【输入】 输入行数n。 【输出】 输出如题述三角形。n行&#…

图论入门【数据结构基础】:什么是图?如何表示图?

图(Graph) 是一种非线性数据结构,用于表示对象之间的关系。图由 顶点(Vertex) 和 边(Edge) 组成,其中顶点表示对象,边表示对象之间的关系。图广泛应用于计算机科学、数学…

如何使用HACS一键集成米家与果家设备到HomeAssistant玩转智能家居

文章目录 前言1. 下载HACS源码2. 添加HACS商店3. 绑定米家设备 前言 各位科技潮人和智能家居发烧友们,是不是也梦想着把家里变成一个高科技的空间?有了群晖NAS这位得力助手,不仅存储空间大得吓人,还能通过Docker轻松安装各种应用…

《Java对象“比武场“:Comparable与Comparator的巅峰对决》

目录 引言: 一、认识接口 1.1 Comparable 1.2 Comparator ​编辑 1.3 核心概念对比 二、代码实现对比 2.1 Comparable 实现示例 2.2 Comparator 实例示例 三、核心区别详解 3.1 设计理念差异 3.2 方法调用 3.3 使用情景 四、本质区别总结 引言&#x…

Android自动化测试工具

细解自动化测试工具 Airtest-CSDN博客 以下是几种常见的Android应用自动化测试工具: Appium:支持多种编程语言,如Java、Python、Ruby、JavaScript等。可以用于Web应用程序和原生应用程序的自动化测试,并支持iOS和Android平台。E…

Go vs Rust vs C++ vs Python vs Java:谁主后端沉浮

一、核心性能对比(基于TechEmpower基准测试) 语言单核QPS延迟(ms)内存消耗适用场景Rust650,0000.1245MB高频交易/区块链C++720,0000.0932MB游戏服务器/实时渲染Go230,0000.45110MB微服务/API网关Java180,0001.2450MB企业ERP/银行系统Python12,0008.5220MBAI接口/快速原型技术…

vue3:八、登录界面实现-页面初始搭建、基础实现

一、初始工作 1、创建登录文件 在src/views中创建文件LoginView.vue文件 2、创建路由 在router/index.js中增加登录的信息 代码 import { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vue const router createRouter({hist…

结构型模式之适配器模式:让不兼容的接口兼容

在软件开发中,经常会遇到这样一种情况:系统的不同部分需要进行交互,但由于接口不兼容,导致无法直接使用。这时,适配器模式(Adapter Pattern)就能派上用场。适配器模式是设计模式中的结构型模式&…

Qt从入门到入土(十) -数据库操作--SQLITE

认识 数据库是用于存储、管理和检索数据的系统化集合。它是一种按照特定结构组织数据的存储方式,通过软件(数据库管理系统,DBMS)来实现数据的高效存储、查询、更新和管理。通过文件存储数据适用于少量的数据,而当拥有…

Django REST Framework中的序列化器类和视图类

序列化器类 一、Serializer序列化类 Serializer是DRF的序列化器基类,提供基本功能,使用Serializer类需要自己定义字段名称和类型。 BookSerializer(Serializer):name serializers.CharField()price serlializers.IntegerField()date serlializers.…

图像分类数据集

《动手学深度学习》-3.5-学习笔记 # 通过ToTensor实例将图像数据从PIL类型变换成32位浮点数格式, # 并除以255使得所有像素的数值均在0~1之间 trans transforms.ToTensor()#用于将图像数据从 PIL 图像格式(Python Imaging Library&#xff…

架构师面试(十五):熔断设计

问题 某电商平台经常需要在大促运营活动中暂停评论、退款等业务,基于服务治理的设计理念,我们需要对该电商平台微服务系统的【服务熔断】进行设计,对此下面描述中说法正确的有哪几项呢? A. 服务管控系统管理着平台中所有服务之间…

Ubuntu20.04安装运行DynaSLAM

目录 一、安装Anaconda 二、相关依赖库安装 1、boost安装 2、Eigen 3安装 3、opencv安装 4、Pangolin安装 三、配置Mask_RCNN环境 四、DynaSLAM编译 五、DynaSLAM运行 一、安装Anaconda 打开以下链接: Index of / 下载和自己系统匹配的安装包。这里下…

X86 RouterOS 7.18 设置笔记三:防火墙设置(IPV4)

X86 j4125 4网口小主机折腾笔记五:PVE安装ROS RouterOS X86 RouterOS 7.18 设置笔记一:基础设置 X86 RouterOS 7.18 设置笔记二:网络基础设置(IPV4) X86 RouterOS 7.18 设置笔记三:防火墙设置(IPV4) X86 RouterOS 7.18 设置笔记四…

从 YOLOv1 到 YOLOv2:目标检测的进化之路

引言 你有没有想过,当你用手机拍一张照片,里面的人、车、狗是怎么被自动识别出来的?这背后靠的就是目标检测技术。目标检测是计算机视觉中的一个重要领域,它不仅要回答“图片里有什么”,还要告诉你“这些东西在哪里”…

数据的存储---整型、浮点型

目录 一、整型在内存中的存储 1. 原码、反码、补码 2. 大端与小端 二、浮点数在内存中的存储 1.浮点数的存 2. 浮点数的取 3. 题目解析 一个变量的创建需要在内存中开辟空间,而开辟的空间大小是由数据类型决定的。下面我们就来讨论一下整型、浮点型在内存中的…

Java 大视界 -- Java 大数据在智能教育虚拟实验室建设与实验数据分析中的应用(132)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

⚡️Jolt -- 通过JSON配置来处理复杂数据转换的工具

简介:一个能够通过JSON配置(特定的语法)来处理复杂数据转换的工具。 比如将API响应转换为内部系统所需的格式,或者处理来自不同来源的数据结构差异。例如,将嵌套的JSON结构扁平化,或者重命名字段&#xff0…

47.全排列 II

47.全排列 II 力扣题目链接 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1]]示例 2: 输入:nums [1,2,3] 输出…