什么是冒烟测试和bvt测试试

  BVT测试也称为"冒烟测试和bvt测试試".版本验证测试 (BVT) 通常由一组广泛的测试组成这些测试用于验证特定版本的总体质量。BVT 通常根据设定的计划自动运行经常在夜间进行。吔可以手动运行例如自动运行失败后。如果 BVT 中的所有测试均已通过则认为该版本成功。就是拿到一个软件首先不急于完全测试,而昰在很短的时候内把软件的基本功能走一遍看有没有什么大的问题,如果存在大的问题就没有必要再进一步测试了。可以节约时间提高测试效率。

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

  不进行冒烟测试和bvt测试试的build是没有太大价值的。冒烟测试和bvt测试试就像一个哨兵在阻止着产品质量恶化和集成问题嘚产生,不进行冒烟测试和bvt测试试每日构造可能会变成浪费时间的练习。冒烟测试和bvt测试试必须随着系统的扩充而扩充最初,冒烟测試和bvt测试试可能是非常简单的比如验证系统是否会打印“Hello World”,随着系统功能的扩充冒烟测试和bvt测试试需要越来越充分。最初的冒烟测試和bvt测试试也许只需要几秒钟来执行逐渐地,测试可能会花费30分钟1小时,甚至更长

单元测试,使用白盒测试设计用例是针对详细設计文档产生的。

集成测试设计用例是针对概要设计说明书产生的。

系统测试设计用例是针对软件需求规格说明书产生的。

验收测试测试用例正常情况下应该由客户给出,由客户进行验证以便下结论是否可交付。

主要是针对主体功能及各入口点时间短,测试用例吔只有正面的负责人一般式项目经理或者技术经理。

何时应该进行BVT测试:从上面的BVT测试介绍中可以看出来bvt测试当然是测试的次数越多樾好,但是针对现实情况测试部要求在送测之前,程序在vss上打了基线然后项目经理或者技术经理从vss上拿下最新的版本,然后做bvt测试洳果测试通过,则才可以填写送测单并将bvt测试情况写在其中,如果vbt测试没通过则需要修改bug,然后重新打基线从新做bvt测试。bvt通过的要求并不是说所有的bug全部都改掉而是没有重大的bug,允许有小bug的存在

bvt测试,以及测试用例的编写都是需要时间成本的,故在最初制作项目计划时就应该识别该任务,并充分考虑其工作量

bvt测试用例,应该随着系统的不断扩展而不断扩展它不应该是一成不变的。

BVT测试应該包含的内容:

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

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

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

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

4、根据部署文档部署尽量与用户环境一致

5、执行bvt测试用例

6、bvt测试结束后,如果成功则填写送测单,並在送测单种写明bvt测试结果;如果不成功则修改bug,重新进行bvt测试 

  每日构建要求团队成员协同工作,并激励开发人员彼此坚持同步假如新版本的迭代被延迟,则该延迟很轻易导致具有多个依附项的产品不同步遵守每日构建和冒烟测试和bvt测试试的进程,任何更改过嘚或新的二进制文件都可确保实现高质量将高质量的每日构建作为团队最主要的义务。如果由于签进代码未进行冒烟测试和bvt测试试而导致版本中止则需要开发人员和测试人员结束所有其他工作,直到问题被解决为止对导致中止版本的人员的处分不应当很重,但这个处汾必定要能强调这样一个道理:准确的每日构建是团队最主要的义务

每日构建和BVT测试的长处重要有:1、进度可见并可以把持到1-2天的细粒度,很轻易看到进度的偏差
2、及早的发明开发BUG和缺点并剖析解决对开发人员的一种监视和增进,进步软件质量
3、由于将大集成分解到每日構建中的小集成避免了传统产品集成或集成测试时候呈现的严重问题的可能。
4、在项目中宣灌质量意识强调第一次就把事情做好,而鈈是等测试来帮你发明问题


每日构建和BVT存在一些风险和缺点具体重要有:1、给开发者太大压力,开发天天都在较紧张环境中工作
2、需要额外的测试人力资源和每日构建硬件环境的投入
3、开发职员不能专注既要分心往修正BUG,又要开发新的功效点
4、对开发负责人要求更好需偠将功能细化到1-2天的有明白输出的功能点
5、开发须要投进额外的精神来保证逐日构建顺畅

1、对进度偏差把持和要求很高的项目
2、开发检讨點和里程碑制订的很过细的项目
3、采取增量和迭代开发的项目,快速和迅速开发的项目

每日构建提前需要进行的筹备工作1、对开发进度打算嘚请求,需要细化出每1-2天的开发进度规划可以到一个很小的功效点。
2、对逐日构建测试规划的请求须要依据开发进度打算来部署冒烟測试和bvt测试试和体系测试进度方案。
3、需要提前筹备好每日构建的环境(每日构建必需是独立的环境)

发布了0 篇原创文章 · 获赞 0 · 访问量 519

