如何通过冒烟测试前置来把控提测质量?

你是否碰到过开发提测速度很快,导致项目排队,结果介入测试时,第一条用例都跑不通的情况?

你是否碰到过因为开发提测质量差,导致反复修改,反复提测,反复重复验证的情况?

你是否碰到过因为开发提测质量差,导致一个修改影响了一大票老功能,从而让项目质量岌岌可危的情况?

你是否碰到过因为开发提测质量差,导致项目后期通过压缩测试时间来保证项目进度的情况?

你是否碰到过开发拍胸脯承诺这次肯定没问题,结果测试数据稍一变通就跑不通过的情况?

不管你有没有碰到过,我反正是全都碰到过。

有人说,这开发太水了,咋不自测呢?

有些确实是没有自测导致的,但是有一些开发确实自测了,但是自测的结果是没问题的。

一方面开发自测时都是针对自己修改的内容进行自测,这种情况往往发现不了啥问题,毕竟自己对自己的代码太熟悉了。

另一方面开发自测时,大部分都是通过调试来看效果,并不是真正的用户环境,甚至连测试环境都算不上,那么这种自测的效果就很差。

那有没有什么好的解决办法呢?有。

下面提供几个操作建议供参考:

1.提供给开发人员自测需要的环境

比如我们是 Windows 客户端的软件,经常需要覆盖不同的 Windows 系统版本,很多开发都没有很全的系统版本的环境,所以提测的时候只会在一个他自己常用的环境进行自测。

有时候出现问题,他们的借口也可以是自己没有现成的环境,搭建环境需要时间太多等等,那好吧,我们给提供需要的各种拿来即用的环境就好了,反正我们测试也是要准备各种各样的环境的。

其实和几个开发的沟通发现,他们还是挺高兴有这些环境的,所以可能真不是人家不想自测。

那既然可以两全其美,何乐而不为呢。

2.提供开发人员自测的测试用例

我们在收到开发的提测通知后,经常的对话就是「自测没?」,「这次真的自测了。」,结果一冒烟,依然有问题,开发带着震惊的表情过来一看,不好意思,这个场景我们考虑到,但是我确实自测了呀,你看测试数据换成这样肯定没问题。

是滴,不是没有自测的错,只是测试的内容和我们预期的不一样,也就是每个人对「自测」的理解不一样,那我们明确下自测的详细要求就好了呗。

目前我们组几个同学的方法就是直接丢给开发冒烟测试的用例,必须把这些用例跑通过了才能提测。

开发其实也挺乐意这样做的,毕竟目标明确,还能避免反复低质量提测,何乐而不为呢。

3.提供提测时的前置自动化校验

上面说的两种方法都是人工干预,既然是人工干预,就会涉及到人的不可控性,为了避免人的因素造成的问题,我们又在提测系统中增加了一些必要检查点的自动化检测逻辑。

比如文件签名属性的检查,一方面这是对所有文件的通用检查要求,另一方面检查的规范要求的十分明确,那么这种就特别适合做成自动化实现,如果检查有问题,直接阻止提测,减少交互造成的时间浪费。

这地方提醒下,所有的阻止项一定要给明确的说明,避免开发不知道什么原因被阻止,也不知道怎么修改,那就尴尬了。

4.提供冒烟测试的自动化用例

在一些自动化落实程度比较高的项目中,如果已经有主要用例完成了自动化用例覆盖,完全可以把自动化执行接入到提测流程中,提测前必须过自动化用例检查。

这样一方面可以节省开发准备环境的时间,另一方面开发对用例的关注程度也可以减弱了,所有的结果和问题都可以在自动化用例实现上进行完善。

其实对于一些要求开发进行充分单元测试的项目,上面这些担心都不是必要的,因为我们提供的解决方法都包含到单元测试的要求里面了。

但是基于国内的现状,能完整开展单元测试的项目并不多,那么质量保证的任务就全部落到测试人员的身上了。

有同学可能对上面的方式有一些疑问,比如测试是不是做的太多了,提测质量的要求本来就是需要开发做到的,现在他们做不到,却还让测试帮忙额外做这么多事情,太没有道理了。

其实之前我也是这么想的,后来发现测试工程师的主要工作职责其实就是质量保证,那么所有和质量保证相关的事情,测试都可以去推进,这也是很多公司衍生出 SQA 的原因。

那如果从质量保证的角度想想,是不是上面做的这些事情就很有必要了,只是把一些测试人员需要做的事情前置了,但是带来的好处却是比投入要大的多,毕竟谁都知道早期发现问题的修改成本要比后期发现再修改的成本低的多。

以上,关于冒烟测试你有什么看法和想法,欢迎给我留言讨论。

本文首发于公众号「sylan215」,十年测试老司机的原创干货,关注我,一起涨姿势!

原文地址:http://blog.51cto.com/sylan215/2347406

时间: 2024-10-09 06:21:51

如何通过冒烟测试前置来把控提测质量?的相关文章

冒烟测试

冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作. 在一般软件公司,软件在编写过程中,内部需要编译多个版本(Builds),但是只有有限的几个版本需要执行正式测试(根据项目开发计划) ,这些需要执行的中间测试版本,在刚刚编译出来后,软件编译人员需要进行基本性能确认测试,例如是否可以正确安装/卸载,主要功能是否实现, 是否存在严重死机或数据严重丢失等Bug.如果通过了该测试,则可以根据正式测试文档进行正式测试.否则,就需要重新编译版本,再

