测试用例设计技术和方法,其目的是为了解决测试分析与设计过程中碰到的问题,纯粹的理论只是应用技术和方法的基础,但不是目的。测试用例分析与设计过程,需要我们不断的应用结构化思维、发散性思维和可视化思维,以构建系统化的测试分析与设计框架。
我将我写的《软件测试设计》书中的一些测试用例技术与方法的思维导图分享给大家,希望对大家有所帮助。测试用例分析与设计过程中,大家需要注意的是:
1、解决问题是目的,技术与方法是帮助解决问题的基础,但不要本末倒置;
2、通过分析与设计得到测试用例的过程,必须要在其中构建测试模型,其中的主要输入来自被测对象的领域知识和题主所说的测试技术与方法;
3、每个测试用例分析与设计的方法,其在过程中能解决的问题是不同的,或者其作用是不同的。实践过程中,绝对不是技术的堆积,而是应用。例如:
•基于质量属性构建质量模型、功能交互模型、用户场景模型,其主要目的是尽量多的识别测试点;
•基于规格说明的技术,其主要目的是对上面得到的测试点进行细化,选择测试输入和测试输入的组合;
•基于风险的测试技术,主要目的是选择测试重点,在有限时间内平衡测试质量、范围、时间和成本的限制关系;
测试用例的分析与设计,与后续的测试执行是不断反馈和改进的过程,因此测试执行过程中,除了前期设计的测试用例开展之外,还需要不断的进行探索性测试,以平衡结构化和发散性思维的不断集成。
随着测试经验和技能的不断提升,现在回头看写过的《软件测试设计》,还是存在不少不成熟的思考。对我自身而言,这几年的不断学习和实践,在测试用例分析与设计的实践和解决问题能力方面,也在不断有新的收获。这也体现了我们测试过程中的“持续改进”!
图1 测试用例分析与设计的框架
图2 基于质量属性的测试设计
图3 功能交互与用户场景
图4 经典测试分析与设计技术框架
图5 测试重点选择与测试执行敏捷化