软件测试模型之敏捷模型

前言

敏捷测试(Agile testing)强调尽早开始测试,并且持续迭代地测试新开发的功能,确保整个软件开发过程是正确并符合用户需求的。敏捷测试的目标是尽快的交付高质量的软件。

1 软件测试模型之敏捷模型

1.1 敏捷开发

根据《软件开发敏捷模型》可知,敏捷开发以用户为中心、以客户需求为导向,并且随时做好“迎接变化”的准备,客户是敏捷的关键环节。敏捷开发特点:有周期性(通常为一个月)、高度迭代,,并且能够及时、持续地响应客户的频繁反馈。

1.2 敏捷测试

敏捷测试(Agile testing)强调尽早开始测试,并且持续迭代地测试新开发的功能,确保整个软件开发过程是正确并符合用户需求的。敏捷测试的目标是尽快的交付高质量的软件

特点:

(1)强调从使用系统的用户角度,来测试系统

(2)尽早开始测试,功能模块通过单元测试后,即可提交测试人员进行功能测试。

(3)持续迭代地测试新功能,并且持续进行回归测试确保之前的内容不受影响。

(4)参与项目全流程:版本启动、需求评审、代码用例评审、发布评审、回顾总结,以及每天的项目晨会。

(5)项目引入CI/CD,进行持续集成、持续测试、自动化测试,确保尽快交付高质量的软件。

(6)拥抱变化,客户需求变更或功能遗漏导致的需求变更,需要与开发确定影响范围,进行针对性的测试和回归。

(7)团队沟通和协作。测试人员需要与开发人员、产品经理和其他相关人员保持良好的沟通,及时反馈测试结果和问题,以便团队能够及时解决问题并调整开发方向。

软件测试敏捷模型之团队沟通和协作

1.3 金字塔模型

敏捷测试模型之金字塔模型

软件测试模型之敏捷模型-金字塔模型

敏捷测试专家Lisa Crispin的著作《敏捷软件测试:测试人员与敏捷团队的实践指南》一书中提到测试金字塔,是敏捷测试中最重要的测试模型之一。

测试金字塔最初的原型分三层,底层是单元测试,中间层是 API 测试,上层 是UI 自动化测试。底层的单元测试需要做最多的测试工作,越往上测试工作应该越少。根据《谷歌软件测试之道》的经验,三者对于精力投入的比例是:把 70%的精力放在单元测试,20%放在 API 测试,而剩下 10%的精力放在 UI 测试。

但是只靠自动化测试是没办法完全保证系统的质量,有些地方还是需要人工的介入、需要人的思维判断才行,比如用户体验测试等。所以后来 Lisa 在金字塔的塔尖再补上了一片“云”,这片“云”就是人工探索式测试(Exploratory Test,简称 ET)