BVT & BAT

版权声明:本文为博主原创文章,未经博主允许不得转载。

一、BVT: (Build Verification Test )

BVT的概念:

BVT(版本验证测试)是在所有开发工程师都已经checkin完自己的代码,并编译完成,生成当天的版本之后进行,主要目的验证最新生成的软件build版本功能完整性,主要的软件特性正确性。如无大的问题,就可以进行相应的BAT测试

BVT优点是时间短,验证了软件的基本功能。

缺点是该种测试的覆盖率很低。因为运行时间短,不可能把所有的情况都测试到。

BVT测试也被称为“冒烟测试”。

 

BVT测试介绍:

BVT (版本验证测试) 由一组测试组成,这些测试用于验证特定版本的总体质量。BVT 通常根据设定的计划自动运行,经常在夜间进行。也可以手动运行,例如自动运行失败后。如果 BVT 中的所有测试均已通过,则认为该版本成功。

也就是说,新生成的软件,先不急于完全测试,而是在很短的时候内把软件的基本功能走一遍,看有没有什么大的问题,如果存在大的问题,就没有必要再进一步测试了。可以节约时间,提高测试效率。

冒烟测试,也有称作烟雾测试(smoke Test),一种用于验证系统基本功能的实现并达到一定程度的稳定性的测试。这种测试经常用作进入下一个等级的测试的入口准则的一部分。关于冒烟测试,应该是微软首先提出来的一个概念,和微软一直提倡的每日build有很密切的联系。具体说冒烟测试就是在每日build建立后对系统的基本功能进行简单的测试,这种测试强调功能的覆盖率,而不对功能的正确性进行验证。从这一点看和所谓的“接受性(验收)测试(Acceptance Test)”非常相似。不同之处就在于他们执行的频率和被测的版本不同。 至于冒烟测试这个名称的来历,大概是从电路板测试得来的。因为当电路板做好以后,首先会加电测试,如果板子没有冒烟在进行其它测试,否则就必须重新来过。类似的如果冒烟测试没有通过,那么这个build也会返回给开发队伍进行修正,测试人员测试的版本必须首先通过冒烟测试的考验。冒烟测试应该是对整个系统流程从输入到输出的完整测试。测试不必是面面俱到的,但是应该能够发现系统中较大的问题。冒烟测试应该是足够充分的,通过了冒烟测试的build就可以认为是经过充分测试、足够稳定的。

不进行冒烟测试的build是没有太大价值的。冒烟测试阻止着产品质量恶化和集成问题的产生,不进行冒烟测试,每日构造可能会变成浪费时间的练习。冒烟测试必须随着系统的扩充而扩充。

 

何时应该进行BVT测试

从BVT测试介绍中可以看出,BVT测试次数越多越好,但现实情况,当拿到新的build版本之后,进行BVT测试,测试通过后,进行BAT测试,之后才给测试组进行接下来细致详尽的测试工作。若BVT测试未通过,则报出bug,需要修改bug,build出新的版本后,重新进行BVT测试直至BVT测试通过。

BVT测试应该包含的内容:

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

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

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

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

BVT测试的过程:

1、软件的各个单元测试通过

2、build出新版本

3、拿到最新的版本

4、根据文档要求准备测试环境

5、执行BVT测试用例 【自动或者手动】

6、BVT测试结束,如果成功,则给测试组进行接下来详尽的测试工作

如果不成功,报bug,修改bug,重新进行BVT测试

工作中的BVT测试:(SQL2016RC0 + MS Dynamics AX 62 & 63 )

The Dynamics AX BVT is a smoke test run as part of the official product build that is used for three primary purposes:

  • Measure      the state of the build, validating product setup, application launch and      core feature functionality.  A failure indicates no further testing      should be attempted.
  • Indicator      that integration between branches (especially for a reverse integration to      “main”) did not break core product functionality
  • Indicate      if the core capabilities of the product are functional.   A BVT      with no failures is a strong indicator that the build can be installed and      used by internal developers and testers.

步骤:                                                                                                

1、 拿到最新的build后,安装环境

