持续交付

【读书笔记-020】持续交付2.0之自动化测试策略和方法

2019-03-23  本文已影响126人  爱倩子的李总

拥有完整而有效的自动化测试策略,是团队达成持续集成目标的一个至关重要的前提条件。

自动化测试的定位

测试领域存在四类基本活动,即:

自动化测试:将“执行”阶段的大量重复性的劳动力交付给机器来完成,将人从重复的手工劳动中解放出来。

敏捷测试四象限

敏捷测试四象限

第二象限和第三象限的测试类型都可以被自动化,包括功能验收测试、单元测试、组件测试和系统集成测试;第四象限一部分可以自动化,大部分可以半自动化;第一象限只能通过手工方式运行。

自动化测试的优势

自动化测试的成本投入

持续集成下的自动化测试

持续集成对自动化测试的要求

持续集成实践对自动化测试建设的四个基本衡量维度如下:

《Scrum敏捷软件开发》中指出,针对被测对象范围较大的上层测试用例,数量应该越少,而被测对象粒度较细的下层测试用例数量应该增加,形成稳定的正三角形。

不同类型的测试金字塔

微核架构的测试金字塔

微服务应用的测试金字塔

微服务应用的测试金字塔

自动化测试的实施策略

增加自动化测试用例的着手点

除了符合测试金字塔结构,还可以从以下四个方面入手:

良好自动化测试的特征

用户验收自动化测试的要点

处于测试金字塔顶层的用户验收测试的数量不应该太多,其重点在于:

其他质量检查方法

差异批注测试方法

一种半自动测试方法,当做预定义的数据集输入系统后,收集运行后的输出结果,对其中需要验证的数据进行提取,并将提取结果放入文本文件中,通过对比前后两次测试的结果,用人工批注的方式进行半自动测试。需要特别注意动态信息的处理,常见的工具包括TextTest和ApprovalTests等。

代码规范检查与代码动静态检测

  1. 静态扫描:无需编译器编译而直接使用一些扫描工具对其进行扫描,找出代码中存在的一些语义缺陷、安全漏洞的解决方案。常用的工具包括:lint,Coverity,ColcWork等。
  2. 动态分析:通过在真实或虚拟处理机器上执行目标程序进行分析,比如,在可能的漏洞处插入专门编制的故障发生函数,迫使目标软件产生异常,然后通过监控程序来检查是否发生了边界溢出或者其他异常现象。常用工具包括:Valgrind,Purify等。

总结

前置周期越短,说明交付效率越高,越能提升客户的满意度;对交付频率的要求越高,希望前置周期越短,自动化测试就越为重要。秉承着快速、便捷、可信和即使的自动化测试原则,遵循自动化测试金字塔结构,合理设计自动化测试的实施策略,降低自动化测试的成本,从而增加自动化测试的收益。

上一篇 下一篇

猜你喜欢

热点阅读