一、项目背景
⼀款基于SpringBoot实现的简易⽹站,功能有⽤⼾注册及登录,博客列表展⽰,博客详情查看,博客编写和⽂章评论 点赞功能采⽤的技术有:HTML、CSS、Mybatis、Token、Ajax等技术。
二、项目功能
1.注册
进入该系统,默认展示登陆页面,点击注册即可进入注册页面,会出现三个输入框分别是:用户名,密码Github地址输入框,等待正确输入点击注册后跳转到登陆页面。在注册页面上注意要展示的组件有:主页跳转按钮、编写博客按钮,均为登陆后才可使用的功能。
UI展示:
2.登录
进入登陆页面,展示三个组件,分别是:主页、写博客、登录卡片,前两功能是登陆后才可以使用
登录涉及到三个参数的校验分别是:用户名,密码和验证码,点击提交按钮,如果校验成功则会跳转到博客展示博客列表页面
UI展示:
3.博客列表展示
登陆成功后,跳转到博客列表展示页面,该页面上展示出用户的个人信息卡片,其中点击Github会直接跳转到个人的Github的页面,展示出主页,写博客,注销等按钮,中间展示所有博客,单条博客展示标题,时间,截取的内容,下方一个查看全文按钮,点击后跳转到详情页面。
UI展示:
4.博客详情展示
展示三个组件分别是:作者简介卡片、导航栏、博客展示卡片,作者简介卡主要包含:作者用户名,用户头像,用户的GitHub,文章数、导航栏主要包含三个按钮,主页,写博客和注销,博客展示包含标题,时间,内容,评论,评论框,点赞数
UI展示:
当作者等于登陆人的时候,会出现博客操作按钮删除和重编辑等
5.退出登录
一键退出功能,删除登陆痕迹并跳转到登陆页面。
三、测试计划
1.功能测试
1.1测试用例设计
测试编号 | 功能 | 测试场景 | 测试前提条件 | 操作 | 预期结果 | 测试优先级 | 实际结果 |
1 | 注册 | 存在用户,再次注册 | 用户名存在 | 输入已存在的用户和密码点击注册 | 1.提示用户已存在 | P0 | |
2 | 输入不合法 | 进入注册页面 | 不输入任何数据直接点击注册 | 1.提示未输入用户名 | |||
3 | 空密码注册 | 输入未注册过的用户名但不输入密码点击注册 | 1.提示输入密码不合法 | ||||
4 | 输入合法 创建用户A | 输入正常用户名和密码 | 输入未注册过的用户名和密码,点击注册 | 1.注册成功,并跳转到登陆页面 2.数据库中产生新的用户 | |||
5 | 登录 | 不存在用户 | 用户还未注册 | 输入未注册的用户名,密码,和验证码 | 1.提示用户还未注册 | P0 | |
6 | 存在用户,但输入出现错误 | 输入用户名不正确 | 输入用户名不合法,点击登录 | 1.提示用户名输入错误 | |||
7 | 输入用户名正确 | 密码错误,验证码正确,点击登录 | 1.提示密码输入错误 | ||||
8 | 密码正确,验证码错误,点击登录 | 1.提示验证码错误,并换一张验证码 | |||||
9 | 密码正确,验证码正确,点击登录 | 1.登陆成功 2.跳转到博客列表页面 3.展示用户简介卡篇包含:用户名、用户Github、用户文章篇数、头像 博客列表页面:博客标题、博客时间、博客摘要、查看全文按钮 4.导航栏按钮均可使用 | |||||
10 | 博客列表展示查看 | 不登陆查看博客列表 | 登陆失败 | 点击主页按钮 | 1.提示未登录,无法跳转到博客展示页面 | P1 | |
11 | 登录后查看博客列表 | 登陆成功,跳转到博客展示页面 | 1.用户简介卡:展示用户头像、用户名、用户的文章数等 2.博客列表:展示标题、创建时间、摘要、展示查看全文按钮 3.博客按照时间的先后排序展示 | P0 | |||
12 | 博客详情页面操作 | 登陆成功后查看博客 | 用户登陆成功 | 点击查看全文 | 1.跳转到博客详情页面 2.展示:博客标题、创建时间、博客内容、评论框,用户评论 3.评论按照时间的先后排序展示 | P0 | |
13 | 评论 | 用户登录并跳转到了博客详情页面 | 点击评论输入“评论一下”点击评论按钮 | 1.评论区展示“评论一下”的留言,展示评论人和评论时间 | P1 | ||
14 | 点赞 | 用户登录并跳转到了博客详情页面 | 点击点赞按钮 | 点赞数量加一 | P1 | ||
15 | 删除 | 1.登录用户就是作者 2.用户登录并跳转到了博客详情页面 | 点击删除按钮 | 1.跳转到博客列表页面 2.删除的博客不在展示 3.用户简介卡的文章数量减一 | P0 | ||
16 | 重新编辑 | 1.登录用户就是作者 2.用户登录并跳转到了博客详情页面 3.点击重编辑按钮跳转到重编辑页面 | 1.标题和内容默认自动填入原内容 | P2 | |||
17 | 修改标题,并提交 | 1.跳转到博客详情页面 2.检查修改展示 | P1 | ||||
18 | 修改内容,并提交 | 1.跳转到博客详情页面 2.检查修改展示 | P0 | ||||
19 | 编写博客 | 未登录使用编写功能 | 1.点击写博客按钮 | 输入标题和内容提交 | 提示未登录,发布失败 | P1 | |
20 | 登陆成功使用编写功能 | 不输入,直接提交 | 提示标题未输入发布失败 | P1 | |||
21 | 输入标题提交 | 提示标题未输入发布失败 | P1 | ||||
22 | 输入标题和内容提交 | 发布成功跳转到博客列表页面, 展示新发布的博客 | P0 | ||||
23 | 退出登录 | 叉掉页面 | 30min内再打开页面 | 点击主页 | 直接进入,不用登陆 | P1 | |
24 | 点击退出登录 | 30min内在打开页面 | 提示未登录 | P1 |
1.2测试用例脑图
2.测试截图
2.1注册
2.2登录
2.3跳转到博客列表页面
2.3博客详情页面
2.4编写
2.自动化测试
2.1自动化测试脑图
2.2代码编写
2.2.1所用依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>JunitTest</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<!-- 截图-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.9.1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.9.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-params -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.9.1</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite</artifactId>
<version>1.9.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-suite -->
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite</artifactId>
<version>1.9.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.9.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
2.2.2创建的包和文件
2.2.3部分代码(注册,登录,编写)
JunitTest/src/main/java/blogTest · 紫微星/测试学习代码 - 码云 - 开源中国 (gitee.com)