2、 执行BVT测试【自动或手动,一般fail掉的BVT手动再跑一边】

3、 BVT测试结束,如果成功,则给测试组进行接下来详尽的测试工作

如果不成功,报bug,修改bug,重新进行BVT测试

 

自动跑BVT,是将BVT的cases写进一个job中,在相应的机器上run这个Job ID,从而跑BVT

手动跑BVT:

参考网站,根据上面的步骤进行手动跑BVT

http://dynamics/functionalteams/test/wiki/Test%20Execution/BVT%20Execution.aspx

工作中的BVT包含哪些cases

                是在用例库中找出一部分用例作为BVT的测试用例,被挑选出来的BVT用例的特点:

1、 AX的基础应用及开发部分(the BVT is a smoke test, the BAT suite's goal is to measure the basic functionality of the features in the build,and the BVT has a strong focus on AX Foundation and Development capabilities.)

2、 产品的基本功能测试

3、 应用程序启动测试

4、 产品设置测试

5、 业务流的测试

6、 工作流的测试

Types of BVT Tests

The BVT test cases will fall into one of the following three categories:

  1. Foundation Tests - The Foundation      feature areas form the foundation of the application design time and      run-time experience. These tests are critical for both goals of the BVT.

  2. Business Logic Acceptance Tests - Core business logic must work as      expected for a build to undergo further testing, especially business logic      that is built upon by other logic in the application. These test cases      execute at an API layer and are built with the SysTest framework and      wrapped by Test Services.

      3. Application Smoke Tests - Core application capabilities must exist for a build to undergo further testing. These smoke tests exercise the application through the user interface and are a predictor of success in the next level of testing (BAT).

二、BAT(Build Acceptance Testing)

BAT概念:

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

 

何时进行BAT测试:

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

工作中的BAT测试:

About Build Acceptance Tests for Microsoft Dynamics AX, BAT are a suite of high-priority tests run after an official product build to measure basic functionality of features in the build. Build Acceptance Tests are used to evaluate if key scenarios are functioning as expected. Users of a module, or the entire product, may use successful BAT results as an indicator that the build supports these basic scenarios.

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.

BAT的测试用例也是从用例库中挑选出来的用例,作为BAT的测试用例,选取作为BAT测试的用例特点:

1、 主要功能的测试

2、 基础应用 (BAT suite has a focus on end user scenarios for both Foundation and Application functionality.)

 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.)

三、BVT & BAT的区别

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)模块不关注,而对于物流公司则相反。

博主:海宁

联系:whnsspu@163.com

BVT & BAT (版本验证测试和版本验收测试)的更多相关文章

  1. BVT & BAT & SVT

    1. BVT(Build Verification Test) a. BVT概念 Build Verification test is a set of tests run on every new ...

  2. MongoDB3.2版本与3.0版本写场景压力测试对比

    我们主要是为了测试journal对写操作性能的影响.分别测试了3.2版本,3.0版本在ramdisk,hdd上有journal,和没journal的情况. 发现一个很怪异的现象,3.2版本时候,随着y ...

  3. pip assert_source_matches_version(self)版本验证报错Source in %s has version %s, which satisfies requirement %s的解决方式

    在win8.1下为了安装flask模块,开始安装pip,结果发生了上篇博客里面的错误ntpath join(path, *paths) 发生UnicodeDecodeError.解决之后继续发现版本验 ...

  4. [App Store Connect帮助]六、测试 Beta 版本(4.2) 管理 Beta 版构建版本:查看构建版本状态和指标

    必要职能:“帐户持有人”职能.“管理”职能.“App 管理”职能.“开发者”职能或“营销”职能.请参见职能权限. 在首页上,点按“我的 App”,选择您的 App,然后在工具栏中点按“TestFlig ...

  5. [App Store Connect帮助]六、测试 Beta 版本(3.2)管理测试员:邀请外部测试员

    在您上传至少一个构建版本之后,您可以邀请外部测试员(您组织之外的人员)使用“TestFlight Beta 版测试”来测试您的 App.为了使您的构建版本可用于外部测试,请创建一个群组.添加构建版本, ...

  6. [App Store Connect帮助]六、测试 Beta 版本(1)TestFlight Beta 版测试概述(iOS、Apple TVOS、watchOS)

    TestFlight Beta 版测试让您可以分发您 App 的 Beta 版构建版本给测试员并收集反馈.您可以在您的 App Store Connect 帐户中一次为至多 100 个 App 启用 ...

  7. Windows10测试低版本IE方法

    前端开发工程师可能了解IETester是一款IE多版本兼容性测试软件,但是只支持Windows Xp,Vista,7,8系统,Windows10是不支持的,网上所说的开启.net framework ...

  8. 对Linux系统内核版本稳定性测试介绍

    对Linux系统内核版本稳定性测试介绍 在对 Linux 内核版本稳定性的测试中,需要明确地声明并证明为什么版本是稳定的或者是不稳定的. 然而还没有被证明和证实当前现有的系统范围内的压力测试可以测试 ...

  9. Linux + .net core 开发升讯威在线客服系统:首个经过实际验证的高性能版本

    业余时间用 .net core 写了一个在线客服系统.并在博客园写了一个系列的文章,写介绍这个开发过程: .net core 和 WPF 开发升讯威在线客服系统:目录 https://blog.she ...

