1. BVT(Build Verification Test)

  a. BVT概念

    Build Verification test is a set of tests run on every new build to verify that build is testable before it is released to test team for further testing. These test cases are core functionality test cases that ensure application is stable and can be tested thoroughly. Typically BVT process is automated. If BVT fails that build is again get assigned to developer for fix.

    BVT即版本验证测试,由一组基本的功能测试用例组成,每一次当有新的build生成,我们都要通过先运行这些case, 来保证在生成新的build后系统还是完整的稳定的,不能因为一次的branch合并就导致整个系统奔溃。所以,BVT是要在每次有新的code合并后进行,如果BVT失败了,要重新返回给code的开发者去fix, 直到BVT成功才能将修改过的代码合并到系统中来。所以BVT最好写成自动化,而且最好保证每次BVT的执行时间别太长。这样,可以在空闲时间(比如下班后)自动执行,节省测试时间,提高测试效率。

    BVT又被称为“冒烟测试”(Smoke Testing),同时,BVT也是一种回归测试。

  b. BVT的优缺点

    BVT 的优点是运行时间短,验证了软件的基本功能; 缺点是这种测试的覆盖率很低,只能当作最基本的软件测试。

  c. 冒烟测试(Smoke Testing)的简单介绍

    BVT 测试又被称为“冒烟测试”,而冒烟测试源自硬件测试,当对一个硬件或者硬件组合改动后,直接给设备通电,看看设备是否会冒烟,没冒烟说明待测组件通过了测试。而在软件开发过程中一直就有高内聚,低耦合的说法, 各个功能模块之间的耦合存在,所以一个功能的改动,会影响到其他的功能模块。这就要求开发人员在修复先前测试中发现的bug后,想知道这个bug的修复有没有影响到其他的功能模块,就需要做冒烟测试。

  d. BVT测试用例包含的内容

    1) 业务流的测试,保证正常业务链路的通畅;

    2) 工作流的测试,主要是测试流程流转的是否正常,至于流程步骤的表单内容是否正确则先不关注;

    3) 关键功能的测试,至少要保证系统运转所需的启动数据,以及一些开关控制正常;

    4) 重要的基本功能测试,比如对一些核心业务有影响的一些增删改查等。

    BVT测试的用例必须要随着系统的扩充而扩充,它并不是一成不变的。

    Here are some simple tips to include test cases in your BVT automation suite:

    * Include only critical test cases in BVT;

    * All test cases included in BVT should be stable;

    * All the test cases should have known expected result;

    * Make sure all included critical functionality test cases are sufficient for application test coverage.

  e. BVT 测试的过程

    1) 前提条件是软件的各个单元测试都通过;

    2) Build出最新的版本,拿到最新的版本;

    3) 根据文档要求配置测试环境;

    4) 执行BVT测试用例(手动或者自动);  

    5) BVT测试结束,查看结果,若是成功,则可以交给测试组进行接下来详尽的测试工作;若是失败,则需要报bug,以最高的优先级去修复该bug,然后重新进行BVT测试,直到成功才可进行下面的其他测试。

  f. BVT测试用例的简单案例

    对一个简单的编辑器的BVT测试需要包含的测试用例(基本功能的测试):

    (1)需要测试用例来测试create a new text file;

    (2)需要测试用例来测试writing的功能;

    (3)测试用例来测试copy, paste, cut functionality of text editor;

    (4)测试用例来测试opening, saving , deleting text file. 

参考: http://www.softwaretestinghelp.com/bvt-build-verification-testing-process/   

