信息系统测试作业参考答案第3章软件测试技术一、单项选择题1.下面说法正确的是(C)。A.经过测试没有发现错误说明程序正确B.测试的目标是为了证明程序没有错误C.成功的测试是发现了迄今尚未发现的错误的测试D.成功的测试是没有发现错误的测试2.覆盖准则最强的是(D)。A.语句覆盖B.判定覆盖C.条件覆盖D.路径覆盖3.发现错误能力最弱的是(A)。A.语句覆盖B.判定覆盖C.条件覆盖D.路径覆盖4.实际的逻辑覆盖测试中,一般以(C)为主设计测试用例。A.条件覆盖B.判定覆盖C.条件组合覆盖D.路径覆盖5.下面(D)方法能够有效地检测输入条件的各种组合可能引起的错误。A.等价类划分B.边界值分析C.错误推测D.因果图6.超出软件工程范围的测试是(D)。A.单元测试B.集成测试C.确认测试D.系统测试7.软件测试不需要了解软件设计的(D)。A.功能B.内部结构C.处理过程D.条件8.(B)方法需要考察模块间的接口和各模块之间的联系。A.单元测试B.集成测试C.确认测试D.系统测试9.调试应该由(B)完成。A.与源程序无关的程序员B.编制该源程序的程序员C.不了解软件设计的机构D.设计该软件的机构10.召开审查会,在会中由小组成员阅读程序,以发现程序错误,同时测试员利用测试数据人工运行程序并得出输出结果,然后由参加者对结果进行审查,以达到测试的目的。这种测试方法是(C)。A.软件审查B.错误推测法C.人工走查D.代码审查二、填空题1.白盒测试是以仔细检查程序的细节为基础,通过提供一组指定条件和循环的___测试用例_,对软件中的__逻辑路径__进行测试,可以在不同的检查点检查程序的状态,以确定___实际运行状态与预期状态___是否一致。2.具体的白盒测试方法有程序控制流分析、数据流分析、逻辑覆盖、域测试、符号测试、路径分析、程序插装等。3.覆盖包括的常用覆盖方法有:语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、路径覆盖。4.白盒测试过程中使用静态分析技术主要目的为:程序逻辑和编码检查、一致性检查、接口分析、I/O规格说明分析、数据流、变量类型检查和模块分析。5.通常对源程序进行静态分析的方法为:生成引用表、程序错误分析和接口分析。6.动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存分析。7.面向对象测试包括:面向对象分析的测试、面向对象设计的测试、面向对象编程的测试、面向对象单元测试、面向对象集成测试、面向对象系统测试。三、简答题1.为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网?答:软件测试是软件开发中不可缺少的重要一环,原因是:测试的工作量约占整个项目开发工作量的40%左右,几乎一半。如果是关系到人的生命安全的软件,测试的工作量还要成倍增加。软件测试代表了需求分析、设计、编码的最终复审。软件测试不是软件质量保证的安全网,因为软件测试只能发现错误,不能保证没有错误。2.简述代码审查与人工走查的区别与联系。答:代码审查以通过召开代码审查会的方式进行。代码审查小组通常由四人组成,其中有一个是组织者,一般是由能力较强的程序员担任,但他不能是被审查程序的作者。组织者负责为代码审查会分发材料,安排并主持会议,记录所有已查出的错误,并且保证这些错误随之得以改正。小组的其余成员通常是被审查程序的设计者或程序员。另外,审查小组还需要一个测试领域的专家;人工走查与代码审查一样,采用召开审查会的方式,在会中由小组成员阅读程序,以发现程序错误。人工走查与代码审查的不同之处在于,在人工走查会上除了阅读程序外,还需要由测试员利用测试数据人工运行程序并得出输出结果,然后由参加者对结果进行审查,以达到测试的目的。3.简述使用边界值分析法选择测试用例时应该遵循的原则。答:使用边界值分析法选择测试用例时,应遵循以下几条原则:(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据。(2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最大个数多1,比最小个数少1的数作为测试数据。根据规格说明和每个输出条件,使用前面的原则(1)。(3...