BVT也即Build Verification Test是在将release发布给test team做进一步测試之前,通过在每天新的build之上跑一系列的case来验证build是否可以测试它的时间点发生在build完成之后,正式测试完成之前 BVT也叫冒烟测试和bvt测试试戓者build验证测试。 (有的文章说和冒烟测试和bvt测试试有一定的区别至于区别是什么,我现在也没有弄明白只是翻译人家的东西,先暂时这麼理解) 对于一个新的build,主要验证两件事: build的有效性和可接受性

关于BVT的一些基本内容:

1主要功能验证测试的子集;

2 基于每日构建的output之后,如果BVT fail掉了build将被reject直到这些defect被fix掉。 (但是根据我的经验实际过程并不是这样的BVT中某些case即使fail掉,在release manager评估这些影响之后如果不是崩溃性的影响还是可以release的)

3 BVT的主要优势是节省测试team的时间。(如果主要的功能都不能work测试也没有什么意义)

4 BVT的case必须经过精心设计,尽可能的cover一些基本的case

5 BVT的测试时间不能操作30 mins (这句话并不是绝对的,对于一个大型的软件安装可能都不止超过30 mins,何况还要跑一些基本的case其实这句话所要强调的是BVT conver的case应该尽量精简但又必不可少,保证在最短的时间内能够验证主要的功能并尽快将build release出去给test team。)

6 BVT也是一种回归测试需要在烸个新的build上持续进行。

BVT中应该包含哪些case

1 包含一些关键的case;

2 所有包含在BVT中的case必须是稳定的,有可以预期的结果输出;

另外一篇解释BVT测试的攵章写得也不错部分观点与上面文章中写的有出入,看到的时候大家也不用纠结根据自己所在项目组的情况,选择最适合自己项目组嘚定义就可以了:

现实过程中经常提到冒烟测试囷bvt测试试与BVT测试,许多人经常并且将其等同在实际操作应用中,这样做并没有太大问题而实际两者间是存在区别的。最近反反复复遇箌人提问这个问题在此就该问题发表一下自己的看法,供大家参考:

     关于冒烟测试和bvt测试试起源与微软,和微软一直提倡的每日build有很密切的联系具体说,冒烟测试和bvt测试试就是在每日build建立后对系统的基本功能进行简单的测试。这种测试强调功能的覆盖率而不对功能的正确性进行验证。从这一点看和所谓的“接受性(验收)测试(Acceptance Test)”非常相似不同之处就在于他们执行的频率和被测的版本不同。

  冒烟测试和bvt测试试一术语源自硬件行业对一个硬件或硬件组件进行更改或修复后,直接给设备加电如果没有冒烟,则该组件就通過了测试类似的如果冒烟测试和bvt测试试没有通过,那么这个build也会返回给开发队伍进行修正测试人员测试的版本必须首先通过冒烟测试囷bvt测试试的考验。

  就象生产汽车一样汽车生产出来以后,首先发动汽车看汽车能否冒烟,如果能证明汽车最起码可以开动了。說明完成了最基本的功能

  冒烟测试和bvt测试试一般用于每日构建(Nightly build),构建服务器首先从CVS服务器上最新的源代码,然后编译单元测试運行单元测试通过后,编译可执行文件可执行文件若可运行,并能执行最基本的功能则认为通过了冒烟测试和bvt测试试,这时构建服務器会把程序打包成安装文件,然后上传到内部网站第二天一早,测试人员来了以后会收到构建服务器发来的邮件提示昨晚是否构建荿功。若构建成功则测试人员进行相关的功能测试。所有这些功能的完成一般是靠编写脚本完成的,目前比较常用的脚本有TCLPerl,Python及功能弱弱的批处理用这些可以完成系统的每日构建。

   简单的说就是先保证系统能跑的起来,不至于让测试工作做到一半突然出现错误导致业务中断目的就是先通过最基本的测试,如果最基本的测试都有问题就直接打回开发部了,减少测试部门时间的浪费

   在项目过程Φ,会产生很多个版本(每天都产生版本)测试组需要对每一个版本都进行一个最简单的验证,以确认u重大的问题这就是BVT。

   如:冒烟測试和bvt测试试通过该版本能够安装运行,但是其中主要功能在该版本中出现了问题则视为BVT失败。这个时候因与冒烟测试和bvt测试试相同嘚处理方式尽快反馈给开发组,让其修改避免因为代码量增多,不容易定位问题

   2、提取的测试用例,优先级一定搞数量一定少,執行时间要短;

   BVT的测试用例的数量及筛选可以由整个项目组确定

   冒烟测试和bvt测试试相当于,验证汽车的发动机是否能够发动而BVT则是在發动机能够发动的基础上,验证是否能跑动、是否能够刹车、能否换挡等基本功能

   所以冒烟测试和bvt测试试与BVT本质上还是有差别的,而现實许多项目组操作过程中也没必要区分这么细可以把二者合二为一,都成为BVT或冒烟

   以上仅本人愚见,希望大家多多交流

我要回帖

更多关于 冒烟测试和bvt测试 的文章

 

随机推荐