软件测试模拟题及答案.docx
《软件测试模拟题及答案.docx》由会员分享,可在线阅读,更多相关《软件测试模拟题及答案.docx(21页珍藏版)》请在冰豆网上搜索。
软件测试模拟题及答案
一、选择题
1、下列软件属性中,软件产品首要满足的应该是【A】
A.功能需求B.性能需求C.可扩展性和灵活性D.容错纠错能力
2、软件缺陷产生的原因是【D】。
A.交流不充分及沟通不畅;软件需求的变更;软件开发工具的缺陷
B.软件的复杂性;软件项目的时间压力
C.程序开发人员的错误;软件项目文档的缺乏
D.以上都是
3、导致软件缺陷的最大原因是【A】
A.规格说明书B.设计C.编码D.测试
4、修复软件缺陷费用最高的是【D】阶段
A.编制说明书B.设计C.编写代码D.发布
5、下列【A】不属于软件缺陷。
A.测试人员主观认为不合理的地方B.软件未达到产品说明书标明的功能
C.软件出现了产品说明书指明不会出现的错误D.软件功能超出产品说明书指明范围
6、软件测试的目的是【B】
A.避免软件开发中出现的错误B.发现软件开发中出现的错误
C.尽可能发现并排除软件中潜藏的错误,提高软件的可靠性
D.修改软件中出现的错误
7、软件测试技术可以分为静态测试和动态测试,下列说法中错误的是【D】。
A.静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。
B.动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。
C.动态测试包括黑盒测试和白盒测试。
D.白盒测试是静态测试,黑盒测试是动态测试。
8、白盒测试是根据程序的【C】来设计测试用例。
A.功能B.性能C.内部逻辑D.内部数据
9、黑盒测试是根据软件的【B】来设计测试用例。
A.功能B.规格说明C.内部逻辑D.内部数据
10、用黑盒技术设计测试用例的方法之一为【A】
A.因果图B.逻辑覆盖C.循环覆盖D.基本路径测试
11、坚持在软件的各个阶段实施下列哪种质量保障措施,才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期【A】。
A.技术评审B.程序测试C.改正程序错误D.管理评审
12、为了提高测试的效率,正确的做法是【A】。
A.选择发现错误可能性大的数据作为测试用例
B.在完成程序的编码之后再制定软件的测试计划
C.随机选取测试用例D.使用测试用例测试是为了检查程序是否做了应该做的事
13、对程序的测试最好由【B】来做。
A.程序员B.第三方测试机构C.程序开发组D.用户
14、在边界值分析中,下列数据通常不用来做数据测试的是【B】。
A.正好等于边界的值B.等价类中的等价值C.刚刚大于边界的值D.刚刚小于边界的值
15、单元测试中设计测试用例的依据是【D】。
A.概要设计规格说明书B.用户需求规格说明书
C.项目计划说明书D.详细设计规格说明书
16、如果一个判定中的复合条件表达式为(A>1)or(B<=3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例【B】。
A.1B.2C.3D.4
17、在某大学学籍管理信息系统中,假设学生年龄的输入范围为16—40,则根据黑盒测试中的等价类划分技术,下面划分正确的是【B】。
A.可划分为2个有效等价类,2个无效等价类
B.可划分为1个有效等价类,2个无效等价类
C.可划分为2个有效等价类,1个无效等价类
D.可划分为1个有效等价类,1个无效等价类
18、下面有关测试原则的说法正确的是【A】。
A.测试用例应由测试的输入数据和预期的输出结果组成
B.测试用例只需选取合理的输入数据
C.程序最好由编写该程序的程序员自己来测试
D.使用测试用例进行测试是为了检查程序是否做了它该做的事
19、下列关于测试方法的叙述中不正确的是【C】。
A.从某种角度上讲,白盒测试与黑盒测试都属于动态测试B.功能测试属于黑盒测试
C.对功能的测试通常是要考虑程序的内部结构D.结构测试属于白盒测试
20、下列方法中,不属于黑盒测试的是【A】。
A.基本路径测试法B.等价类测试法C.边界值分析法D.基于场景的测试方法
21、不属于白盒测试的技术是【C】。
A.语句覆盖B.判定覆盖C.边界值分析D.基本路径测试
22、测试程序时,不可能遍历所有可能的输入数据,而只能是选择一个子集进行测试,那么最好的选择方法是【B】。
A.随机选择B.划分等价类C.根据接口进行选择D.根据数据大小进行选择
23、下列可以作为软件测试对象的是【D】。
A.需求规格说明书B.软件设计规格说明C.源程序D.以上全部
24、在软件测试阶段,测试步骤按次序可以划分为以下几步:
【A】
A.单元测试、集成测试、系统测试、验收测试
B.验收测试、单元测试、系统测试、集成测试
C.单元测试、集成测试、验收测试、系统测试
D.系统测试、单元测试、集成测试、验收测试
25、单元测试时,调用被测模块的是【C】。
A.桩模块B.通信模块C.驱动模块D.代理模块
26、不属于单元测试内容的是【D】。
A.模块接口测试B.局部数据结构测试C.独立路径测试D.用户界面测试
27、软件测试过程中的集成测试主要是为了发现【B】阶段的错误。
A.需求分析B.概要设计C.详细设计D.编码
28、下列关于Web应用软件测试的说法中,正确的是【A】。
A.Cookie测试是Web应用软件功能测试的重要内容
B.对于没有使用数据库的Web应用软件,不需要进行性能测试
C.链接测试是Web应用软件易用性测试的重要内容
D.Web应用软件安全性测试仅关注Web应用软件是能够防御网络攻击
29、下列指导选择和使用测试覆盖率的原则中错误的是【D】。
A.覆盖率不是目的,仅是一种手段B.不要追求绝对100%的覆盖率
C.不可能针对所有的覆盖率指标来选择测试用例
D.只根据测试覆盖率指标来指导测试用例的设计
30、测试设计员的职责有:
【C】
制定测试计划
设计测试用例
设计测试过程、脚本
评估测试活动
A.
和
B.
、
和
C.
和
D.
、
、
和
31、测试文档种类包括【D】。
A.需求类文档、计划类文档B.设计类文档、执行类文档
C.缺陷记录类、阶段汇总类测试总结类D.以上都有
32、以下关于软件回归测试的说法中错误的是【C】。
A.软件变更后,应对软件变更部分的正确性和对变更需求的符合性进行测试
B.软件变更后,首先应对变更的软件单元进行测试,然后再进行其他相关的测试
C.软件变更后,不必再对软件原有正确的功能、性能和其他规定的要求进行测试
D.对具体的软件,可以根据软件测试合同及软件的重要性、完整性级别对回归测试内容进行剪裁
33、以下说法中错误的是【C】
A.软件配置项测试的目的是检验软件配置与软件需求规格说明的一致性
B.软件配置项测试一般由软件供方组织,由独立于软件开发的人员实施,软件开发人员配合
C.软件配置项测试不得委托第三方实施
D.软件配置项测试要求被测软件配置项已通过单元测试和集成测试
34、下面说法正确的是【C】。
A.经过测试没有发现错误说明程序正确
B.测试的目标是为了证明程序没有错误
C.成功的测试是发现了迄今尚未发现的错误的测试
D.成功的测试是没有发现错误的测试
35、以下哪种软件测试属于软件性能测试的范畴【B】。
A.接口测试B.压力测试C.单元测试D.易用性测试
36、软件测试管理包括测试过程管理、配置管理以及【A】
A.测试评审管理B.测试用例管理C.测试计划管理D.测试实施管理
37、在用白盒测试中的逻辑覆盖法设计测试用例时,在下列覆盖中,【D】是最强的覆盖准则。
A.语句覆盖B.条件覆盖C.判定-条件覆盖D.路径覆盖
38、下列关于Web应用软件测试的说法中,正确的是【A】。
A.Cookie测试是Web应用软件功能测试的重要内容
B.对于没有使用数据库的Web应用软件,不需要进行性能测试
C.链接测试是Web应用软件易用性测试的重要内容
D.Web应用软件安全性测试仅关注Web应用软件是能够防御网络攻击
39、【A】的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。
A.系统测试B.集成测试C.单元测试D.功能测试
40、如果一个产品中次严重的缺陷基本完成修正并通过复测,这个阶段的成品是【B】。
A.Alpha版B.Beta版C.正版D.以上都不是
41、自底向上法需要写【A】。
A.驱动程序B.桩程序C.驱动程序和桩程序D.以上都不是
42、必须要求用户参与的测试阶段是【D】。
A.单元测试B.集成测试C.确认测试D.验收测试
43、对Web网站进行的测试中,属于功能测试的是【B】
A.连接速度测试B.链接测试C.平台测试D.安全性测试
44、【D】不是软件自动化测试的优点。
A.速度快、效率高B.准确度和精确度高
C.能提高测试的质量D.能充分测试软件
45、配置测试是指【C】。
A.检查软件之间是否正确交互和共享信息B.交互适应性、实用性和有效性的集中体现
C.使用各种硬件来测试软件操作的过程D.检查缺陷是否有效改正
46、下列不属于测试原则的是【D】。
A.软件测试是有风险的行为B.完全测试程序是不可能的
C.测试无法显示潜伏的软件缺陷D.找到的缺陷越多软件的缺陷就越少
47、条件覆盖的目的是【A】
A.使每个判定的所有可能的条件取值组合至少执行一次
B.使程序中的每个判定至少都获得一次“真”值和“假”值。
C.使程序中的每个判定中每个条件的可能值至少满足一次。
D.使程序中的每个可执行语句至少执行一次。
48、下列各项中【B】不是一个测试计划所应包含的内容。
A.测试资源、进度安排B.测试预期输出C.测试范围D.测试策略
49、下列不属于正式审查的方式是【D】。
A.同事审查B.公开陈述C.检验D.编码标准和规范
50、调试是【D】。
A.发现与预先定义的规格和标准不符合的问题B.发现软件错误征兆的过程
C.有计划的、可重复的过程D.消除软件错误的过程
51、下列描述错误的是【A】。
A.软件发布后如果发现质量问题,那是软件测试人员的错
B.穷尽测试实际上在一般情况下是不可行的
C.软件测试自动化不是万能的
D.测试能由非开发人员进行,调试必须由开发人员进行。
52、如下图所示的N-S图,至少需要【B】个测试用例完成逻辑覆盖。
A.15
B.16
C.17
D.18
53、在软件修改之后,再次运行以前为发现错误而执行程序曾用过的测试用例,这种测试称之为【C】。
A.单元测试B.集成测试C.回归测试D.验收测试
54、集成测试计划应该在【B】阶段末提交。
A.需求分析B.概要设计C.详细设计D.单元测试完成
55、在下面所列举中的逻辑测试覆盖中,测试覆盖最强的是【B】。
A.条件覆盖B.条件组合覆盖C.语句覆盖D.判定覆盖
56、在下面所列举中的逻辑测试覆盖中,测试覆盖最弱的是【C】。
A.条件覆盖B.条件组合覆盖C.语句覆盖D.判定覆盖
57、增量式集成测试有3种方式:
自顶向下增量测试方法、【B】和混合增量测试方式。
A.自中向下增量测试方法B.自底向上增量测试方法
C.多次性测试D.维护
58、创建一个基于Junit的单元测试类,该类必须扩展于【C】。
A.TestSuiteB.AssertC.TestCaseD.JFCTestCase
59、TestCase是junit.framework中的一个【D】。
A.方法B.接口C.类D.抽象类
60、TestSuite是JUNIT中用来【A】。
A.集成多个测试用例B.做系统测试用的
C.做自动化测试用的D.方法断言
61、LoadRunner是【A】。
A.工业标准级负载测试工具B.一款下载软件
C.单元测试框架D.集成开发工具
二、判断题
1、软件测试是有效的排除软件缺陷的手段。
对
2、测试是为了验证软件已正确地实现了用户的要求。
错
3、软件测试的目的是尽可能多的找出软件的缺陷。
对
4、白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
对
5、白盒测试不仅与程序内部结构有关,还要考虑程序的功能要求。
错
6、黑盒测试的测试用例是根据应用程序的功能需求设计的。
对
7、在软件开发过程中,若能推迟暴露其中的错误,则为修复和改进错误所花费的代价就会降低。
错
8、单元测试通常由开发人员进行。
对
9、压力测试不需要辅助工具的支持。
错
10、在设计测试用例时,应包括合理的输入条件和不合理的输入条件。
对
11、程序员与测试工作无关。
错
12、产品说明书(需求文档)的变更应当受到控制。
对
13、白盒测试的“条件覆盖”标准强于“判定覆盖”。
错
14、软件开发全过程的测试工作都可以实现自动化。
错
15、找出的软件缺陷越多,说明剩下的软件缺陷越少。
错
16、验收测试是以最终用户为主的测试。
对
17、自底向上集成需要测试员编写驱动程序。
对
18、软件测试工具可以代替软件测试员。
错
19、Beta测试是验收测试的一种。
对
20、代码评审员一般由测试员担任。
错
21、一个程序中所含有的路径数与程序的复杂程度有着直接的关系。
对
22、软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。
错
23、测试是可以穷尽的。
错
24、每一个软件项目都有一个最优的测试量。
对
25、代码审查工作属于静态测试。
对
26、回归测试是在软件修改后再次运行以前为查找错误而执行程序曾用过的测试用例。
对
27、集成测试是为确定软件系统是否满足验收标准以及使客户决定是否接受而进行的正式测试。
错
28、只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。
错
29、软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。
对
30、软件质量保证和软件测试是同一层次的概念。
错
31、软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。
对
32、在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试方法。
对
33、测试用例的数目越多,测试的效果越好。
错
34、验收测试是以最终用户为主的测试。
对
35、测试是调试的一个部分。
错
36、程序中隐藏错误的概率与其已发现的错误数成正比。
对
37、代码评审是检查源代码是否达到模块设计的要求。
对
三、填空
1、测试用例是由__测试输入数据__和预期的__输出结果___两部分组成。
2、软件是包括__程序__﹑_数据___和__相关文档_的完整集合。
3、单元测试是以__详细设计_说明书为指导,测试源程序代码。
4、单元测试的主要内容有模块接口测试、局部数据结构测试、独立路径测试、错误处理测试和边界条件测试。
5、集成测试以_概要设计_说明书指导,测试软件结构。
6、把模块组装成为系统的测试方式有一次性集成测试方式和增值式集成测试方式。
7、确认测试以_需求分析_说明书为指导。
8、在等价类划分法中,等价类分为有效等价类和无效等价类。
9、决策表通常由条件桩、条件项、动作桩、动作项四部分组成
10、白盒测试的主要方法有逻辑覆盖、基本路径测试等
11、软件测试阶段的输入信息包括软件配置和测试配置。
12、验收测试的常用策略有三种,它们分别是正式验收测试、α测试、β测试。
13、软件测试环境包括设计环境、实施环境和管理环境三部分。
14、测试用例要依据测试计划、需求分析以及测试设计编写。
15、测试过程实施所必备的核心文档是测试计划、测试用例和软件测试报告。
16、面向对象软件的测试包括面向对象分析的测试(OOATest)、面向对象设计的测试(OODTest)、面向对象编程的测试(OOPTest)、面向对象单元测试(OOUnitTest)、面向对象集成测试(OOIntegrateTest)和面向对象系统测试(OOSystemTest)。
17、CMM的五个等级分别是初始级、可重复级、已定义级、已管理级和优化级。
四、名词解释
单元测试(UnitTesting):
是对软件基本组成单元进行的测试。
单元测试的对象是软件设计的最小单位——模块。
针对每个单元的测试,它确保每个模块能正常工作,主要采用白盒测试方法,用以发现内部错误。
集成测试:
对已测试过的模块进行组装后的测试,主要检验与软件设计相关的程序结构问题。
是介于单元测试和系统测试之间的过渡阶段,与软件开发计划中的软件概要设计阶段相对应,是单元测试的扩展和延伸。
白盒测试:
基于产品的内部结构来进行测试,又称为结构测试,逻辑驱动测试或基于程序的测试。
主要检查内部操作是否按规定执行,软件各个部分功能是否得到充分利用,即根据被测程序的内部结构设计测试用例,测试者需要预先了解被测试程序的结构。
β测试:
是指软件开发公司组织各方面的典型用户在日常工作中使用β版本,并要求用户报告异常情况、提出批评意见,然后软件开发公司再对β版本进行改错和完善(包括功能、性能、可靠性、易用性、可扩充性、兼容性、
α测试:
α测试是用户在开发环境下的测试,或者是软件开发公司组织内部人员模拟各类用户对即将面市软件产品(称为α版本)进行的测试,由开发人员或测试人员进行的测试。
测试用例:
测试用例(TestCase)是为了高效率地发现软件缺陷而精心设计的少量测试数据。
测试用例通俗一点来讲就是编写(编制)一组前提条件、输入、执行条件、预期结果以完成对某个特定需求或目标测试的数据,体现测试方案、方法、技术和策略的文档。
测试文档;软件测试文档(SoftwareTestDocumentation)记录和描述了整个测试流程,它是整个测试活动中非常重要的文件,为测试项目的组织、规划和管理提供了架构。
自动化测试:
软件自动化测试就是使用自动化测试工具或手段,按照测试工程师的预定计划进行自动的测试,来验证各种软件测试的需求,包括测试活动的管理与实施。
使用自动化测试可以:
减轻手工测试的工作量;改进所有的测试领域;支持所有的测试阶段
因果图法:
因果图是一种描述输入条件的组合及每种组合对应的输出的图形化工具。
可在因果图的基础上设计测试用例。
它适合于检查程序输入条件的各种情况的组合。
驱动模块:
用来代替被测单元的上层模块,相当于被测模块的主程序。
它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。
桩模块:
又称为存根模块,代替被测模块调用的子模块。
桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么事情也不做。
性能测试:
性能测试用来测试软件在系统运行时的性能表现,设计测试用例,并记录软件运行性能,度量系统与预定义目标的差距。
回归测试:
这种方式采取自顶向下的方式测试被修改的模块及其子模块,然后将这一部分视为子系统,再自底向上测试,以检查该子系统与其上级模块的接口是否适配。
类测试:
类内方法间的交互和其对象的各个状态,它由与验证类的实现是否和该类的说明完全一致的相关联的活动组成。
软件缺陷:
即计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵。
缺陷会导致软件产品在某种程度上不能满足用户的需要。
软件测试:
软件的质量就是软件的生命,为了保证软件的质量,人们在长期的开发过程中积累了许多经验并形成了许多行之有效的方法。
但是借助这些方法,我们只能尽量减少软件中的错误和不足,却不能完全避免所有的错误。
软件测试是保证软件质量,提高软件可靠性的关键。
静态测试:
通过对被测程序的静态审查,发现代码中潜在的错误。
一般用人工方式脱机完成,故亦称人工测试或代码评审(CodeReview);也可借助于静态分析器在机器上以自动方式进行检查,但不要求程序本身在机器上运行。
动态测试:
使用和运行被测软件,通常意义上的测试。
动态测试的对象必须是能够由计算机真正运行的被测试的程序,它包含黑盒测试和白盒测试。
黑盒测试:
从用户角度出发的测试,又称为功能测试、数据驱动测试和基于规格说明的测试。
把被测试程序当作一个黑盒,忽略程序内部的结构的特性,测试者在只知道该程序输入和输出之间的关系或程序功能的情况下,依靠能够反映这一关系和程序功能需求规格的说明书,来确定测试用例和推断测试结果的正确性。
软件质量保证(SQA)是建立一套有计划、有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。
即为了确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。
SQA主要进行协调、审查、促进和跟踪等活动,获取有用信息,形成分析结果以指导软件过程。
美国卡内基梅隆大学软件工程研究所在美国国防部资助下于20世纪80年代末建立的能力成熟度模型(capabilitymaturitymodel,CMM)。
这是一套专门针对软件产品的质量管理和质量保证标准,并在美国,随后在全世界推广实施的一种软件评估标准。
CMM帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。
决策表法:
决策表是分析和表达过个逻辑条件下执行不同操作情况的工具。
五、简答
1、简述软件测试的生命周期及各阶段的内容。
软件生命周期分为6个阶段:
需求阶段、功能设计阶段、详细设计阶段、编码阶段、软件测试阶段、以及运行/维护阶段。
(1)需求阶段————测试任务:
●制定验证和确认测试计划。
●对需求进行分析和审核。
●分析并设计基于需求的测试,构成对应的需求覆盖或追踪矩阵。
(2)功能设计阶段————测试任务:
●功能设计验证和确认测试计划
●分析和审核功能设计规格说明
●可用性测试设计
●分析并设计基于功能的测试,构造对应的功能覆盖矩阵。
●实施基于需求和基于功能的测试
(3)详细设计阶段————测试任务
●详细设计验收测试计划。
●分析和审核详细设计规格设计说明说。
(4)编码阶段————测试任务
●代码验收测试计划
●分析代码
●验证代码
●设计基于外部的测试。
●设计基于内部的测试。
(5)测试阶段————测试任务
●制定测试计划
●审查由开发部门进行的单元和集成测试
●进行功能测试
●进行系统测试
●审查用户手册。
(6)运行维护阶段————测试任务
●监视验收测试
●为确认的问题开发新的测试报告用例
●对测试的有效性进行评估。
2、简述软件测试的目的
软件测试的目的包括以下三点:
(1)测试是程序的执行过程,目的在于发现错误,不能证明程序的正确性,仅限于处理有限种的情况。
(2)检查系统是否