测试设计思想
上QQ阅读APP看书,第一时间看更新

2.2 分层测试

解决复杂问题的一个基本方法,是把大问题分解为更容易解决的小问题。在明确被测对象的内部边界后,测试人员就有条件将复杂的测试工作分解到元素层面。必要时,内部边界也可以动态调整,将元素进一步划分为更细粒度的元素,相应的测试也可以进一步分解。这种将测试逐层分解的做法被称为分层测试,本质上体现的是系统思想中对系统多元性和层次性的关注。

前面已经讲解过,被测对象存在整体涌现性,正确的元素组成的系统不一定正确。但是从被测对象质量评估的角度来说,系统和元素的质量呈现出并不严格的正相关关系:元素的质量高,则系统的质量大概率较高;元素的质量低,则系统的质量大概率较低。这种现象的本质是,人类对于线性关系的把握要远远强于非线性关系,因此在研发生产实践中,更倾向于以线性方式构建产品。分层测试正是源于对这种现象的洞察。如果直接针对整体系统进行测试设计,需要考虑的缺陷种类有可能相当繁杂,测试选择的难度会很大;而如果首先针对元素进行测试设计,由于元素中可能存在的缺陷形式相对单一,测试选择就容易得多。在元素级测试完成后,很多缺陷已经被排除,系统级测试的测试选择问题也将得到有效缓解。

下面来看看分层测试在一些领域中的实践。