用例生成备用知识

实际问题:

1、系统升级验证已有接口逻辑,对接口做回归

2、业务逻辑复杂,每个迭代版本在自动化回归的基础上需要手工回归测试

3、编写场景用例复杂,自动化维护成本高

4、性能测试时造数麻烦等

1、流量回放

线上环境拥有场景丰富、数据真实、覆盖全面的条件,将线上环境的请求数据获取验证性能、回归等测试过程,实施流程是从流量录制 - 数据持久化 - 回放计划 - 环境维护 - 流量回放 到结果比对。利用ngx_http_mirror_module、tcpCopy等工具直接监听网络端口,复制数据包方式录制,实现成本较高。

2、基于符号执行

业务逻辑覆盖

本方法可以对待测程序通过静态分析,自动生成测试脚本,如下:

1、获取待测程序,遍历待测函数中的函数语句,获取待测函数中的测试条件

具体的,遍历待测函数的函数语句,通过设定关键词获取测试条件,关键词,例如:if,else ;select, from,where等

2、拆分测试条件,将测试条件拆分成树状结构,例如:测试条件为:x>0;x<=0,则将该测试条件拆分为:x<0;x=0;x>0三个分支

测试条件为y=0;y!=0,时,则拆分为:y=0;y!=0

3、记录由各个分支的测试条件构成的集合,其每个分支都是一个测试用例,包括:操作步骤以及预期结果等。

4、根据集合生成用于测试待测程序的测试用例集合。

这样就可以实现测试用例自动化生成,避免了人工的代码走读造成测试用例覆盖不全的情况。

 

3、基于模型

 

4、基于目标优化的搜索算法

 

5、其他

混合型、自适应(随机测试的变种)

posted @ 2024-05-23 16:36  抱紧西瓜的老吴  阅读(6)  评论(0编辑  收藏  举报