概述

介绍如下内容:

  • 什么是软件缺陷
  • 什么是测试用例
  • 什么是软件质量

为什么不让程序员做测试?大概是因为程序员觉得用户肯定不会这么干或者觉得自己的代码很牛逼这不会出错吧。

软件缺陷

  • 软件未达到需求规格说明书中的功能。
  • 软件出现了规格需求说明书中指明不会出现的错误。
  • 软件功能超出需求规格说明书中指明的范围。
  • 软件未达到需求规格说明书中虽未指明但应该达到的目标。

测试用例

迫于现实压力,测试的目标为在最短时间内,找到最严重,最多的缺陷,最大程度地保证产品符合已知的用户需求。

测试用例就是:

  • 能代表需求最小的测试单元
  • 描述用户预期输出
  • 反映系统的实际执行结果
  • 为了检测某个程序功能或者程序路径,设计条件,数据和规则的一个特定实例。

基本组成

  • 输入:测试数据 & 操作步骤
  • 输出:预期结果
  • 测试环境:系统环境设置

基本属性

  • 典型性:揭示最有可能存在缺陷的地方,代表和覆盖合理与不合理、合法与不合法的情况
  • 可测试性:预期结果是可以通过相关开发文档确定的
  • 可重现性:多次运行同一个测试用例不能出现不同的结果
  • 独立性:测试用例之间应尽量独立,但不要求完全独立

设计

  • 输入数据
    • 正常数据
    • 错误数据
      • 满足数据类型,但是不在有效范围
      • 不完全满足数据类型
      • 输入条件缺失
    • 边界数据
  • 操作步骤

软件质量

反映软件满足明确或隐含需要能力的特性总和

  • 客观来说是软件具有的某种能力的属性(这句话我每个字我都认识,但就是看不懂),这是前提条件
  • 主观来说是软件具有的能力对应不同层次的用户需求:(重要性自上而下逐渐增加)
    • 显式需求:需求规格说明书中描述的内容
    • 隐式需求:未在需求规格说明书中说明 &用户明确要求 & 反映验收质量
    • 实际需求:软件的使用质量和用户名家