冒烟测试(Smoking Tesing)

冒烟测试这一术语源自硬件行业.对一个硬件或硬件组件进行更改或修复后,直接给设备加电.如果没有冒烟,则该组件就通过了测试. 在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程.在检查了代码后,冒烟测试是确定和修复软件缺陷的最经济有效的方法.冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性. 冒烟测试据说是微软起的名字,可以理解为该种测试耗时短,仅用一袋烟功夫足够了.冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认

冒烟测试和回归测试的区别

区别: 冒烟测试就是完成一个新版本的开发后,对该版本最基本的功能进行测试,保证基本的功能和流程能走通.如果不通过,则打回开发那边重新开发:如果通过测试,才会进行下一步的测试(功能测试,集成测试,系统测试等等).冒烟测试优点是节省测试时间,防止build失败.缺点是覆盖率还是比较低. 回归测试我有两层理解,一是就是当你修复一个bug后,把之前的测试用例再次应用到修复后的版本上进行测试.二是当一个新版本开发好后,而且冒烟测试通过,此时可以先用上一个版本的测试用例对新版本进行测试,看是否有bug. 拓

测试人员如何把控项目进度

项目背景简介 项目代称 K项目 项目成员 6人(1个测试猿的窘境:  1.需求文档不明确?  2.提测时间不明确?  3.项目进度不明确?  4.我是谁?我该干嘛?  想必每个测试猿都会遇到以上的窘境,版本到项目快截止时才提测,最后项目延误了,又要默默的背锅?  项目进行了半个月,依然没有我什么事儿,我真的不想国庆加班啊,去年就已经安排了今年的国庆节行程,怎么可能延误,必须要改变现状了··· 一.主动沟通,抛出问题 主动找研发经理沟通,抛出问题,提出解决方案:迈出这一步我也是三思而后行.  1.

软件测试系列——冒烟测试(Smoke Test,ST)

1. 核心 冒烟测试就是完成一个新版本的开发后,对该版本最基本的功能进行测试,保证基本的功能和流程能走通. 如果不通过,则打回开发那边重新开发: 如果通过测试,才会进行下一步的测试(功能测试,集成测试,系统测试等等). 简化:门槛测试,一个开关而不是一个阶段. 目的:版本验证测试BVT(Build Verification Testing). 时间:开发转测试,历时半至一个小时,很短. 对象:需求覆盖,主功能路径. 优点:节省测试时间,防止build失败. 缺点:覆盖率还是比较低. 操作:对着需

互联网项目流程

干系人 步骤 备注 产品.项目经理 项目立项   开发.测试.产品 需求评审 测试负责人安排相关测试人员参加:后续任何需求的变更都需要通知相关测试人员 开发.测试 制定开发.测试计划 测试计划含:进行任务分工:评估测试用例编写.执行等时间:用例编写:内部用例评审 开发.测试.产品 用例评审 项目经理组织用例评审会议 开发 提测邮件 发送提测邮件 测试 冒烟测试执行 冒烟测试后,发送冒烟提测邮件,冒烟通过则接收测试:冒烟不通过则打回,并附冒烟测试用例,开发自行进行冒烟测试,直到通过再提测 测试 测

全程软件测试之测试需求分析与计划

全程软件测试之测试需求分析与计划 在项目启动之后,就要着手软件项目的计划,包括软件测试计划.软件测试计划是整个开发计划的组成部分,同时,它又依赖于软件组织过程.项目的总体计划.质量文化和方针.在测试计划活动中,首先要确认测试目标.范围和需求,其中"测试需求分析"是关键任务,然后在测试需求基础上制定测试策略,并对测试任务.时间.资源.成本和风险等进行估算或评估. 无论何时进行估算,我们都是在预测未来,并会接受某种程度的不确定性.软件项目计划的目标是提供一个框架,不断收集信息,对不确定性进

月活8.89亿背后:微信工程师细数兼容测试经验

作者:曾夏,微信客户端测试开发商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 原文链接:http://wetest.qq.com/lab/view/306.html 2017年4月,企鹅智酷公布了最新的<2017微信用户&生态研究报告>.报告数据显示,截止到2016年12月微信全球共计8.89亿月活用户,新兴的公众号平台拥有1000万个.微信这一年来直接带动了信息消费1742.5亿元,相当于2016年中国信息消费总规模的4.54%. 坐拥如此量级的用户,也意味着,微信发

关于全功能团队及测试人员的发展

这两天部门内部在讨论全功能团队的相关东西,希望后续能慢慢的实施起来.这里全功能团队的概念,简单来说就是希望能够减少团队的规模,加快产品交付的节奏,类似于敏捷开发模式中的小步快跑,能够频繁的有版本上线运行.总体方向来说是好的,这套东西很多互联网公司也玩的很顺畅,但是在华为,最起码在我所在的部门内,还非常缺乏这方面的积累和氛围.整个研发的运作模式和管理层都是从传统的运营商转型过来的,团队庞大,低效,笨重...等等一系列的缺点. 关于这种团队模式的优缺点,如何根据自身的项目实际来运作,以及在这种模式下