软件工程 - 软件测试

第七章 软件测试技术

  1. 软件测试的基本原则:
    (1)穷尽测试是不可能的。
    (2)测试无法显示潜伏的软件缺陷。
    (3)测试活动应尽早进行。
    (4) 软件缺陷具有群聚性。
    (5) 注意杀虫剂现象。
    (6) 应尽量由独立的测试团队进行测试。背 理解意思

  2. 软件测试的目标:
    (1)确认系统满足其预期的使用和用户的需要。
    (2)确认解决了所需解决的问题(如实现商业规则和使用合适的系统假定)。
    (3)为测试的过程建立责任和可解释性。
    (4)便于及早发现软件和系统的异常。
    (5)及早提供软件和系统的性能的评估。
    (6)为管理提供真实信息,以决定在当前状态下发布产品在商业上的风险。
    (7)鉴别出程序在功能等方面的异常集聚之处。

  3. 什么情况下称为发生了一个软件缺陷?
    在以下 5 个条件中,满足至少一个条件就称发生了一个软件缺陷。

  • 软件未实现产品说明书要求的功能。
  • 软件出现了产品说明书指明不能出现的错误。
  • 软件实现了产品说明书未提到的功能。
  • 软件未实现产品说明书虽未明确提及但应该实现的目标。
  • 软件难以理解、不易使用、运行缓慢或者从测试员的角度看,最终用户会认为不好。
  1. 软件测试只能证明程序有错误,不能证明程序无错误。(测试无法显示潜伏的软件缺陷)

  2. 除了模块测试外,在测试的其余阶段通常由独立的测试人员组成测试小组来完成测试工作。模块测试可以由程序员自己来进行。

  3. 测试用例的定义:测试用例是测试输入、执行条件、预期结果的集合,是为特定的目的开发的。背

  4. 软件测试的评估准则:覆盖率、故障插入、变异分值。背

  5. 覆盖率的定义:给定一个测试需求集合 TR 和一个测试集合 T,覆盖率为 T 满足的测试需求占TR 总数的比例。覆盖率 100%在实际中是不现实的,因为某些测试需求是不能满足的。例如,测试需求要求每条语句都得到执行,在某些语句不能执行到的情况下是不能满足的。

  6. 软件测试人员的目标:尽早找出软件缺陷,并确保缺陷得以修复。

  7. 测试用例的设计应该力求能尽量发现系统中的错误,而非着眼于表明程序是正确的。

  8. 白盒测试&黑盒测试&灰盒测试

  9. 测试工程师需要具有编程能力(黑盒测试不需要)

  10. 简述软件调试软件测试和的相同点与不同点。
    软件调试和软件测试是容易混淆的两个概念,因为两者都包含有处理软件缺陷和查看代码的过程。二者的区别在于,测试的目标是发现软件缺陷的存在,调试的目标是定位与修复缺陷。软件测试员把问题缩减为能够演示软件缺陷的最简化测试用例(或可疑的代码行)。进行调试的程序员进而按段到底是什么导致软件缺陷,并设法修复

  11. 各种覆盖之间的强弱关系不是单调递增的强弱关系。逻辑覆盖测试:理解
    (1) 语句覆盖(最弱的逻辑覆盖):设计若干个测试用例,运行被测程序,使得每一可
    执行语句至少执行一次。
    (2) 分支覆盖(也称为判定覆盖):设计若干个测试用例,运行被测程序,使得程序中每个逻辑判断的取真分支和取假分支至少经历一次。
    (3) 条件覆盖:设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。
    (40 判定—条件覆盖:设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次。即既满足条件覆盖,又满足判定覆盖(分支覆盖)。
    (5) 条件组合覆盖:设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值的组合至少执行一次。
    (6) 路径覆盖:设计足够的测试用例, 覆盖程序中所有可能的路径。
    强弱关系:分支覆盖包含语句覆盖;满足条件覆盖的不一定满足分支覆盖;判定—条件覆盖和条件组合覆盖既满足条件覆盖,又满足判定覆盖。条件组合覆盖的强度大于判定—条件覆盖。
    控制流图覆盖测试:
    节点覆盖:等价于语句覆盖。
    边覆盖:边覆盖包含节点覆盖,且边覆盖也可以实现分支覆盖。路径覆盖:基本路径测试。

  12. 根据不同的覆盖准则设计测试用例,要用尽可能少的测试用例进行覆盖。基本路径测试:画控制流图、计算环路复杂性、设计测试用例。
    给一个流程图,要会画出控制流图。
    黑盒测试:用等价类分析。

  13. 基本路径的条数就是区域数,程序的环形复杂度 V(G)就是控制流图中的区域数。方法二: V(G) = e – n + 2,其中e 是图 G 中边的数目,n 是图 G 中节点的数目。方法三:V(G) = P + 1,其中 P 是图 G 中基本判定的数目。

  14. 基本路径集合不是唯一的,但路径的数目是唯一的。

  15. 黑盒测试的三种方法:
    等价类划分方法:用来解决如何选择适当的子集,使其尽可能多地发现错误。设计测试用例要经历划分等价类和选取测试用例两步。
    边界值分析方法:对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,其测试用例来自等价类的边界。
    状态测试。

  16. 静态测试的范围很广,软件开发项目中的代码、所有文档以及项目外有价值的文档都可以通过人工方式审查。
    静态测试的目的:从已有的规格说明、已定义的标准以及项目的计划中发现缺陷和偏差。这些检查的结果可以用于优化开发过程。
    静态测试的基本思想:缺陷的预防,即尽可能地在缺陷和偏差对将来开发过程产生影响之前发现并修改它们,否则会导致代价高昂的返工。背

  17. 通用评审过程的六个步骤:计划、概述、准备、评审会议、返工、跟踪。背

  18. 问题大部分是在通用评审的准备步骤发现的。

  19. 评审的三个类型:同事审查(非正式)、走查(非正式)、审查(正式)。背

  20. 为了提高测试的效率,应该在完成编码以后制定软件的测试计划。
    自查不属于静态评审类型。
    软件测试的目的是尽可能多的发现软件系统中的错误。
    在黑盒测试中,边界值分析法作为等价类划分法的有效补充。
    在等价类划分方法中,既可以定义输入等价类,也可以定义输出等价类。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值