随机推荐

  1. MVC Core 网站开发(Ninesky) 1、创建项目

    又要开一个新项目了!说来惭愧,以前的东西每次都没写完,不是不想写完,主要是我每次看到新技术出来我都想尝试一下,看到.Net Core 手又痒了,开始学MVC Core. MVC Core最吸引我的有三 ...

  2. virtualbox linux虚拟机相关

    linux虚拟机设置为静态IP 在virtualbox中安装好linux虚拟机后,如果采用的是NAT方式的话,linux虚拟机默认采用dhcp方式自动上网,而且用的是NetworkManager服务而 ...

  3. 从零开始编写自己的C#框架(28)——建模、架构与框架

    文章写到这里,我一直在犹豫是继续写针对中小型框架的设计还是写些框架设计上的进阶方面的内容?对于中小型系统来说,只要将前面的内容进行一下细化,写上二三十章具体开发上的细节,来说明这个通用框架怎么开发的就 ...

  4. 算法与数据结构(十七) 基数排序(Swift 3.0版)

    前面几篇博客我们已经陆陆续续的为大家介绍了7种排序方式,今天博客的主题依然与排序算法相关.今天这篇博客就来聊聊基数排序,基数排序算法是不稳定的排序算法,在排序数字较小的情况下,基数排序算法的效率还是比 ...

  5. [C#] C# 知识回顾 - 特性 Attribute

    C# 知识回顾 - 特性 Attribute [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5911289.html 目录 特性简介 使用特性 特性 ...

  6. HIVE教程

    完整PDF下载:<HIVE简明教程> 前言 Hive是对于数据仓库进行管理和分析的工具.但是不要被“数据仓库”这个词所吓倒,数据仓库是很复杂的东西,但是如果你会SQL,就会发现Hive是那 ...

  7. C#发送邮箱

    之前自己从来没有做过发送邮箱的功能,前段时间项目需要,在找了很多帖子之后,终于实现了. 之后有整理了一下,写了一个类.直接给类传递信息,就可以发送了. 这里还需要说明的是,发送邮箱需要开通POP3/S ...

  8. 纯javaScript、jQuery实现个性化图片轮播

    纯javaScript实现个性化图片轮播 轮播原理说明<如上图所示>: 1. 画布部分(可视区域)属性说明:overflow:hidden使得超出画布部分隐藏或说不可见.position: ...

  9. ORACLE从共享池删除指定SQL的执行计划

    Oracle 11g在DBMS_SHARED_POOL包中引入了一个名为PURGE的新存储过程,用于从对象库缓存中刷新特定对象,例如游标,包,序列,触发器等.也就是说可以删除.清理特定SQL的执行计划 ...

  10. 不要着急改代码,先想想--centos 6.8下编译安装tmux

    诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...