2. BAT(Build Acceptance Test)

 a. BAT概念

  BAT指“工作版本可接受测试”, 新的工作版本正式测试前进行的一项快速测试过程,目的是保证软件的基本功能和内容的正确和完整性,经过了BAT测试后,就进入了正轨的测试阶段。BVT只验证build版本构建的成功与失败,不需要深入测试后见好的build的功能、性能等,同时只考虑功能的覆盖率;而BAT测试则需要考虑功能性能的测试,以及考虑功能的覆盖率的同时,也要考虑功能的正确性。

  New build is checked mainly for two things:

    * Build validation

    * Build acceptance

  BAT测试是在新版本build成功后,且BVT测试通过之后,进行的一项测试,目的是测试是否要接受这个构建的版本,找出构建版本的主要功能和性能上可能存在的bug。

 b. BAT测试的必要性

  Because BATs represent a subset of important tests from each of the teams, they should also be used to pre-test proposed changes that may have impact that is not localized to a feature team. Running private builds against the BATs prior to check-in provides evidence as to whether the proposed changes are likely to negatively impact tests (and by implication consumers). This pre check-in process is especially valuable for changes where the impact across all features may not be fully understood.

  c. The results of Build Acceptance Tests:

   * Are an initial measure of build health:  low pass rates are correlated with poor build health.

    * Allow consumers to determine if they wish to use a build.

* Indicate if basic functionality is working (for those feature areas that are passing).

* Are used to qualify the build as sufficiently high quality for self-host use (all tests passing).

   * Are a necessary prerequisite for limited external release of the build for preview and casual usage by Partners (e.g. TAP or CTP drops).  (Requires that all tests are passing.)

3. The difference of BVT & BAT 

  在开始系统测试前,我们先要做BVT测试(about 0.5 hour,10%-15% of the total test cases will be executed.),当BVT测试通过以后,才开始做BAT测试(about one night, 80%-85% of the test cases will be executed.)

  Unlike Build Verification Tests (BVTs), the results of BATs are not intended to be all or nothing, but allow the consumer to determine the state of the features of interest.

  BATs run after each official build (after BVTs have passed) and do not “cause” build breaks if one or more of the tests fails.  The run results of the BATs (and BVTs) are used to categorize the build into one of three states:

Self Host:   A build where the BVT and BAT runs have a Pass Count greater than zero and a Fail Count of zero.

Self Test:   A build where the BVT has a Pass Count greater than zero and a Fail Count of 0, but the BAT either has a Pass Count of zero, or a Fail Count greater than zero.

Self Toast: A build where the BVT has a Pass Count of zero or a Fail Count greater than zero.

 BAT测试一般位于BVT测试之后进行,同时,两个测试的侧重点不同,BVT更侧重于build版本功能的完整性,对于功能的覆盖率,正确性及性能等各方面没有很大的要求,而BAT则相反。同时,BAT测试中的case,允许用户自己决定关注点应该更多的放在哪个模块,比如说对于一个金融会计公司,更关注财会模块(Finance,General journal等)功能的完整性和正确性的状态,对于供应链(supply chain)模块不关注,而对于物流公司则相反。

  也有些人说,BAT、BVT 和 Smoke test是一样的。这个还有待商榷。

4. SVT(System Verification Test)

  SVT is the point where the entire package comes together fot the first time, with all components working together to deliver the pojects intended purpose. It's also the point where we move beyond the lower-level, more granular tests of FVT(Function Verification Testing), and into tests that take a more global view of the product or system. SVT is also the land of load and stress. When the code under test eventually finds itself in a real production evironment, heavy loads will be a way of life. That means that with few exceptions, no SVT scenario should be considered complete until it has been run successfully against a backdrop of load/stress.

  注: 平时的工作中经常会做BVT,BAT的测试,但昨天上测试培训课时听到老师讲SVT,虽然个人对SVT的理解还不够,但还是先做个笔记,以后好慢慢积累理解并运用。

SVT的理解可参考: http://m.softwaretestinggenius.com/?page=details&url=system-verification-test-plan-and-its-major-areas-of-concern

参考: http://www.cnblogs.com/haining1993/p/5340348.html

