软件测试理论(二)


    测试覆盖率

   覆盖率是用来度量测试完整性的一个手段,同时也是测试技术有效性的一个度量

   特点:1.通过覆盖率数据,可以检测我们的测试是否充分

      2.分析出测试的弱点在哪方面

      3.知道我们设计能够增加覆盖率的测试用例,有效提高测试质量,但是测试用例设计不能一昧追求覆盖率,因为测试成本会随着测试率增加而增加

   软件测试的原则

  1. 所有的测试都应追溯到用户需求
  2. 测试工作应该尽早启动
  3. pareto法则应用于软件测试(28效率法则,在分析,设计,实现阶段的复审和测试工作能够发现和避免80%的缺陷,而系统测试又能找到其余缺陷的中的80%,最后4%的缺陷可能只有在用户的大范围,长时间使用后才能暴露出来)
  4. 穷尽测试是不可能,测试始终需要停止
  5. 杀虫剂怪事(测试人员必须不断编写不同的测试程序,对程序的不同部分进行测试,已找出更多缺陷)
  6. 前进两步,后退一步(测试中的一个基本问题是----缺陷修复会以20%-50%的几率引入新的缺陷,每次修复后,必须重新运行先前所有的测试用例,从而确保系统不会以隐蔽的方式被破坏)
  7. 三心二意(【细心耐心信心】,团队沟通意识,保持怀疑的态度且有缺陷预防意识)

  需求分析

  1.测试人员参与需求分析,对需求了解很深刻,减少与开发人员的交互,节省时间

  2.早期确定测试用例的编写思路,为测试打好了基础

  3.可以获取到一些测试数据,业务场景,为测试用例设计提供帮助

  4.可以发现需求不合理的地方(如违反正常操作准则的),降低测试成本

   需求测试的作用

  1.测试需求的分析用来确认整个测试工作,明确测试对象以及测试工作的范围和作用,并作为测试覆盖的基础

  2.被确定的测试需求项必须是可以核实的,测试需求必须有一个可观察,可评测的结果

  3.如果无法核实的需求就不是测试需求

  4.测试需求的优先级,哪些更重要

  5.确保风险承担者尽早地对项目达成共识

  6.并对将来的产品有个清晰的认识

  测试需求是制定测试计划的基本依据

  测试需求是设计测试用例的指导

  确定了要测什么,测哪些方面才能有效设计用例

  需求验证过程

  1.审查需求文档

    对需求文档及相关模型进行仔细检查

    在需求开发期间所做的非正式评审也是有所裨益的

  2.以需求为依据编写测试用例

    编写用户手册(简洁版)

    (在需求开发期间起草一份简略,浅显易懂的用户手册,用以描述出所有对用户可见的功能,并用他作为需求规格说明的参考并辅助需求分析)

  3.确定合格的标准

    让用户描述什么样的产品才算满足他们的要求和适合他们的使用

    将确认合格的测试建立在使用情景描述或使用实例的基础之上