Bootstrap

软件测试基础

概念与定义

  1. 软件危机:软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

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

  3. 软件缺陷(Ron Patton在《软件测试》一书中提出):只有至少满足下列五个规则之一,才称发生了一个软件缺陷。

    1. 软件未实现产品说明书要求的功能;

    2. 软件出现了产品说明书指明不应该出现的错误;

    3. 软件实现了产品说明书未提到的功能;

    4. 软件未实现产品说明书虽未明确提及但应该实现的目标;

    5. 软件难以理解、不易使用、运行缓慢或者——从测试员的角度看——最终用户会认为不好。

  4. 软件缺陷(IEEE729-1983标准的定义)

    • 从产品内部看,缺陷是软件产品开发或维护过程中产生的错误、毛病等各种问题;
    • 从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。
  5. 测试用例(IEEE1990):测试用例是一组测试输入、执行条件和预期结果,目的是要满足一个特定的目标,比如执行一条特定的程序路径或检验是否符合一个特定的需求的用例。

  6. 测试用例(百度百科的定义):测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。

  7. 软件质量(ISO8402):反映实体满足明确或隐含需要能力的特征总和。

  8. 软件质量(GB/T 11457-2006《软件工程术语》):软件质量是

    • 软件产品中能满足给定需要的性质和特性的总体。
    • 软件具有所期望的各种属性的组合程度。
    • 顾客和用户觉得软件满足其综合期望的程度。
    • 确定软件在使用中将满足顾客预期要求的程度。
  9. 静态测试:不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。

  10. 动态测试:通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。

  11. 手工测试:指测试人员按照事先为覆盖被测软件需求而编写的测试用例

;