BVT & BAT & SVT的更多相关文章

  1. BVT & BAT (版本验证测试和版本验收测试)

    BVT & BAT 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.BVT: (Build Verification Test ) BVT的概念: BVT(版本验证测试)是在所有开发 ...

  2. BAT“搅局”B2B市场,CIO们准备好了吗?

    "CIO必须灵活构建其所在企业的IT系统,深入业务,以应对日新月异的数字化业务环境."   BAT军团"搅局"B2B市场,CIO们准备好了吗? 庞大的企业级市场 ...

  3. Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

    所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...

  4. 猫哥网络编程系列:详解 BAT 面试题

    从产品上线前的接口开发和调试,到上线后的 bug 定位.性能优化,网络编程知识贯穿着一个互联网产品的整个生命周期.不论你是前后端的开发岗位,还是 SQA.运维等其他技术岗位,掌握网络编程知识均是岗位的 ...

  5. 批处理bat 命令

    1.批处理常用符号: - echo 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置 语法:@echo [{ on|off }]  echo{"显示 ...

  6. 【转】BAT 批处理脚本 教程

    第一章 批处理基础第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以在 ...

  7. 使用bat(批处理文件类型)两步更改笔记本IP

    一.背景 在南农工的第三年里,学校终于给教学区覆盖了无线网NJAUPK,这解决了我在汇贤楼教室上自习没网写web的尴尬处境!经常在9栋和汇贤楼教学区之间来回,遇见了一个大问题:宿舍里无线需要更改IPV ...

  8. bat转exe工具 Bat To Exe Converter v2.4.7 绿色版

    一款非常小巧的工具,从它的名称便能知道它的功能:它能将BAT或CMD文件转换成 EXE 文件.使用它,你可以保护由自己开发的软件的软件代码,创建一个漂亮的图标,让软件看起来更专业. 下载地址: htt ...

  9. winform总结3> 有趣的bat/winform程序完成自己的任务,然后把自己删除

    在winform的开发过程中往往会有这样的应用场景,执行完成某任务之后,程序需要把本身删除掉.比如卸载.分享一个比较简单实现. 思路就是利用批处理,关闭文件后执行bat,bat执行删除主文件,然后删除 ...

随机推荐

  1. c#新手之1-如何组织类及相互调用

    不知道这个文章的名字起的对不对,姑且这么叫吧.我在这之前用c语言写程序几乎很少用函数调用来解决问题,都是用全局变量然后面向过程对数据做简单的处理,这就造成了我在学习c@之后仍有这个毛病,好点的时候有个 ...

  2. xcode代码提示功能失效的解决方法

    xcode 自动提示很好用 然而大量的工作也是让他吃不消了 结果今天提示功能给我来了个罢工 这当然是不行的 也是万能的搜索帮我解决了这个问题 方法很多 选择了简单的 xcode --> Wind ...

  3. Oracle Metadata Management (OMM)元数据管理 12.2.1发布

    元数据管理元数据管理是解决大量关键业务和技术挑战的基础,这些挑战包括元数据实体有多少,上游数据变化的影响,在浏览器中提供友好的分析展现界面,或提供企业范围内的元数据现状分析和改进视图.OMM是一款基于 ...

  4. 高通CP Crash分析调试

    1. 转换tlcore文件 获取 EBICS0.BIN tl2elf --qconly tlcore 2.使用T32 命令把Riva的dump信息从EBICS0文件分离出来 data.load.BIN ...

  5. Ubuntu 14.04中Mysql中文乱码问题最小化解决

    [client]default-character-set=utf8 [mysqld]default-storage-engine=INNODBcharacter-set-server=utf8col ...

  6. NullReferenceException UnityEngine.Transform.get_localPosition

    NullReferenceException  UnityEngine.Transform.get_localPosition unity程序中,需要取得GO自身的Transform,出现如上空异常, ...

  7. 线程和NSThread 、 NSOperation

    1 使用NSThread实现打地鼠 1.1 问题 NSThread是ios提供的轻量级的多线程解决方案,但是需要自己管理线程的生命周期.线程同步等.本案例使用NSThread实现一个打地鼠的小游戏,在 ...

  8. [读书笔记] java类初始化

    以下内容来自周志明的<深入理解java虚拟机>: 类初始化阶段是类加载过程的最后一步,前面的类加载过程中,除了在加载阶段用户应用程序可以通过自定义类加载器参与之外,其余动作完全由虚拟机主导 ...

  9. jquery dataTables.min.js API

    demo: http://datatables.net/release-datatables/examples/api/select_single_row.html 选择一行http://datata ...

  10. 【转载】ANSYS的APDL与C语言混合编程(实例)

    原文地址:http://www.cnblogs.com/lyq105/archive/2010/05/04/1727557.html 本文讨论的不是利用C语言为ANSYS写扩展(或者说是用户子程序), ...