结构性测试
结构性测试是另一种用于表示测试用例的基本方法。为了与功能性测试形成对比,结构性测试有时叫做白盒(或甚至叫做透明盒)测试,透明盒的比喻可能更恰当,因为根本差别在于(黑盒的)实现是已知的,并被用来标识测试用例。“看到黑盒内部”的能力,使测试人员能够根据功能实际实现的方式来标识测试用例。
结构性测试一直是一些相当强的理论的主题。为了真正理解结构性测试,熟悉线性图论的概念是很关键的。通过这些感念,测试人员可以严格描述要测试的确切内容。由于具有很强的理论基础,结构性测试本身有引出测试覆盖指标的定义和使用,测试覆盖指标提供明确描述软件测试范围的方法,而这又使测试管理变得更有意义。
由两个结构性方法标识的测试用例结果,方法A也标识了比方法B更大的测试用例集合,更大的测试用例集合就一定更好吗?这是一个很好的问题,而结构性测试提供了得到答案的主要方法,请注意,对两种方法,测试用例集合都完全局限于已编程实现的行为集合中。由于结构性方法依靠的是程序,因此很难想像这些方法能够标识没有编程实现的行为。但是,不难想像结构性测试用例集合相对编程实现行为全集更小。