软件测试期末复习题库.docx
软件测试期末复习题库
一、选择题
1.软件测试的目的是()。
A.发现程序中的所有错误
B.尽可能多地发现程序中的错误
C.证明程序是正确的
D.调试程序
答案:B。软件测试的目的不是要找出所有错误,因为受时间、成本等因素限制,要发现所有错误是不现实的;也不是证明程序正确,测试只能证明程序存在错误而不能证明其没有错误;调试是在发现错误后进行的纠错过程,并非测试目的。所以软件测试是尽可能多地发现程序中的错误。
2.以下不属于黑盒测试方法的是()。
A.等价类划分
B.边界值分析
C.路径覆盖
D.因果图
答案:C。等价类划分、边界值分析和因果图都是黑盒测试方法,它们主要关注输入和输出,不考虑程序内部结构。而路径覆盖是白盒测试方法,它是对程序内部的控制结构进行测试,需要了解程序的代码逻辑。
3.单元测试主要针对的是()。
A.模块
B.系统
C.功能
D.界面
答案:A。单元测试是对软件中的最小可测试单元进行检查和验证,通常这个最小可测试单元就是模块。系统测试是针对整个系统进行的测试;功能测试侧重于验证软件的各项功能是否满足需求;界面测试主要关注软件的用户界面是否符合设计要求。
4.软件测试过程中,()阶段的测试主要是验证软件是否符合用户需求。
A.单元测试
B.集成测试
C.系统测试
D.验收测试
答案:D。验收测试是在软件产品完成了系统测试之后,在正式交付给用户之前所进行的测试,其目的是验证软件是否符合用户需求和业务流程,由用户或用户代表进行。单元测试主要测试模块的内部逻辑;集成测试主要测试模块之间的接口和交互;系统测试是将软件作为一个整体,测试其与系统中其他部分的兼容性和协同工作能力。
5.以下关于测试用例的说法,错误的是()。
A.测试用例应包括输入数据和预期输出
B.测试用例可以重复使用
C.测试用例越多越好
D.测试用例应具有代表性
答案:C。测试用例应包括输入数据和预期输出,这样才能明确测试的目标和判断测试结果是否正确;测试用例可以在不同的测试场景或版本中重复使用;测试用例应具有代表性,能够覆盖各种可能的情况。但并不是测试用例越多越好,过多的测试用例可能会增加测试成本和时间,而且可能存在大量冗余。
二、填空题
1.软件测试按照测试阶段可分为单元测试、集成测试、系统测试和______。
答案:验收测试。软件测试从开发过程的不同阶段来划分,依次是对模块进行的单元测试,对模块集成的集成测试,对整个系统的系统测试,最后是交付用户前的验收测试。
2.白盒测试的主要方法有逻辑覆盖、______和数据流测试等。
答案:基本路径测试。白盒测试需要了解程序内部结构,逻辑覆盖、基本路径测试和数据流测试都是常见的白盒测试方法,逻辑覆盖关注程序内部逻辑的覆盖情况,基本路径测试通过分析程序的控制流图来确定独立路径进行测试,数据流测试关注变量的值在程序中的流动情况。
3.等价类划分法将输入数据划分为有效等价类和______。
答案:无效等价类。等价类划分法是黑盒测试的一种,有效等价类是指符合需求规格说明的数据集合,无效等价类则是不符合需求规格说明的数据集合,通过对这两类等价类的测试可以发现软件在输入处理方面的问题。
4.软件缺陷的生命周期包括提交、______、修复、验证和关闭等阶段。
答案:分配。当发现软件缺陷后提交到缺陷管理系统,首先要进行分配,将缺陷分配给相关的开发人员进行处理,然后开发人员进行修复,修复后进行验证,确认缺陷已解决则关闭该缺陷。
5.测试计划的内容通常包括测试目标、______、测试进度安排、测试资源需求等。
答案:测试范围。测试计划是对整个测试工作的规划,测试目标明确了测试要达到的目的,测试范围规定了测试所涉及的软件功能、模块等,测试进度安排确定了测试的时间节点,测试资源需求说明了完成测试所需的人力、物力等资源。
三、判断题
1.软件测试人员的主要工作是发现软件中的错误,而不是修复错误。()
答案:正确。软件测试人员的核心职责是通过各种测试方法和技术来发现软件中的缺陷和错误,而修复错误是开发人员的工作。测试人员发现错误后将其记录并反馈给开发人员,由开发人员进行修改。
2.只要对软件进行了充分的测试,就可以保证软件没有任何错误。()
答案:错误。由于软件的复杂性、测试的时间和资源限制等因素,即使进行了充分的测试,也不能保证软件没有任何错误。测试只能发现部分错误,不能穷举所有可能的输入和情况。
3.黑盒测试不考虑程序内部结构,只关注输入和输出。()
答案:正确。黑盒测试将软件看作一个黑盒子,不关心其内部的代码实现和逻辑结构,只根据软件的需求规格说明书,检查软件的输入和输出是否符合预期,通过输入不同的数据来验证软件的功能。