一、项目背景
在线抽奖系统采用前后端分离的方法来实现,同时使用了数据库来存储相关的数据,redis来缓存验证码,RabbitMQ来缓存信息队列,同时将其部署到云服务器上。前端主要有登录页、后台管理页、活动列表页,抽奖页等页面,以上模拟了较复杂的在线抽奖系统。其结合后端实现了以下的主要功能:登录、注册、添加奖品、添加抽奖活动以及退出等功能。
该在线抽奖系统可以实现个人用户简单的获奖记录,时间,标题,内容等可以进行查看,也会通过短信和邮箱的形式进行通知。
二、测试环境
硬件配置
内存:16.00GB
软件配置
Windows11,Edge浏览器(功能测试)
1.框架升级:将从Servlet升级到SSM框架,框架变得更高级。
2.拦截统一:通过拦截器对http请求进行统一拦截并采用统一的响应数据格式。
3.流行框架:设计了现代流行的前端框架,如vueJavaScript框架,axiosAjax请求框。
三、测试功能
该在线抽奖系统主要实现了以下几个功能:登录,注册,活动中心页面设置,抽奖页面设置,获奖页面等功能。
登录功能:该系统有手机号密码登录和手机号验证码登录,验证码会自动生成并保存在redis中。登录成功后就会跳转到活动中心页面,但是在未登录状态下,直接进入其他页面均会跳转到登录页面。
注册功能:用户输入对应的规范的数据,即可进行注册。
活动中心:活动中心主要有活动管理、奖品管理、人员管理等三个模块。
活动管理可以添加抽奖活动(添加已有奖品,已有人员)并进行抽奖活动;
奖品管理可以添加新奖品(添加奖品名称,奖品名称,奖品价值、奖品描述)并查看已有奖品列表;
人员管理列表可以添加普通用户(添加名字,邮箱,手机号)并查看已有普通用户。
抽奖页面:在活动中心的活动管理下点击抽奖按钮,此时就可以看见抽奖系统在抽奖,点击停止后可以查看结果。
四、测试过程
4.1.测试用例
实际执行测试的部分操作/截图
1、正常登录测试:
2、管理员用户注册测试:
3、添加抽奖活动并成功创建:
4、添加新奖品并创建成功:
5、普通用户注册
6、查看获奖记录
4.2自动化测试
根据测试用例进行代码编写,可以按照每个页面一个测试类的方式来组织。首先,需要单独创建一个公共属性类,以方便进行代码复用。
接下来,在各个测试类中进行测试用例的编写。为了便于运行和修改,可以使用测试套件。此外,启动和现场截图是频繁进行复用的操作,因此可以单独创建一个类进行存储,并在需要时进行调用。这样不仅美观更便于之后的修改。
在编写测试用例时,需要合理运用显示,隐式、强制等待,以确保页面能够正确加载和显示。这样可以有效避免因页面未完全加载导致的测试失败情况。
总之,按照测试用例的规划,可以将测试用例按照页面进行分组,结合测试套件和公共属性类,以及单独存储启动和现场截图的类,来进行测试化用例的编写和组织。
1、添加相关依赖pom.xml
<dependencies>
<!--添加自动管理浏览器驱动-->
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.8.0</version>
<scope>test</scope>
</dependency>
<!--添加selenium依赖-->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
<!--添加保存屏幕截图需要用到的包-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<!--添加junit5依赖-->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.11.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite</artifactId>
<version>1.10.2</version>
<scope>test</scope>
</dependency>
</dependencies>
1、登录页面测试
创建驱动,并打开页面
测试页面是否正常打开
测试用户注册:多参数测试
测试用户登录:多参数测试
2、活动中心测试:
测试活动中心页面是否可以正常打开
测试普通用户是否可以正常注册:多参数测试
测试新奖品是否可以正常添加:多参数测试
测试抽奖活动是否可以正常添加:多参数测试
3.抽奖页测试
测试抽奖页面是否可以正常打开
测试抽奖页面是否可以正常抽奖
测试抽奖结果是否可以正常分享
部分代码测试如下图所示: