[软件测试] 01 软件测试基础概念 习题

发布时间 2023-12-30 11:31:08作者: feixianxing

提示
篇幅较长,可以使用Ctrl+F,在页面中快速查询关键词(或者你要找的题目)并跳转到指定的位置。

关键词:软件测试基础概念

判断题

  1. 由于功能性是软件最基本的质量特性,因此在用户未提出明确的非功能需求时,只需在进行完善的功能测试后,就可以向客户提出验收测试请求。

    答案:错误

  2. 测试用例越多,测试效果越好。

    答案:错误

  3. 软件测试的基本流程包括需求分析、设计测试方案、执行测试、测试评估、测试总结、测试维护。

    答案:错误

    解析

    软件测试的基本流程是:需求分析、制定测试计划、设计测试方案、执行测试、测试评估、测试总结、测试维护

  4. 通过早期测试,能够帮助开发团队以更少的成本解决问题。应当把“尽早和不断地测试”作为测试人员的座右铭。

    答案:正确

  5. 在测试过程中,对已发现缺陷较多的模块可以不将其作为测试重点,应释放一部分测试资源去测试缺陷发现较少的模块。

    答案:错误

  6. 自动化测试不是万能的。

    答案:正确

  7. 软件发布后如果发现质量问题,那是软件测试人员的错。

    答案:错误

单选题

  1. 如下关于测试用例的描述中错误的是(B)

    A. 测试用例是一组精心设计的输入,目的是为了在最短时间内找到最多、最严重的缺陷

    B. 测试结果就是测试用例的实际输出

    C. 测试用例方便了测试人员与开发人员之间的沟通

    D. 测试用例有利于缺陷的跟踪

  2. 下列关于软件测试的说法中正确的是(C)

    A. 因为测试工作简单,所以其对软件产品质量影响不大

    B. 通过软件测试,主要发现软件产品的功能问题

    C. 软件测试是消除缺陷的有效手段

    D. 经过严格测试过的软件没有缺陷

  3. 下列关于软件质量的描述中正确的是:B

    A. 软件质量是指软件满足规定用户需求的能力

    B. 软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性,可移植性

    C. 软件质量保证过程就是软件测试过程

    D. 以上描述都不对

  4. 下列关于黑盒测试与白盒测试技术的说法中错误的是(C)

    A. 黑盒测试是依据对需求规格说明进行分析后导出测试用例,白盒测试是基于对内部结构或内部操作分析后导出测试用例

    B. 测试员不需要了解被测系统的内部结构也可以执行黑盒测试

    C. 成功对某模块执行白盒测试后,发现所有测试用例均运行成功,说明该模块已实现了预定的需求

    D. 通过黑盒测试可以检测被测系统的每个功能是否都能正常使用。

    白盒测试主要关注程序内部逻辑的正确性和代码覆盖率,并不能保证程序在任何情况下都能按照需求正常工作。

  5. 下列哪种模型强调了测试计划等工作的先行及对系统需求、设计的测试?B

    A. V模型

    B. W模型

    C. 瀑布模型

    D. 螺旋模型

  6. 下面对验收测试的描述中不正确的一项是(D)

    A. 与系统测试不同的是以客户业务需求为标准来进行测试

    B. 测试人员多由客户方担任,也可以由客户委托第三方来进行验收测试

    C. 不仅仅要验收程序,还要验收相关的文档

    D. 由企业自己的测试人员和开发人员进行测试

  7. 在软件测试中,下面说法中错误是(B)。

    A. 测试时为了发现程序中的错误而执行程序的过程

    B. 测试是为了表明程序是正确的

    C. 好的测试方案是极可能发现至今为止尚未发现的错误的方案

    D. 成功的测试是发现了至今为止尚未发现的错误的测试

  8. 为了提高软件测试的效率,应该(D)。

    A. 随机地选取测试数据

    B. 取一切可能的输入数据作为测试数据

    C. 在完成编码以后制定软件的测试计划

    D. 选择发现错误可能性最大的数据作为测试用例

  9. 软件测试以(B)为中心。

    A. 缺陷

    B. 需求

    C. 测试用例

    D. 流程

  10. 动态测试的内容不包括(D)。

    A. 单元测试

    B. 模块测试

    C. 功能测试

    D. 结构检查

  11. 与设计测试用例无关的文档是(A )。

    A. 项目开发计划

    B. 需求规格说明书

    C. 设计说明书

    D. 源程序

  12. 软件测试用例主要由输入数据和( C)两部分组成。

    A. 测试计划

    B. 测试规则

    C. 预期输出结果

    D. 以往测试记录分析

  13. 成功的测试是指运行测试用例后( B)。

    A. 未发现程序错误

    B. 发现了程序错误

    C. 证明程序正确性

    D. 改正了程序错误

  14. 软件测试是保证软件质量的重要措施,它的实施应该在(B )。

    A. 程序编程阶段

    B. 软件开发全过程

    C. 软件需求阶段

    D. 软件设计阶段

  15. 某软件公司在招聘软件测试工程师,应聘者作出如下保证:( D)。
    ① 经过自己测试的软件今后不会再出现问题;
    ② 在工作中对所有程序员一视同仁,不会因为某个程序员编写对程序中发现较多问题,就重点审查改程序,以免不利于团结;
    ③ 承诺不需要其他人员,自己就可以独立进行测试工作;
    ④ 发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休。

    A. ①④正确

    B. ②③正确

    C. 都正确

    D. 都不正确

  16. 在进行软件测试时,首先应当进行( ),然后再进行集成测试,最后再进行系统测试。A

    A. 单元测试

    B. 集成测试

    C. 确认测试

    D. 验收测试

  17. 软件测试活动主要包括( C)。

    A. 测试设计

    B. 测试执行

    C. 都是

    D. 测试总结

  18. 下列软件属性中,软件产品首要满足的应该是(A)。

    A. 功能需求

    B. 性能需求

    C. 可扩展性和灵活性

    D. 容错纠错能力

  19. 下列哪个不是测试环境组成要素(B )。

    A. 软硬件

    B. 技术文档

    C. 测试工具

    D. 网络环境

  20. 软件生存周期过程中,修改错误成本最大的阶段是( D)。

    A. 需求阶段

    B. 设计阶段

    C. 编程阶段

    D. 运行及维护阶段

  21. 下面有关软件缺陷的说法中错误的是(C )。

    A. 缺陷就是软件产品在开发中存在的错误

    B. 缺陷就是软件维护过程中存在的错误、毛病等各种问题

    C. 缺陷就是导致系统程序崩溃的错误

    D. 缺陷就是系统所需要实现某种功能的失效和违背

  22. 根据软件需求规格说明书,在开发环境下对已经集成的软件系统进行的测试是(A )。

    A. 系统测试

    B. 单元测试

    C. 集成测试

    D. 验收测试

  23. 下列可以作为软件测试对象的是(D )。

    A. 需求规格说明书

    B. 软件设计规格说明

    C. 源程序

    D. 以上全部

  24. 软件测试工作应该开始于( B)。

    A. 项目立项之后

    B. 需求分析阶段

    C. 概要设计阶段

    D. 详细设计阶段

  25. 确认系统是否按照预期工作,从而在系统是否满足系统需求方面获取信心。这样的测试目的最可能适用下面的哪个测试阶段(C )。

    A. 单元测试

    B. 集成测试

    C. 系统测试

    D. 验收测试

  26. 回归测试的目的是(C )。

    A. 验证修改的成功

    B. 预防功能编写的不完善或疏漏

    C. 确保修正过程中没有引入新的缺陷

    D. 帮助程序员更好地进行单元测试

  27. 下关于测试原则的描述,正确的是( B)。

    A. 所有的软件测试不需要追溯到用户需求;

    B. 完全测试是不可能的;

    C. 测试可以显示软件潜在的缺陷;

    D. 程序员不需要避免检查自己的程序。

  28. 瀑布模型表达了一种系统的、顺序的软件开发方法。以下关于瀑布模型的叙述中,正确的是( D)。

    A. 瀑布模型能够非常快速地开发大规模软件项目

    B. 只有很大的开发团队才使用瀑布模型

    C. 瀑布模型已不再适合于现今的软件开发环境

    D. 瀑布模型适用于软件需求确定,开发过程能够釆用线性方式完成的项目

  29. 软件质量的定义是( D)。

    A. 软件的功能性、可靠性、易用性、效率、可维护性、可移植性

    B. 满足规定用户需求的能力

    C. 最大限度达到用户满意

    D. 软件特性的总和,以及满足规定和潜在用户需求的能力

  30. 对于软件的β测试,下列描述正确的是(D )。

    A. β测试是在软件公司内部展开的测试,由公司专业的测试人员执行的测试

    B. β测试是在软件公司内部展开的测试,由公司的非专业测试人员执行的测试

    C. β测试是在软件公司外部展开的测试,由专业的测试人员执行的测试

    D. β测试是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试

  31. 系统测试关注的是(D )。

    A. 某个独立的功能是否实现

    B. 组件间的接口的一致性

    C. 某个单独的模块或类是否满足设计要求

    D. 项目或产品范围中定义的整个系统或产品的行为

  32. (B)强调的是测试要伴随整个软件开发周期。

    A. V模型

    B. W模型

    C. H模型

    D. X模型

  33. (A)清楚地描述了测试各阶段和开发各阶段的对应关系。

    A. V模型

    B. W模型

    C. H模型

    D. X模型

  34. (C)模型中, 软件测试过程活动完全独立, 贯穿于整个产品的周期, 与其他流程并发地进行, 某个测试点准备就绪时, 就可以从测试准备阶段进行到测试执行阶段。

    A. V模型

    B. W模型

    C. H模型

    D. X模型

  35. 测试人员在测试某一功能时,发现该功能在需求说明书里没有,他接下来正确的做法是( B)。

    A. 在需求说明书中补充该功能

    B. 汇报项目经理,让其查明原因

    C. 找开发人员沟通,让其删除该功能

    D. 找用户沟通,该功能是否需要

多选题

  1. 系统针对无效输入,有哪些可行的响应方法? ACD

    A. 自动将无效输入转化为有效输入

    B. 不予处理

    C. 提示用户如何正确输入

    D. 提示用户输入出错

  2. 下列选项中属于软件测试工作能够完成的任务有(ABD)

    A. 检测软件产品中的缺陷

    B. 验证软件需求是否正确

    C. 证明软件产品没有缺陷

    D. 改进软件开发的流程

  3. 下列选项中属于静态测试技术的有(BD)

    A. 功能测试

    B. 文档评审

    C. 恢复测试

    D. 代码复审

主观题

  1. 据IEEE1983,什么是软件测试?

:IEEE1983 软件测试的标准定义:软件测试是使用人工和自动手段来运行或测试某个系统的过程,目的在于检验被测软件系统是否满足规定的需要,或是弄清楚预期结果与实际结果之间的差别。

  1. IBM公司研究发现:
    如需求分析阶段引入一个缺陷,在测试执行阶段前该缺陷修改成本为1,在编码阶段后该缺陷修改成本则为10,在维护阶段,修改成本则为100。

    在测试阶段前的每个阶段若进行静态测试,该阶段的缺陷消除率为50%,测试阶段的缺陷消除率为80%。缺陷消除率:指发现的缺陷数占总缺陷数的比例。
    假设某项目开发过程中分别有需求、设计、编码、测试、维护 5个阶段(瀑布模型),其中在需求、设计、编码阶段各引入10个缺陷(共30个缺陷)。

    (1)计算并比较提前测试与编码后测试两种方案的缺陷修改成本。

    (2)比较结果说明了什么?

:(1)

作业答案1.jpg

作业答案2.jpg

(2)比较结果,提前测试方案中修改缺陷的成本仅为传统测试的35%。

  1. (1)什么是软件缺陷?
    (2)从软件缺陷的五个方面(规则)举例说明软件缺陷的现象。(要求:计算器和百度搜索引擎的举例除外)

