本篇文章将简单系统地介绍冒烟测试(Smoke testing)、可用性测试(Sanity testing)及回归测试(Regression testing),并对三种测试进行对比。

文章目录

  • 一、 冒烟测试(Smoke testing)
    • 起源
    • 总结起来,==冒烟测试具有以下五特征==:
  • 二、可用性测试(Sanity testing)
  • 三、回归测试(Regression testing)
    • 回归测试分为两类:
    • 回归测试步骤:
  • 四、三种测试的对比

一、 冒烟测试(Smoke testing)

起源

Smoke testing起源于管道测试——通过往管道中灌烟,查看管道是否冒烟,来初步判断管道是否有缝隙。

由此我们可以推断出Smoke Testing 只是一种初级、直观的测试。类似地,在软件测试环境中,冒烟测试指的是测试构建(Build)的基本功能。如果测试失败,构建将被宣布为不稳定,并且在构建的冒烟测试通过之前不再测试。

总结起来,冒烟测试具有以下五特征:

  1. 确定产品必须满足的关键业务功能。
  2. 设计和执行应用程序的基本功能。
  3. 确保每一次构建都能通过冒烟测试,以便继续测试。
  4. 烟雾测试能够发现明显的错误,从而节省测试团队的时间和精力。
  5. 烟雾测试可以是手动或自动的。

冒烟测试与BVT虽然相似,但仍有一定的区别,两者在执行阶段、内容、执行结果对后续工作的影响等方面有着本质区别。

二、可用性测试(Sanity testing)

Sanity Testing 是在接收到软件构建(Build)后进行的一种测试,在代码或功能上做了细微的更改,以确定缺陷已被修复,并且不会因这些更改而引入进一步的问题。目标是确定所建议的功能大致如预期的那样工作。如果Sanity Testing失败,那么构建将被拒绝,以节省进行更严格测试所需的时间和成本。

Sanity Testing 通常是无脚本的,它用于确定应用程序的某个部分在发生微小更改后是否仍在工作。因此,Sanity Testing 是一种狭义的回归测试,它主要关注一个或几个功能领域。

需要在软件构建中执行Sanity Testing和Smoke Testing时,应首先执行Smoke Testing,然后再继续进行Sanity Testing。

三、回归测试(Regression testing)

回归测试一种黑盒测试技术,包括重新执行受代码更改影响的测试,以确认此次修改没有引入新的错误。在整个软件开发生命周期中,这些测试应该尽可能频繁地执行。

回归测试分为两类:

1. 完全回归(Retest all):
      测试时选择基线测试用例库中的所有用例进行回归测试,这是一种最为保险的策略,相对于部分回归策略,其可以将遗漏regression bug的概率降到最低,但这种方式同时也是所有策略中成本最高的一种方式。

2. 部分回归:
      部分回归是指在回归测试时选择基线测试用例库中的一部分用例进行回归测试,而不是所有用例全部执行,相对于完全回归测试,这种测试策略效率很高,并且所需要的时间和成本比较少,但也没有完全回归覆盖率高(或者说遗漏回归bug的概率比完全测试高)。

回归测试步骤:

  1. 选择回归测试。
  2. 选择apt工具并自动化回归测试
  3. 使用检查点验证应用程序
  4. 必要时管理回归测试/更新
  5. 安排测试
  6. 将构建集成
  7. 分析结果

四、三种测试的对比

Smoke testing Sanity testing Regression testing
深度 不深入 深入 深入
广度 广泛全面 有限 广泛全面

