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. UINavigationController导航控制器

    UINavigationController导航控制器,是多个界面间跳转的重要元素,可以理解为它存储着多个viewController,它的存储结构是栈,栈的特点是先进后出,所以添加视图控制器时,要特 ...

  2. JEECMS v8 发布,java 开源 CMS 系统

    JEECMSv8 是国内java开源CMS行业知名度最高.用户量最大的站群管理系统,支持栏目模型.内容模型交叉自定义.以及具备支付和财务结算的内容电商为一体:  对于不懂技术的用户来说,只要通过后台的 ...

  3. div嵌套引起的margin-top不起作用

    通常大家在制作网页的过程中会遇到很多棘手的问题,比如我在写一个页面的时候,遇到了div嵌套引起的margin-top不起作用,对内部的div设置margin-top时,内部对于外部的div并没有产生一 ...

  4. WINDONWS7+VS2012+Cocos2d-x

    一:准备工作 准备下载文件 1.VS2012,到处都有咱就不发链接了. 2.Cocos2d-x的最新版本 http://www.cocos2d-x.org/projects/cocos2d-x/wik ...

  5. Glossary

    Glossary term terminology Certificate authority A norganization that authorizes a certificate. Certi ...

  6. Linux线程-pthread_join

    pthread_join用来等待另一个线程的结束,函数原型如下: extern int pthread_join __P ((pthread_t __th, void **__thread_retur ...

  7. Python条件语句

    1.简介 多个条件判断,用elif语句. 如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功: 使用 and (与)时,表示只有两个条件同时成立的情况下,判 ...

  8. 第一次装TFS的曲折经历

    公司服务器之前TFS没装上,用的svn,实在忍受不了了,作为一个.net程序员怎么能用svn的,说动手就动手. 服务器的数据库是 SqlServer2008R2 本来想装TFS2013,后来试了一下, ...

  9. 深入解读Linux与Android的相互关系(转-lining)

    大家都知道Android是基于Linux内核的操作系统,也曾经和Linux基金会因为内核问题产生过分歧,本文将开始对Android的内核进行剖析,主要介绍Android和Linux之间的关系,后续还会 ...

  10. 论文笔记之:Dueling Network Architectures for Deep Reinforcement Learning

    Dueling Network Architectures for Deep Reinforcement Learning ICML 2016 Best Paper 摘要:本文的贡献点主要是在 DQN ...