004 测试case

Posted orangleliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了004 测试case相关的知识,希望对你有一定的参考价值。

很早的时候看到过有人提问,测试中最重要的是什么,有味大牛的回答是Case,至今印象深刻。测试有很多种类了,下面说的场景偏自动化测试,也就是说case可以通过结构化的数据存储下来,通过工具重放。

csae来源

现代软件太复杂,特别是回归场景下需要回归的测试点太多,case的来源也不仅仅是手工维护了。通过线上的请求日志或者通过流量录制都大大的增加了case的获取量,这种大都属于正向case,对于逆向case或者边界条件,还需要通过人工补充,或者通过规则自动补充,这样case库才算比较完整。

现在的case可能不止一个请求和结果,而是整个调用链路上的请求结果记录,java系统通过字节码增强,可以针对函数内部的子调用进行录制。

case维护

系统是不断迭代的,所以case也需要保持新鲜。通过获取最新的流量来覆盖老得case, 设置有效时间,通过固定case来对长期不变的场景固化,通过回归测试中的一些现象踢出不可用的case等,保持新鲜有效。

这里还要说一点就是case对于结果断言会有一些定制。很多情况下没发直接使用录制下来的结果对比,例如http请求,可能是对比状态码,也可能是对比返回json中的某几个字段,所以对于断言也是会提供多种配置来满足的。

case使用

case的用武之地非常多,几乎可以覆盖整个软件的生命周期。

开发阶段,我们可以把case开放给开发人员,用于本地的调试和测试。对于需要mock的数据也可以通过case中心来提供。对于非新增或者重构的需求,咱们可以做一些小工具,半自动化触发本地和基准测试环境的diff,来验证修改以后的逻辑一致性。

测试阶段,可以用到自动化回归,压力测试或者混沌测试中,这都是比较常规的操作了,一般都需要一些系统的改造。

线上阶段,很多case本来就是线上流量,可以用来做上线后的功能回归,但是也需要针对读写场景做一些改造。

​从不同的视角来重新认识日常见到的概念,可能有新发现

以上是关于004 测试case的主要内容,如果未能解决你的问题,请参考以下文章

004 测试case

004 测试case

PHP Framework MVC Benchmark 基准测试

浅谈接口Diff测试

隔空测量电压:电场强度测试仪-FMX-004

VUE-004-禁止修改页面显示项,设置el-input,textarea只读方法