junit5 装置测试和并发测试(使用junit进行单元测试)
junit5 测试装置实现全流程测试
在实际工作中运用场景(app测试为例):
基类的@BeforeClass:
配置读取、配置Capability、初始化 driver、安装App,PageObject初始化
集成的子类执行流程 :
@BeforeClass:打开app
@Before:启动并进入特定界面
@Test:测试用例执行
@After:回退到入口
@AfterClass:关闭app
基类的@AfterClass:
- driver.quit 关闭驱动,释放资源
Junit5 并发测试
配置并发文件在根目录
当服务器是分布式集群形势,会产生一个问题,当多个订课请求打到不同的服务器上,而多个服务器对已定课程总数的读取过程中产生脏读的问题,就叫做分布式锁问题。
线程安全性问题出现的三个必要条件:
1、多线程环境下
2、多个线程共享同一个资源
3、对资源进行非原子性操作
并发测试和性能测试的区别:
中间件越多,并发风险越高,如:电商系统中下单流程,需要从开始下单开始并发测试,查看生成的订单,结算数据是否一致~
混合并发 场景:
数据库锁:
更新/删除 为非原子性操作,执行更新和删除会使用where条件先查询。
排它锁必须添加索引才能执行,如果没有添加索引,此时的更新和删除后会锁表,导致其他逻辑失败,只有读取正常,读取为快照读。
读写混合情况下的测试场景
当多个逻辑之间存在某些互相影响的可能性时,需要考虑这些逻辑的混合并发处理的场景。
业务场景如:登录和注册为同一个接口,新用户登录默认为注册,老用户为登录更新,则为混合并发场景。有表锁 风险
配置测试报告
- 加入jar包
- 配置环境变量
下载好后,环境变量配置到allure 的 bin下为止,然后cmd中可以allure --version查看配置是否成功
- 生成报告