• BVT与冒烟测试


    【BVT的释义】

    BVT的全称是Build Verification Test。可以说这个全称就是BVT的定义了。

    BVT只验证build构建的成功与失败,不深入测试构建好的build的功能、性能等等。

    BVT是在所有开发工程师都已经检入自己的代码,项目组编译生成当天的版本之后进行,主要目的是验证最新生成的软件版本在功能上是否完整,主要的软件特性是否正确。如无大的问题,就可以进行相应的功能测试。BVT优点是时间短,验证了软件的基本功能。缺点是该种测试的覆盖率很低。因为运行时间短,不可能把所有的情况都测试到。

    【BVT的执行】

    在每日构建的环境里,每个 daily build 构建完成时都要执行 BVT。对于 daily build 以外的每个版本和微版本,构建完成时也要执行 BVT。

      BVT  可以手动执行。版本的构建是相对稳定的过程,因此 BVT 基本上是软件测试中最早实现全面自动化的测试。现在绝大多数版本构建工具都附带 BVT 功能。

      BVT 最基础的任务是进行文件版本的比对。伴随开发进程,软件功能越来越固化,BVT 有时会在不影响最基本功能的基础上加入一些成熟自动化测试脚本。

    【BVT 对后续测试工作的影响】

      BVT 是集成测试的一道门槛,只有通过了 BVT 的 build 才可以进入后面的集成测试过程。

    • BVT 结果成功的 build —— 表明该 build 构建成功,交付集成测试,但不一定被测试。

    • BVT 结果失败的 build —— 表明该 build 构建失败,不交付集成测试;提交 BVTBug,并按照 Bug 流程解决此 Bug。

    • 未经 BVT 的 build —— 不得提交集成测试            

    Smoke Testing是从电路板测试得来的,当电路板做好以后,首先会加电测试,如果电路板没有冒烟再进行其它测试,如果冒烟了就说明这个电路板基本的功能(加电)都没达到,那其他的功能也就没办法测了。软件测试中的冒烟测试,是对软件基本的功能进行测试,目的是确认软件基本的功能正常,保证软件系统能跑的起来,如果基本功能不正常的话,就没有办法进行后续的测试,所以测试人员测试的版本必须首先通过冒烟测试的考验。

    【BVT 不同于 Smoke Testing】

      BVT 所做的测试内容很浅,这一特征似乎符合 Smoke Testing 的定义;但是 BVT 只验证 build 的构建情况,这一点与 Smoke Testing 截然不同,因此二者是完全不同的测试。另外:

    • BVT 只在 build 构建完成时进行;Smoke Testing 是各个阶段都有的测试。
    • 尽管 BVT 可以加入自动测试脚本并执行少量固定的自动化测试,但 Smoke Testing 与 build 的验证无关。
    • BVT 的结果直接决定新构建的 build 是否交付后续测试;Smoke Testing 不影响其他日常测试工作。
  • 相关阅读:
    CodeForces
    [AHOI 2013] 差异
    BZOJ
    [校内训练20_09_15]ABC
    [校内训练20_09_10]ABC
    [校内训练20_09_08]AC
    fastIO
    [校内训练20_06_05]ABC
    [校内训练20_06_04]ABC
    [校内训练20_06_03]ABC
  • 原文地址:https://www.cnblogs.com/VseYoung/p/BVT.html
Copyright © 2020-2023  润新知