软件测试第一章

软件测试基础知识

一、 软件测试的定义、目的、对象与分类

1. 定义

  • 软件测试是指使用人工或自动化的手段来运行或测试某个系统的过程,其目的在于检验系统能否满足规定需求或理清预期结果与实际结果间的差别。
  • 软件测试是为了尽快、尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程。

额外定义:

  • 软件测试是指为了发现错误而执行程序的过程。
  • 软件测试是指利用根据软件开发个阶段的规格说明或内部结构设计的测试用例来运行程序以及发现错误的过程。
  • 软件测试的根本目的是证明软件存在错误,而并非是证明软件没有错误。
  • 一个好的软件测试用例在于其可以发现至今未被发现的错误
  • 一个成功的软件测试工作也在于其可以发现至今未被发现的错误

2. 目的

  • 发现隐藏在软件中的错误或缺陷,并将其修复
  • 最大程度满足软件需求,提高用户满意度
  • 提升软件质量。

3. 对象
软件测试的对象包括:需求说明文档、概要设计文档、详细设计文档、程序数据、用户文档等。

软件测试包含程序测试,但不等于程序测试。

4. 分类
单元测试、集成测试、系统测试、验收测试、白盒测试、黑盒测试、灰盒测试、功能测试、性能测试、界面测试、易用性测试、兼容性测试、安全性测试、安装测试等。

二、 软件测试环境

1. 软件测试流程

  • 拟定计划
  • 设计与生成测试用例
  • 搭建环境
  • 实施
  • 评估
  • 总结

2. 测试环境概述
软件测试环境是指软件在测试流程中运行时所在的平台。
测试环境三要素硬件、软件、网络。

  • 一般情况下,软件应当在“最终用户环境”(用户实际运行软件时一定会或最有可能使用的环境)下进行测试。如果确实无法做到完全一致的话,可以考虑使用类型相同但性能略低的其他环境作为测试环境。

3. 测试环境搭建原则
搭建测试环境四要素

  • 真实
    项目软件与产品软件所需的测试环境有所不同,需要用不同的思维进行分析。
  • 干净
    测试环境中没有其他占用资源的应用程序。
  • 独立
    开发环境与测试环境应当是相互独立的。独立环境可以避免在开发环境下执行的操作误删改用于测试软件的特殊数据,避免发生冲突。
  • 无毒
    测试环境中没有病毒。

三、 软件测试的时间、信息流程与周期性

1. 软件生命周期
计划、需求、设计、编码、测试、运行、维护、淘汰。

2. 软件测试时间
软件在需求、设计、编码、测试直至交付用户使用的过程中都有可能产生错误或缺陷。随着开发时间的推移,修复缺陷或错误所需的代价将会呈几何级数增长。
因此,软件测试应当尽早开展,从软件需求阶段就开始介入测试,覆盖整个生命周期。

3. 测试信息流程

软件测试第一章
  • V模型的局限性
    测试工作只能在编码完成后才能开展,不能做到测试与开发工作并行,测试工作过于落后。
  • V模型的改进
    V模型 + 各阶段同步开展测试工作 = W模型

2. W模型

  • W模型是V模型的自然发展。W模型强调了“软件测试流程应当伴随完整的软件开发过程同步进行”,同时也指明了软件测试的对象不仅仅是程序本身,还包含着软件的需求、功能与设计部分。
    软件测试第一章

    七、 软件质量的概念、范围与标准

    1. 概念
    软件质量是指软件符合文档或用户明确描述的功能、性能需求与开发标准,以及专业软件应当具备的隐含特征的程度。

    软件质量可以反映以下三方面的问题:软件需求、开发标准和隐形需求。

    2. 范围

    软件质量的评定范围可以用“3A”表示:

    • Accountability(可说明性):用户可以基于软件的描述或定义进行使用。
    • Availability(有效性):软件对于绝大多数用户来说总是有效的。
    • Accessibility(易用性):软件容易使用、功能非常有用。

    以用户的角度评定软件质量,主要有以下几点:

    • 软件是否具有所需功能
    • 软件可靠程度如何
    • 软件效率如何
    • 软件的使用是否方便
    • 软件的环境开放程度如何

    以开发者的角度判定软件质量,主要有以下几点:

    • 软件是否易于维护
    • 软件是否易于移植
    • 软件是否易于重用
    • 软件是否易于测试

    3. 标准
    软件质量标准指的是评价软件质量好坏的准则。

    • 产品质量标准:对最终软件产品的质量把控。
    • 过程质量标准:对软件开发过程的质量把控。

    八、软件测试的流程

    • 拟定软件测试计划
      拟定软件测试计划是软件测试工作的第一步,本阶段主要是对即将开展的测试工作进行整体的安排(如资金、资源、人员分配、准备测试用例等)。

    • 测试设计与开发
      分析测试需求,设计测试用例,准备测试数据,开发测试代码,搭建测试环境。

    • 实施软件测试
      实施软件测试的过程主要分为以下三个阶段:
      初测期:测试主要功能与关键执行路径,排除主要障碍。
      细测期:根据测试计划与测试用例,逐一测试所有功能、特性、性能、兼容性、可用性等测试点。
      回归测试期:软件已经区域稳定,在测试过程中可用发现行的错误与缺陷已经非常有限。此时应当复查已知错误与缺陷的纠正情况,确认未引入新的缺陷时即可终止回归测试。

      在执行测试用例的过程中,如果发现了错误和缺陷,应当记录并提交缺陷报告。

    • 测试评估与总结
      评估软件产品质量、评估测试人员工作情况。总结测试情况,编写软件测试报告。

    来源:老坛在逃酸菜O

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月22日
下一篇 2022年4月22日

相关推荐