测试用例是测试工作的核心。测试工作是讲究投入产出比的工作,这也是测试用例设计的指导思想。
测试用例有度的概念,正如亚里士多德在《伦理学》中讨论道德为例:道德意味着过与不及之间的状态。面向测试用例,网上流传着这么一句话:“不同的机构会有不同的测试目的;相同的机构也可能有不同测试目的,可能是测试不同区域或是对同一区域的不同层次的测试”
下面就列举测试用例设计的方方面面,看不同的团队,不同的测试目的,如何把握测试用例设计之度。
颗粒度:
颗粒度的粗细,有无标准?什么是粗?什么是细?
1、以功能点划分?
仅仅覆盖所有的功能性需求为粗?
仅仅正向覆盖所有的功能需求(功能、性能)为粗?
正向/负向覆盖所有的功能需求(功能、性能)以及正向覆盖性能需求为粗?
正向/负向覆盖所有的需求为细?覆盖到产品包,涵盖兼容性、升级、安装、易用性为细?
2、以STEP划分?
每条用例有一个STEP为粗,三?五?十为细?以上为细?
以测试设计思路的体现?
只采用正向为粗?只采用正/负向为粗?考虑应用场景为细?考虑业务逻辑为细?
3、以数量级?
百条?千条?万条?
4、以数据覆盖?
等价类是粗?穷举是细?
每个人、每个机构判定测试用例粗细的标准都不一样,没有标准的答案。所以测试用例颗粒度的粗细,本身就是一个相对而言的标准。
尝试用图示来表示颗粒度粗细的常规概念: