[软件测试] 01 软件测试基础概念 习题
目录
软件测试期末复习系列
课件知识点整合:
PTA习题汇总:
提示:
篇幅较长,可以使用Ctrl+F
,在页面中快速查询关键词(或者你要找的题目)并跳转到指定的位置。
关键词:软件测试基础概念
判断题
-
由于功能性是软件最基本的质量特性,因此在用户未提出明确的非功能需求时,只需在进行完善的功能测试后,就可以向客户提出验收测试请求。
答案:错误
-
测试用例越多,测试效果越好。
答案:错误
-
软件测试的基本流程包括需求分析、设计测试方案、执行测试、测试评估、测试总结、测试维护。
答案:错误
解析:
软件测试的基本流程是:需求分析、制定测试计划、设计测试方案、执行测试、测试评估、测试总结、测试维护
-
通过早期测试,能够帮助开发团队以更少的成本解决问题。应当把“尽早和不断地测试”作为测试人员的座右铭。
答案:正确
-
在测试过程中,对已发现缺陷较多的模块可以不将其作为测试重点,应释放一部分测试资源去测试缺陷发现较少的模块。
答案:错误
-
自动化测试不是万能的。
答案:正确
-
软件发布后如果发现质量问题,那是软件测试人员的错。
答案:错误
单选题
-
如下关于测试用例的描述中错误的是(B)
A. 测试用例是一组精心设计的输入,目的是为了在最短时间内找到最多、最严重的缺陷
B. 测试结果就是测试用例的实际输出
C. 测试用例方便了测试人员与开发人员之间的沟通
D. 测试用例有利于缺陷的跟踪
-
下列关于软件测试的说法中正确的是(C)
A. 因为测试工作简单,所以其对软件产品质量影响不大
B. 通过软件测试,主要发现软件产品的功能问题
C. 软件测试是消除缺陷的有效手段
D. 经过严格测试过的软件没有缺陷
-
下列关于软件质量的描述中正确的是:B
A. 软件质量是指软件满足规定用户需求的能力
B. 软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性,可移植性
C. 软件质量保证过程就是软件测试过程
D. 以上描述都不对
-
下列关于黑盒测试与白盒测试技术的说法中错误的是(C)
A. 黑盒测试是依据对需求规格说明进行分析后导出测试用例,白盒测试是基于对内部结构或内部操作分析后导出测试用例
B. 测试员不需要了解被测系统的内部结构也可以执行黑盒测试
C. 成功对某模块执行白盒测试后,发现所有测试用例均运行成功,说明该模块已实现了预定的需求
D. 通过黑盒测试可以检测被测系统的每个功能是否都能正常使用。
白盒测试主要关注程序内部逻辑的正确性和代码覆盖率,并不能保证程序在任何情况下都能按照需求正常工作。
-
下列哪种模型强调了测试计划等工作的先行及对系统需求、设计的测试?B
A. V模型
B. W模型
C. 瀑布模型
D. 螺旋模型
-
下面对验收测试的描述中不正确的一项是(D)
A. 与系统测试不同的是以客户业务需求为标准来进行测试
B. 测试人员多由客户方担任,也可以由客户委托第三方来进行验收测试
C. 不仅仅要验收程序,还要验收相关的文档
D. 由企业自己的测试人员和开发人员进行测试
-
在软件测试中,下面说法中错误是(B)。
A. 测试时为了发现程序中的错误而执行程序的过程
B. 测试是为了表明程序是正确的
C. 好的测试方案是极可能发现至今为止尚未发现的错误的方案
D. 成功的测试是发现了至今为止尚未发现的错误的测试
-
为了提高软件测试的效率,应该(D)。
A. 随机地选取测试数据
B. 取一切可能的输入数据作为测试数据
C. 在完成编码以后制定软件的测试计划
D. 选择发现错误可能性最大的数据作为测试用例
-
软件测试以(B)为中心。
A. 缺陷
B. 需求
C. 测试用例
D. 流程
-
动态测试的内容不包括(D)。
A. 单元测试
B. 模块测试
C. 功能测试
D. 结构检查
-
与设计测试用例无关的文档是(A )。
A. 项目开发计划
B. 需求规格说明书
C. 设计说明书
D. 源程序
-
软件测试用例主要由输入数据和( C)两部分组成。
A. 测试计划
B. 测试规则
C. 预期输出结果
D. 以往测试记录分析
-
成功的测试是指运行测试用例后( B)。
A. 未发现程序错误
B. 发现了程序错误
C. 证明程序正确性
D. 改正了程序错误
-
软件测试是保证软件质量的重要措施,它的实施应该在(B )。
A. 程序编程阶段
B. 软件开发全过程
C. 软件需求阶段
D. 软件设计阶段
-
某软件公司在招聘软件测试工程师,应聘者作出如下保证:( D)。
① 经过自己测试的软件今后不会再出现问题;
② 在工作中对所有程序员一视同仁,不会因为某个程序员编写对程序中发现较多问题,就重点审查改程序,以免不利于团结;
③ 承诺不需要其他人员,自己就可以独立进行测试工作;
④ 发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休。A. ①④正确
B. ②③正确
C. 都正确
D. 都不正确
-
在进行软件测试时,首先应当进行( ),然后再进行集成测试,最后再进行系统测试。A
A. 单元测试
B. 集成测试
C. 确认测试
D. 验收测试
-
软件测试活动主要包括( C)。
A. 测试设计
B. 测试执行
C. 都是
D. 测试总结
-
下列软件属性中,软件产品首要满足的应该是(A)。
A. 功能需求
B. 性能需求
C. 可扩展性和灵活性
D. 容错纠错能力
-
下列哪个不是测试环境组成要素(B )。
A. 软硬件
B. 技术文档
C. 测试工具
D. 网络环境
-
软件生存周期过程中,修改错误成本最大的阶段是( D)。
A. 需求阶段
B. 设计阶段
C. 编程阶段
D. 运行及维护阶段
-
下面有关软件缺陷的说法中错误的是(C )。
A. 缺陷就是软件产品在开发中存在的错误
B. 缺陷就是软件维护过程中存在的错误、毛病等各种问题
C. 缺陷就是导致系统程序崩溃的错误
D. 缺陷就是系统所需要实现某种功能的失效和违背
-
根据软件需求规格说明书,在开发环境下对已经集成的软件系统进行的测试是(A )。
A. 系统测试
B. 单元测试
C. 集成测试
D. 验收测试
-
下列可以作为软件测试对象的是(D )。
A. 需求规格说明书
B. 软件设计规格说明
C. 源程序
D. 以上全部
-
软件测试工作应该开始于( B)。
A. 项目立项之后
B. 需求分析阶段
C. 概要设计阶段
D. 详细设计阶段
-
确认系统是否按照预期工作,从而在系统是否满足系统需求方面获取信心。这样的测试目的最可能适用下面的哪个测试阶段(C )。
A. 单元测试
B. 集成测试
C. 系统测试
D. 验收测试
-
回归测试的目的是(C )。
A. 验证修改的成功
B. 预防功能编写的不完善或疏漏
C. 确保修正过程中没有引入新的缺陷
D. 帮助程序员更好地进行单元测试
-
下关于测试原则的描述,正确的是( B)。
A. 所有的软件测试不需要追溯到用户需求;
B. 完全测试是不可能的;
C. 测试可以显示软件潜在的缺陷;
D. 程序员不需要避免检查自己的程序。
-
瀑布模型表达了一种系统的、顺序的软件开发方法。以下关于瀑布模型的叙述中,正确的是( D)。
A. 瀑布模型能够非常快速地开发大规模软件项目
B. 只有很大的开发团队才使用瀑布模型
C. 瀑布模型已不再适合于现今的软件开发环境
D. 瀑布模型适用于软件需求确定,开发过程能够釆用线性方式完成的项目
-
软件质量的定义是( D)。
A. 软件的功能性、可靠性、易用性、效率、可维护性、可移植性
B. 满足规定用户需求的能力
C. 最大限度达到用户满意
D. 软件特性的总和,以及满足规定和潜在用户需求的能力
-
对于软件的β测试,下列描述正确的是(D )。
A. β测试是在软件公司内部展开的测试,由公司专业的测试人员执行的测试
B. β测试是在软件公司内部展开的测试,由公司的非专业测试人员执行的测试
C. β测试是在软件公司外部展开的测试,由专业的测试人员执行的测试
D. β测试是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试
-
系统测试关注的是(D )。
A. 某个独立的功能是否实现
B. 组件间的接口的一致性
C. 某个单独的模块或类是否满足设计要求
D. 项目或产品范围中定义的整个系统或产品的行为
-
(B)强调的是测试要伴随整个软件开发周期。
A. V模型
B. W模型
C. H模型
D. X模型
-
(A)清楚地描述了测试各阶段和开发各阶段的对应关系。
A. V模型
B. W模型
C. H模型
D. X模型
-
(C)模型中, 软件测试过程活动完全独立, 贯穿于整个产品的周期, 与其他流程并发地进行, 某个测试点准备就绪时, 就可以从测试准备阶段进行到测试执行阶段。
A. V模型
B. W模型
C. H模型
D. X模型
-
测试人员在测试某一功能时,发现该功能在需求说明书里没有,他接下来正确的做法是( B)。
A. 在需求说明书中补充该功能
B. 汇报项目经理,让其查明原因
C. 找开发人员沟通,让其删除该功能
D. 找用户沟通,该功能是否需要
多选题
-
系统针对无效输入,有哪些可行的响应方法? ACD
A. 自动将无效输入转化为有效输入
B. 不予处理
C. 提示用户如何正确输入
D. 提示用户输入出错
-
下列选项中属于软件测试工作能够完成的任务有(ABD)
A. 检测软件产品中的缺陷
B. 验证软件需求是否正确
C. 证明软件产品没有缺陷
D. 改进软件开发的流程
-
下列选项中属于静态测试技术的有(BD)
A. 功能测试
B. 文档评审
C. 恢复测试
D. 代码复审
主观题
- 据IEEE1983,什么是软件测试?
答:IEEE1983 软件测试的标准定义:软件测试是使用人工和自动手段来运行或测试某个系统的过程,目的在于检验被测软件系统是否满足规定的需要,或是弄清楚预期结果与实际结果之间的差别。
-
IBM公司研究发现:
如需求分析阶段引入一个缺陷,在测试执行阶段前该缺陷修改成本为1,在编码阶段后该缺陷修改成本则为10,在维护阶段,修改成本则为100。在测试阶段前的每个阶段若进行静态测试,该阶段的缺陷消除率为50%,测试阶段的缺陷消除率为80%。缺陷消除率:指发现的缺陷数占总缺陷数的比例。
假设某项目开发过程中分别有需求、设计、编码、测试、维护 5个阶段(瀑布模型),其中在需求、设计、编码阶段各引入10个缺陷(共30个缺陷)。(1)计算并比较提前测试与编码后测试两种方案的缺陷修改成本。
(2)比较结果说明了什么?
答:(1)
(2)比较结果,提前测试方案中修改缺陷的成本仅为传统测试的35%。
- (1)什么是软件缺陷?
(2)从软件缺陷的五个方面(规则)举例说明软件缺陷的现象。(要求:计算器和百度搜索引擎的举例除外)
答:
(1)Ron Patton从五个方面给出软件缺陷的正式定义
只要符合下列五个规则中的一条,就叫作软件缺陷。
① 软件未达到需求规格说明书中指明的功能, 则是缺陷。
② 软件出现了需求规格说明书中指明不会出现的错误, 则是缺陷。 此条规则可视对软件系统容错性的要求。
③ 软件功能超出需求规格说明书中指明的范围,则是缺陷。
④ 软件未达到需求规格说明书中虽未指出但应达到的目标,则是缺陷。
⑤ 软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为软件使用效果不好,则是缺陷。
(2)举例题,答案不一,这里的作答是ChatGPT生成的
以手机软件为例:
① 未实现产品说明书要求的功能:如果一个手机应用程序在产品说明书中承诺了某种功能,比如实时通知服务,但用户发现这个功能从未生效,就属于这个方面的问题。
② 出现产品说明书指明不应该出现的错误:如果产品说明书中指明了该应用程序不会收集用户的位置信息,但实际上应用程序却在未经用户允许的情况下收集了位置信息,这就是这个方面的问题。
③ 实现了产品说明书未提到的功能:如果应用程序在产品说明书中没有提到的情况下,突然增加了一个新的功能,例如内置广告,而用户并没有被告知或者没有选择的权利,就属于这个方面的问题。
④ 未实现产品说明书虽未明确提及但应该实现的目标:如果产品说明书没有明确提到支持某些特定型号的手机,但实际上该应用程序应该兼容各种常见手机型号,但并没有做到,就属于这个方面的问题。
⑤ 难以理解、不易使用、运行缓慢或者用户体验不佳:如果应用程序的界面设计混乱,用户很难找到他们需要的功能,或者应用程序反应迟缓,导致用户体验非常差,就属于这个方面的问题。
-
(1)据ISO8402关于质量的定义 和 GB/T 11457-2006,分别回答什么是软件质量?
(2)据ISO/IEC9126质量模型,软件质量具有哪六大特性?
(3)自选一款软件系统,从软件质量六大特性简要谈谈如何测试该软件系统的质量。
答:
(1)
- 据ISO8402关于质量的定义,软件质量被定义为:反映软件满足明确或隐含需要能力的特性总和。
- GB/T 11457-2006《软件工程术语》软件质量是
- 软件产品中能满足给定需要的性质和特性的总体。
- 软件具有所期望的各种属性的组合程度。
- 顾客和用户觉得软件满足其综合期望的程度。
- 确定软件在使用中将满足顾客预期要求的程度。
(2)功能性,可靠性,可用性/易用性,效率,可维护性,可移植性
(3) 举例题,答案不一,下面的作答由ChatGPT生成
功能性:
- 确保软件的所有功能按照需求规格书或设计文档的要求正常工作。
- 执行功能性测试用例,验证软件的各个功能点,包括正常操作和边界条件。
可靠性:
- 测试软件在长时间运行或高负载情况下的稳定性,确保不会崩溃或出现不可预期的错误。
- 进行可靠性测试,模拟各种异常条件,如不正常的输入、网络中断等,检查系统的恢复能力。
易用性:
- 进行用户界面测试,确保界面设计直观、易懂,用户能够方便地完成操作。
- 进行用户体验测试,收集用户反馈,以确保软件的操作流程符合用户的预期。
效率:
- 测试软件的响应时间,确保在合理时间内响应用户的请求。
- 进行性能测试,模拟多用户、大数据量等情况,检查系统的性能表现。
维护性:
- 评估软件的代码质量,确保代码易于理解、修改和扩展。
- 进行代码静态分析、代码审查等活动,找出潜在的问题和改进点。
可移植性:
- 测试软件在不同操作系统、硬件平台或浏览器上的兼容性,确保软件能够在各种环境下正常运行。
- 进行跨平台测试,验证软件在不同系统上的移植性和兼容性。