由于内容篇幅较大
单元测试,功能测试,性能测试,自动化测试分开写
博客系统链接:http://154.8.164.65:8080/blog/blog_login.html
登录账户:用户名:张三 密码:123456
一、项目背景
1.博客系统采用前后端分离的方法,使用了数据库来存储相关的数据,同时将其部署到云服务器上。
2.前端主要有四个页面构成:登录页、列表页、详情页以及编辑页,以上模拟实现了最简单的博客系统。其结合后端实现了以下的主要功能:用户登录、查看博客详情、发布博客、删除博客、退出登录等功能。
3.该博客系统实现了个人用户简单的博客记录,时间、标题、内容以及发布者等都可以进行详细地查看。
二、测试环境
1.硬件环境:
Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz 1.19 GHz
2.软件环境:
Windows10:测试所使用的平台
IntelliJ IDEA 2023.1.1:java项目所运行的环境
MySQL5.7:java项目所连接的数据库
Loadrunner:进行脚本录制,并且完成自动化测试、进行性能测试以及数据分析
Word:用于文本的编写及测试用例表的建立
三、测试目的
运用软件测试的一些方法如:白盒测试(单元测试)、黑盒测试(功能测试)、性能测试及自动化测试,来测试系统的稳定性以及健壮程度。
四、测试计划
序号 |
内 容 |
时间(天) |
1 |
测试项目部署与测试计划 |
1 |
2 |
白盒测试用例分析及设计(单元测试) |
1 |
3 |
黑盒测试用例分析与设计(功能测试) |
1 |
4 |
负载及自动化测试工具使用(性能测试、系统测试) |
1 |
五、测试流程
1、单元测试(白盒测试)
2、功能测试(黑盒测试)
3、性能测试
4、自动化测试
六、发现bug
1.登录页面:用户名和密码没有设置边界值
七、总结
遇到的问题与解决办法
1.问题:在自动化测试时,编辑博客页面使用了第三方插件makerdown,使用xpath或cssSelector这种方法不能写入数据,
2.解决办法:可以通过点击上方的标题等其他按钮之后,再写入内容
3.问题:写入博客后,校验时一直出错
4.解决办法:发现问题是因为页面渲染过慢没有跳转到博客列表,所以在发布博客之后,加入智能等待或者隐式等待
webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
sleep(3000);
5.问题:在发布博客之后,会弹出发布成功的警告框,导致一直不能跳转到博客列表页面
6.解决办法:通过加入代码,选择警示框的确定
webDriver.switchTo().alert().accept();
测试过程中的亮点
1.在测试类和测试方法之前加入注解
//在类之前添加
//按照设计的顺序执行
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
//在方法名之前添加
//按照括号数字从小到大的顺序执行
@Order(1)
@Order(2)
@Order(3)
@Order(4)
@Order(5)
2.在自动化测试时添加InitAndEnd类
只创建一次驱动对象,避免每个用例重复创建驱动对象造成时间和资源的浪费。
3.使用参数化:保持用例的简洁,提高代码的可读性
4.使用测试套件:降低了测试人员的工作量,通过套件一次执行所有要运行的测试用例。
5.使用了等待:提高了自动化的运行效率,提高了自动化的稳定性,减小误报的可能性