软件测试(原书中文第二版)---通过维恩图理解测试
测试基本上关心的是行为视图,而开发人员关心的是结构视图。结构视图关注的是它是什么,而行为视图关注的是它做什么。测试人员的难点之一,就是基本文档通常都是由开发人员编写,并且是针对开发人员的。因此这些文档强调的是结构信息,而不是行为信息。 假设集合【S】代表描述的行为,集合【P】代表程序实现的行为。只在集合【S】中的,为遗漏缺陷,只在集合【P】中的,为过错缺陷。既属于集合【S】,又属于集合【P】的,为“正确”部分(“正确性”只有在一个规格说明和一种实现背景下才有意义,正确性是一种相对术语,不是绝对术语)。
新增的集合【T】为测试用例。没有测试到的程序行为(区域2和区域6),经过测试的程序行为(区域1和区域3),未通过程序实现的程序行为(区域4和区域7)
没有测试的程序行为(区域2和区域6),经过测试的程序行为(区域1和区域3),以及对应于未通过程序实现的行为(区域4和区域7)。 如果测试用例没有对应的已描述行为,则测试一定是不完备的。如果特定测试用例对应未描述行为,则有两种可能:要么这个测试用例是不正当的,要么规格说明是不充分的。这就是要请有优秀测试人员参加规格说明和设计评审的一个很好的理由。