Smoke testing,Sanity testing and Regression testing相关推荐

  1. Regression testing minimization, selection and prioritization: a survey

    摘要 有很多方法最大化积累下来的测试用例套件的价值: minimization selection prioritization Minimization:消除冗余的测试用例以减少要跑的测试用例 Se ...

  2. IMPROVING REGRESSION TESTING QUERY REPLYING PROCEDURE USING SECURE OPTIMIZED GRAPH WALK SCHEME

    采用安全优化的图漫步方案改进回归测试查询应答程序 Fireknight.tech 个人博客,欢迎访问,CSDN不定期更新 要点:优化哈希图.优先级排序(最小化资源的使用和处理时间) Intro: 基于 ...

  3. CISSP考点拾遗——公开测试Overt Testing和隐蔽测试Covert Testing

    这是一个找遍CISSP三个主要教材(CBK.OSG.AIO)都不见但考试会考到的内容(*^_^*)y 本文中内容主要出自NIST SP 800-115 信息安全测试和评估技术指南TECHNICAL G ...

  4. Sanity Testing 和 Smoke Testing的区别

    Sanity Testing 和 Smoke Testing的区别 Sanity testing 和Smoke Testing是两个非常容易混淆的测试类型. Smoke Testing(冒烟测试) S ...

  5. 软件测试常用术语(中英文对照)

    Software engineering(软件工程) Application software(应用软件) Unit testing(单元测试) Integration testing(集成测试) S ...

  6. 入门接口测试——总结笔记

    目录 一.接口简介 一.接口测试简单了解 二.RESTful风格 1.HTTP请求 (1)请求方法 (2)请求结构 (3)响应 2.HTTP请求状态码 3.对结果进行判断 4.接口约束 (1)四种操作 ...

  7. 软件测试基础知识面试题目(25题英文题目)

    软件测试基础知识面试题目(25题英文题目) 1. Verification is:  a. Checking that we are building the right system b. Chec ...

  8. 测 试 基 础 知 识

    测 试 基 础 1.     软件测试的目的:证明(表达软件能够工作)→ 检测(发现错误)→ 预防(管 理质量) 2.    测试执行:单元测试(UT执行):一个测试用例的测试执行: 集成测试(IT执 ...

  9. Testing Types - 读书笔记

    看到 Wikipedia 上面有一篇对于软件测试的综述,挺有总结性,做下读书笔记. Wikipedia 的这篇文章,可以通过下面的 URL 访问: http://en.wikipedia.org/wi ...

最新文章

  1. const(常量)和#define(宏定义)区别
  2. ArcGIS自定义高程
  3. idea spring tomcat启动失败_技术篇 | 实用IDEA插件和工具系列
  4. cuda矩阵相乘_cuda初学(1):稀疏矩阵向量乘法(单精度)
  5. 阿里P9专家右军:大话软件质量稳定性
  6. Error: listen EADDRINUSE: address already in use :::5000
  7. mysql配置文件参数详解 my.cnf
  8. 走一条硬件工程师的道路
  9. [转]使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(三)-- Logger
  10. 基于javaweb的超市管理系统设计与实现(含论文和源码)
  11. 本特利前置器330180-50-00
  12. shapley和树的shap
  13. Python自动化测试之PO模式
  14. 斐波那契 (黄金分割法)查找——推导 详细
  15. Qt 3D 官方实例1 simple-qml
  16. Win2003启用硬件加速(DirectX,声显卡启用)
  17. C# DateTime:日期、日期差、时间、时间差
  18. sap 双ALV联动显示示例(备份)
  19. 面试秘籍大放送,编测编学独家秘籍遭外泄?!
  20. 三维模型进行视角相机变换

热门文章

  1. mysql查询前几笔sql语句_mysql开发常用的几条sql查询语句
  2. 计算机网络-实验一:windows网络测试工具
  3. ubuntu开机画面的修改
  4. 宽带用户易被攻击 七大注意避免损失(转)
  5. FPS中子弹飞行轨迹随视点位置变化而变化的问题
  6. Unity 中实现子弹时间效果
  7. 《互联网理财一册通》一一1.3 开通网上银行
  8. android内存泄漏检测工具,Android内存泄漏的检测工具——LeakCanary
  9. 网站中的js代码欢迎语,早上好,下午好……
  10. 使用电脑登录邮箱账号的流程是什么?