首页 > 技术文章 > 测试理论01-开发模型-软件测试分类-测试用例设计方法

snailon 2019-05-27 16:53 原文

 

掌握划分等价类s法的基本定义与使用步骤

 

软件开发过程模型

  • 概念:软件生产的步骤,流程的描述

  • 常用模型:瀑布模型,快速原型,螺旋模型

 

瀑布模型

图示:需求分析,概要设计,详细设计,编码,软件测试,软件维护

特点:

  • 线性模型,其他模型的基础

  • 每个阶段执行一次,文档驱动

优点:

  • 阶段清晰

  • 每个阶段完成后,关注后续阶段

缺点:

  • 依赖于需求分析的结果,不适应需求的变化

  • 风险后延,失去更早发现问题的机会

 

快速原型模型

图示:快速分析,构造,运行,评价

特点:

  • 快速得构造原型

  • 支持用户得参与

  • 适应需求变化

优点:

  • 克服瀑布模型得缺点,减少因为需求变化带来软件开发风险

缺点:

  • 不适应于大型项目开发(小型项目,灵活性高)

 

螺旋模型

特点:

  • 引入了风险分析的过程

  • 结合了瀑布模型的严谨过程和快速原型模型的原型概念

优点:

  • 风险驱动,及时识别风险,规避风险

缺点:

  • 需要丰富的风险识别的经验和相关的专业知识

测试模型

测试模型-V模型

图示:需求分析,概要设计,详细设计,编码,单元测试,集成测试,系统测试,验收测试

优点:

  • 包含了底层测试和高层测试

缺点:

  • 灵活性不高,不能适应需求变化

测试模型-W模型

图示:开发一个V:需求分析,概要设计,详细设计,编码,集成,实施,交付

测试一个V:验收/系统测试设计,集成测试设计,单元测试设计,单元测试,集成测试,系统测试,验收测试

优点:

  • 测试伴随整个开发周期

  • 测试更早得介入,及时发现软件的问题

缺点:

  • 对测试人员的技术要求比较高,实施起来复杂,困难一些

 

测试模型-H模型(了解)

图示:两个流程:测试流程,平行流程。测试流程:测试准备,测试就绪点,测试执行

优点:

  • 揭示了测试工作实际情况,存在并行流程

  • 强调了测试的独立性,灵活性高

缺点:

  • 管理要求比较高

  • 技能要求比较高

软件测试分类

按阶段划分:

  • 单元测试

  • 集成测试

  • 系统测试

  • 验收测试

    • alpha测试:内测版本

    • beta测试:公测版本

    • gamma测试:候选版本

 

按照覆盖源代码(关注代码)划分:

  • 黑盒测试:不关注代码,只关注需求的实现

  • 白盒测试:关注源代码的实现细节

  • 灰盒测试:既关注代码的实现,又关注需求的满足。

只做黑盒测试:

  • 代码质量没有保障(实现逻辑,代码规范)

  • 测试不出开发人员故意埋的恶意代码

只做白盒测试:

  • 容易忽略用户真正需求的实现

  • 测试人员容易被代码逻辑带跑偏

 

黑盒测试两个大的分类:

  • 功能测试

    • 业务逻辑功能

    • 界面测试

    • 安装

  • 性能测试

    • 时间性能

    • 稳定性

    • 负载

    • 压力

按照是否运行划分:

  • 静态测试:代码不运行

  • 动态测试:代码运行起来

按照是否自动化划分:

  • 人工测试(手工)

  • 自动化测试:通过工具或者代码代替手工

其他的测试分类:

  • 冒烟测试

  • 回归测试

  • 随机测试

  • 探索测试

 

测试用例的定义

定义:为特定目的设计的一组测试输入,执行条件,预期结果的文档

 

测试用例的八大要素

  • 用例编号

  • 用例标题

  • 测试项目

  • 用例的级别

  • 预置条件

  • 测试输入

  • 执行步骤

  • 预期结果

 

测试用例设计-等价类划分法

等价类:测试所有数据中,具有某种共同特征的数据子集

等价类划分法:所有的测试数据进行等价类划分,在等价类中挑选少量代表性的数据进行测试。

有效等价类:满足需求的

无效等价类:不满足需求的

编写测试用例的步骤:

  1. 明确需求

  2. 确定有效和无效等价类

  3. 编写测试用例

  4.  

推荐阅读