(1)Ron Patton从五个方面给出软件缺陷的正式定义
只要符合下列五个规则中的一条,就叫作软件缺陷。
① 软件未达到需求规格说明书中指明的功能, 则是缺陷。
② 软件出现了需求规格说明书中指明不会出现的错误, 则是缺陷。 此条规则可视对软件系统容错性的要求。
③ 软件功能超出需求规格说明书中指明的范围,则是缺陷。
④ 软件未达到需求规格说明书中虽未指出但应达到的目标,则是缺陷。
⑤ 软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为软件使用效果不好,则是缺陷。

(2)举例题,答案不一,这里的作答是ChatGPT生成的

以手机软件为例:

① 未实现产品说明书要求的功能:如果一个手机应用程序在产品说明书中承诺了某种功能,比如实时通知服务,但用户发现这个功能从未生效,就属于这个方面的问题。

② 出现产品说明书指明不应该出现的错误:如果产品说明书中指明了该应用程序不会收集用户的位置信息,但实际上应用程序却在未经用户允许的情况下收集了位置信息,这就是这个方面的问题。

③ 实现了产品说明书未提到的功能:如果应用程序在产品说明书中没有提到的情况下,突然增加了一个新的功能,例如内置广告,而用户并没有被告知或者没有选择的权利,就属于这个方面的问题。

④ 未实现产品说明书虽未明确提及但应该实现的目标:如果产品说明书没有明确提到支持某些特定型号的手机,但实际上该应用程序应该兼容各种常见手机型号,但并没有做到,就属于这个方面的问题。

⑤ 难以理解、不易使用、运行缓慢或者用户体验不佳:如果应用程序的界面设计混乱,用户很难找到他们需要的功能,或者应用程序反应迟缓,导致用户体验非常差,就属于这个方面的问题。

  1. (1)据ISO8402关于质量的定义 和 GB/T 11457-2006,分别回答什么是软件质量?

    (2)据ISO/IEC9126质量模型,软件质量具有哪六大特性?

    (3)自选一款软件系统,从软件质量六大特性简要谈谈如何测试该软件系统的质量。

(1)

  • 据ISO8402关于质量的定义,软件质量被定义为:反映软件满足明确或隐含需要能力的特性总和。
  • GB/T 11457-2006《软件工程术语》软件质量是
    • 软件产品中能满足给定需要的性质和特性的总体。
    • 软件具有所期望的各种属性的组合程度。
    • 顾客和用户觉得软件满足其综合期望的程度。
    • 确定软件在使用中将满足顾客预期要求的程度。

(2)功能性,可靠性,可用性/易用性,效率,可维护性,可移植性

(3) 举例题,答案不一,下面的作答由ChatGPT生成

  • 功能性:

    • 确保软件的所有功能按照需求规格书或设计文档的要求正常工作。
    • 执行功能性测试用例,验证软件的各个功能点,包括正常操作和边界条件。
  • 可靠性:

    • 测试软件在长时间运行或高负载情况下的稳定性,确保不会崩溃或出现不可预期的错误。
    • 进行可靠性测试,模拟各种异常条件,如不正常的输入、网络中断等,检查系统的恢复能力。
  • 易用性:

    • 进行用户界面测试,确保界面设计直观、易懂,用户能够方便地完成操作。
    • 进行用户体验测试,收集用户反馈,以确保软件的操作流程符合用户的预期。
  • 效率:

    • 测试软件的响应时间,确保在合理时间内响应用户的请求。
    • 进行性能测试,模拟多用户、大数据量等情况,检查系统的性能表现。
  • 维护性:

    • 评估软件的代码质量,确保代码易于理解、修改和扩展。
    • 进行代码静态分析、代码审查等活动,找出潜在的问题和改进点。
  • 可移植性:

    • 测试软件在不同操作系统、硬件平台或浏览器上的兼容性,确保软件能够在各种环境下正常运行。
    • 进行跨平台测试,验证软件在不同系统上的移植性和兼容性。