测试方法

测试方法:黑盒测试、白盒测试、灰盒测试

测试阶段:单元测试、集成测试、系统测试

测试类型:功能测试、性能测试、异常测试等

1、黑盒测试、白盒测试、灰盒测试

  • 黑盒测试方法:已知正确的规格,检验产品规格和已知规格是否一致的测试方法

    常见测试的设计方法:

      等价类划分法

      边界值分析法

      判定表法

      因果图法

      正交分析法

      状态迁移法

    特点:

      1、相对于白盒测试而言,工作量较小、测试过程简单

      2、较容易发现规格上的不一致

      3、测试的准备可以和开发并行进行

      4、可能只测试到部分输入,还有部分输入难于构思到,从而可能测试有遗漏

  • 白盒测试方法:已知产品正确的设计逻辑,检查产品运行的逻辑是否和设计逻辑一致的测试方法

    常见的测试设计方法:

      语句逻辑覆盖率

      判定逻辑覆盖率

      条件逻辑覆盖率

      判定条件逻辑覆盖率

      条件组合覆盖率

    特点:

      1、对测试人员技能要求较高,必须思考产品实现的逻辑

      2、测试彻底,利于发现底层代码的错误

      3、难度大、成本高

      4、无法发现规格的缺陷

  • 灰盒测试方法:既有黑盒测试的方法、也有白盒测试的方法

2、静态测试、动态测试

  • 动态测试:运行程序进行的测试方法

  • 静态测试:不运行程序、直接观察软件产品的测试方法

    静态测试考虑的内容:

      1、文档的描述是否规范、准确

      2、代码的语法规则

      3、文档个代码的一致性

    手工的静态测试:评审,也叫同行评审peer review

      • 正规检视:流程很规范,按照成立评审委员会、召集评审专家、专门碰头会、召开评审会、评审会议记录、决定下一次评审会议。专家人数7-13个。讨论、评审一个阶段的工作,通常定期举行。

      • 技术评审:主要目的是为了讨论、决定采用哪种方案。流程较规范,专家人数较少。需从多个方案中选出最佳方案

      • 走查:walk through,流程很随意,一般只适用于质量要求不太高、工作量较大

3、人工测试、自动化测试:

  • 人工测试:由人手工进行的测试

  • 自动化测试:机器辅助进行批量化测试的测试方法

    自动化测试,目前只能在测试执行阶段自动化,前期的测试计划、测试设计和测试实现,都需要人工进行

    自动化测试的分类:

      1、功能测试

      2、性能测试

      3、白盒测试方法时

        功能测试的自动化测试适用的场合:适用于对产品质量要求较高的回归测试中,要求回归次数较多。大数据量的枚举测试

4、单元测试、集成测试、系统测试

  • 单元测试:单元测试是对软件的基本组成单位进行的测试,单位具有独立的名称、输入输出的接口和明确的功能特性

    目的:检验详细设计是否符合概要设计要求

       检验代码是否符合代码规范要求

       检验代码和详细设计是否一致

    测试依据:详细设计文档(LLD)

    测试关注重点:数据结构、逻辑控制、异常处理

    测试方法:采用白盒测试方法

    评估基准:逻辑覆盖率

  • 集成测试:经过单元测试后,将若干个单元组装在一起构成一个小产品,对这个小产品的功能和内部各单元之间的接口进行的测试活动

    目的:检验概要设计是否符合需求规格的要求

       检验各单位之间的接口

       检验单元组装以后的整体功能

    测试依据:概要设计文档(LLD)

    测试关注重点:单元之间的接口、小产品的功能

    测试方法:采用灰盒测试方法

    评估基准:接口覆盖率

  • 系统测试:经过集成测试,将软件与硬件、网络、某些支持软件、数据结合在一起,放在实际的运行环境中,检验产品是否满足用户的需求

    目的:检验产品是否满足用户的需求

    测试依据:软件需求说明书(SRS)

    测试关注重点:需求说明书(功能、性能、兼容性、安全性等)

    测试方法:采用黑盒测试方法

    评估基准:需求覆盖率

  • 验收测试:是以用户为主的测试

      项目型软件的验收:通常叫用户验收测试>>User Acceptance Testing

      产品型软件的验收:通常叫alpha测试、beta测试、gama测试、delta测试

   Alpha测试:在开发环境下进行测试,测试结果可控。开发者坐在用户旁边,有问题可以及时反馈修改,内部测试版本

   Beta测试:在实际使用环境下进行测试,测试结果不可控,网上的测试版本(公测)

  • 冒烟测试:对象是每一个新变异的需要正式测试的软件版本,对其重要部分进行大概测试,目的是确认软件基本功能正常,可以进行后续的正式测试工作

    

      

原文地址:https://www.cnblogs.com/qiuqiu21/p/8391826.html