驱动开发自测

【APP测试中的头疼闹热】测试人员如何驱动开发做好自测 https://mp.weixin.qq.com/s/in5M9VcdwPp6d9VzdvE-Eg

【APP测试中的头疼闹热】测试人员如何驱动开发做好自测

李晓莉 TestBird 2016-03-17 17:50

图片

 

今天TestBird的测试工程师@lixiaoli在内部论坛给大家带来了第一篇非常好的原创文章,而且看样子是个系列文章哟!有这样的好文,Bird也甘愿当搬运工哦~!

图片

如今,随着移动互联网的浪潮越翻越涌,移动APP测试工作的现状已经成了那本“家家难念“的经。不管公司大小,不管测试哪种类型的APP,让广泛测试者苦不堪言的就属重复性最多,测试工作量最大的功能测试。而这个系列文章将逐一解构一些问题。

 

笔者通过对目前大型的安卓市场和APPstore进行调查,其实我们可以发现每天都不乏有有创意的,能够针对市场需求的APP上线,但不管当时这些APP是不是排在榜单前列,过不了多久,它们便在应用市场中销声匿迹,变成所谓的“僵尸”应用。

 

图片

面对这些如雨后春笋般冒出的APP,若是你使用过的话,其实就可以发现一个常见的问题---APP本身不错,但用户使用过中程碰到了各种异常,面对这样的情况,一般用户都会选择删除,继而选择其他更适合的APP。

 

图片

大公司:有多名测试专家,有庞大的测试用例库,测试工作分工明确,做功能测试的人员通常固定,新员工能力建设主要通过执行用例。功能测试人员耗费了大量时间在与开发的沟通博弈上。

 

中型公司:有一个看得过去的测试团队,测试用例和测试平台管理通常有待完善,而测试人员流动性对其测试能力的建设和传递提出了很大考验。通常一个人负责多项测试工作,时间耗费最多而对能力提升最小的手工功能测试则让测试者崩溃。

 

小型公司:只有一两个测试人员甚至没有,快速的研发进程都让研发团队应接不暇,更多的就忽略了全面的功能测试,更不用说测试体系建立。

 

而对中小型公司来说,版本迭代没有严格的流程,通常版本提交测试后,发现很多问题导致冒烟不能通过,反反复复。

 

图片

本文先解决第一个问题:

 

怎样提高中小型公司测试执行的规范性,让测试驱动开发进行自测?

 

毫无疑问,很多测试接口人或者测试者都遇到过这种情况,开发人员完成功能开发就丢给测试人员,你问他自测过吗,他的回答是肯定的。

 

而往往测试人员一验证就发现冒烟不能通过,再打回重新修改,一来二往,时间浪费了,测试人员不胜其烦地为开发做了验证工作。

 

你再问开发“你到底有没有自己好好做一轮功能测试?”

 

开发回复你“哦,我这边没有手机了~”

 

到最后项目时间变得很紧张,因为在国内测试主要是后期工作,这时间压力就落到测试者头上。测试不完整导致的大黑锅便自然落在了测试人员身上。

 

我们基于云手机把功能测试搬到线上,这样避免了双方责任推诿,通过工具详细记录测试过程,并以执行用例的方式呈现。测试成功与否,测试问题截图日志全部都自动保存。

 

测试结果可以直观看到,省去了一来二去的相互推诿,不管是开发还是测试,工作效率都会更高。

 

驱动开发去自测,APP开发的流程会更加自然而规范

图片

 

 

图片

图片

 

 

 

关于TestBird:

 

TestBird能够提供真机兼容性测试、真人体验测试、真人压力测试。与腾讯、网易等5500多家游戏厂商建立合作关系,测试手游超过16000款,占据手游行业70%以上份额。

TestBird真机测试平台:已经拥有2000多款全球热门机型,覆盖市面上95%以上人群;

真人体验测试:已经吸引40000多名高品质玩家,供开发者进行游戏玩法体验调研;

真人服务器压力测试:基于TestBird已有的40000多名真实玩家,为开发者提供多人在线服务器压力测试;

云手机:基于云端2000+真实手机,可供开发者远程使用。方便调试BUG、应用演示、游戏在线试玩等。

  信不信?我们项目没Bug https://mp.weixin.qq.com/s/AV4irlmaRGGuz-ySF5_Xuw

 

 不推开发自测,你就干死了 https://mp.weixin.qq.com/s/3lyO-tILFGymbu8LFct9-w

信不信?我们项目没Bug

李丹 网易易测 2017-06-20 18:15

图片图片

 

1

 

引言

 

曾经, 我以为

作为一名测试工程师, 提交Bug就是我的本职工作。 Bug提的多,说明我牛。

直到有一天,我跟了一个糟糕的项目,逾期未交付, 做砸了~ 虽然我们测试团队报了近千个Bug,可依然阻止不了项目的失败。

我的总监(负责开发和测试团队)在绩效考核时,评价我的工作:“Bug报的多,并不能代表什么,只能说明开发质量烂”,“项目失败了,虽然不是你的原因,但按照个人贡献,我只能给你打个Meet(合格)”

站在大Boss的角度,是希望这个产品是成功的,高质量的。而线下Bug多,都只是内耗。

那,我, 一名测试工程师,我能推动开发代码质量的改进吗?

有幸,在网易**项目中,基于PDCA质量管理理念 做了一次实践。

 

图片

 

 

图片

2

 

计划 Plan

 

1、分析现状

 

项目负责人:

为什么测试员都已经报了这么多Bug,还是会有很多线上问题?

整天在救火, 还怎么好好的做新需求啊!

究竟是开发代码质量差,还是测试员覆盖不全啊?

开发:

我需求都没开发完,你们就催着提测,催着上线。

哪有时间保证质量啊? 加班997, 都没时间和老婆生孩子了, 还要被责怪,我委屈啊委屈。

测试:

这Bug都好low哦! block我测试了。

这个Bug 怎么还没改好啊?都打回2次了。

啊? 怎么最后一轮还有Bug啊!不开心。

可是, Deadline的号角已经吹响了~宝宝心里虚啊!

项目负责人:

是时候整顿下了。

 

2、分析原因

既然是由Bug引起的一场战乱,那咱就从Bug着手。 于是,有了一周一次的Bug回溯。

 

分析哪些bug?

  • 线上的Bug

  • 线下Critical 和 Major 的Bug

  • 罗列出可以通过开发自测解决的Bug

分析什么?由谁分析? 怎样分析?

  • 每周挑选5个左右。

  • 分析 Root Cause, 以及落地改进方案。

  • 线下的Bug改进方案由开发分析,线上的由开发和测试共同给出。

  • 每周周会,在测试发言环节,和所有人分享,其他所有人会进行补充并优化落地改进方案。

 

3、制定计划

落地改进包括两点:技术改进和流程改进。流程改进包含以下内容:

  • 简单粗暴的Bug请开发加强自测。

  • 开发加强 Code Review

  • 测试加强业务异常以及系统异常测试

  • 其他流程上的改进。

其他流程上的改进包含以下内容:

  • 对需求进行细化

  • 对接口进行详细定义和异常处理

  • Hotfix 流程改进

  • 提测前客户端与服务器进行联调

  • 测试阶段进行BugBash

  • 整理并维护上线CheckList

 

 

 

图片

 

3

 

执行 Do

 

问题都已经暴露出来, 改进方案也有了。那么如何确保证这些改进真正地落实了。

纵观整个改进方案,最难落实的应该就是开发自测和代码评审。

开发先哭了,我们加班加点,周末无休, 需求都赶不完。还让我们自测,让我们代码评审。 我们也知道好处多多,but 时间啊, 时间啊~~

头儿发话了: 需求是一定要赶的(竞品太多),但是质量也得抓。

他锊了锊性感的胡须:“这样吧!下期需求,你们把自测和评审的时间都评估进去。随着你们对项目的逐渐深入, 对需求的评估能力应该会更加准确的。 到时候自测没做,可不能以时间为借口了哦!”

会哭的孩子有奶吃, 时间终归是有了。

那么怎么来监控开发自测和代码评审的过程呢? 毕竟这2个流程都是贯彻始终、持之以恒的事情!

 

1、开发自测的监控

开发自测,如果仅仅只关注开发冒烟用例的通过率,往往是不够的。 因为执行效果怎样,需要打一个问号。  

配合自测型Bug的跟进,疗效不错!(所谓自测型Bug,说的狠一点,就是低端Bug,哦,请原谅我是一个刀子嘴豆腐心的人)

说实在的,开发小哥们都是三观正、有理想的。谁愿意让人家指指点点Bug多代码烂呢?

之前真的是流程的问题, 真的是流程的,流程的问题~

 

2、代码评审的监控

Gitlab自带Code Review 功能,跟踪者可以通过Activity 模块下的Comments 查看到所有评论。

 

 

图片

 

可以每周统计一次数据, 包括评论条数、内容、修复情况, 在团队内部晾晒数据。

图片

 

4

 

检查 Check

 

检查是对执行后效果的评估,是伴随着实施过程自始至终的,不断收集数据的过程。

 

图片

版本时长:  计算开发开始--测试结束的时间。

总开发人日: 所有的开发人员在这个版本中投入的人日总和, 指版本规模。

关注的指标: 总bug数除以总开发人日。

实践2个半月后,统计了近7个版本的指标, 大家可以看到,最后2个版本,指标降下来。

开发负责人: 质量好了,不用总是被锅了。

测试: 郁闷,找不到Bug了(其实有找到几个old Bug)

项目负责人: 测试找不到Bug, 我也还是担心啊!

我:测试期间找不到Bug,同样的测试资源,只会比以前更心细。 测试深度更深。对测试环节,请放心~~~

图片

 

5

 

实践总结 Action

 

 

以上流程核心:以Bug回溯的方式来推动开发自测、代码评审以提高提测质量,进而提高产品质量。并且,不断收集晾晒数据,让团队所有成员知道我们在不断进步。

开发鼓励坚持以这样的方式做质量改进。原因如下:

  • 质量是真的在变好。提测后,发现的总Bug数少了很多。

  • 开发把测试阶段修改Bug的时间解放出来,可以做其他更有价值的事情。

  • 上线前所有人比以前更有底气了。

  • 整个团队规范性、自信心、士气、更好了。

     

不推开发自测,你就干死了

李丹 网易易测 2017-06-29 17:55

图片

图片

发表了《信不信?我们项目没Bug》之后,陆续会被问到一些细节问题。今天主要和大家聊聊,怎么去推动开发团队做开发自测。

1

QA怎样去推动?

QA动员开发,让开发做自己不擅长不喜爱不太接受的事情, 你说的没错!的确是有难度的。 

但,大家也非常明确一件事,流程的推动一定程度上都是自上而下的。

所以,第一件需要做的事情是,用数据说话, 获得开发经理的支持。

 

1. 统计出最近一个版本自测型Bug(低端Bug)的占比

 

图片

 

 

2. 罗列出自测型的Bug

图片

 

3. 向开发负责人、项目经理等提出QA的建议

  • 希望开发能够加强功能点的自测,减少低端Bug。

  • QA 将主要精力投入基于整体业务、用户场景的系统测试。

我相信,作为一名有情怀、有素质、有质量意识的开发经理,不会无动于衷。

也许,他也想做这件事情,而你恰好提供了这样的契机和方案呢。(重点是,如果一次不成功,脸皮厚点找各种机会多磨几次)

图片

2

全体宣贯

任何一个流程的推动,我个人觉得,还是需要一定的仪式感的。

最好是以会议的形式。

如果有线上事故驱动,QA可以适时展示Bug数据,提出合作改进方案。

如果没有线上事故,以QA牵头,组织《Bug分析》会议是最自然的方式。

传统上的质量报告,大家最关注的是上线前的质量。

而Bug分析,将开发团队带入到过程中, 将测试对开发,一对一的过程公开透明化。让不太优雅的流程改进化。

我们要在这个会议上不仅暴露问题,还要提出改进具体细则。

图片

另外: 这个会议开发经理一定要在场哦!因为流程的推动肯定是自上而下的对了,最好再叫上项目管理。

最后有了结论,别忘了邮件里敲定

图片

3

数据统计晾晒

质量改进后第一次统计

图片

结论: 在开发投入人力增多,节奏加快的情况下,Bug率、自测型Bug率反而明显降低!

图片

几乎每个人的Bug率较基准版本均下降,前端下降幅度最大!

我们在会议上,美美的表扬了进步幅度最大的开发,荣获当期质量之星!

图片

4

持续跟进,验收结果,健康

图片

 

持续跟进了6个月的质量,状态健康。

系统Bug率从1.62下降到0.57,进入稳定期,在0.6左右徘徊,质量提高近3倍

尤其是在前2个月,成效显著!图片

5

持续跟进,指标反弹,不健康

2017年3月份的版本,系统Bug率0.59,但前端Bug率达到1.29。

图片

 

分析背后的原因:

•前端界面全新改版

•而开发自测用例只提供了主干功能,导致开发自测颗粒度太大,且不够系统

改进措施:

 

图片

 

效果:

图片

 

Bug率出现了历史最低0.38

图片

6

各方反馈

前端负责人:

开发自测,投入产出比还算挺高的。

一、能够缩短整个项目时间,因为我们修改Bug时间缩短了很多。

二、能加强开发对需求的理解,需求理解的一致性很重要。

三、自测很快的,就是造数据有点耗时,如果能帮助开发快速造数据,那就更赞了。

后台开发:

用例,对于整体流程跑通的作用还是比较大的,并且自测的时候,能够提前发现一些问题,感觉挺好的。

测试:

Bug率最低(0.38)的这个版本

一、基本没有大问题。也许,开发自测的用例不用验收,问题也不会太大。

二、历史以来测试最顺畅的一次, 居然都不用和开发,产品去沟通交流了。

三、改进后,开发人日/测试执行人日,出现最大值4.28

图片

 

说明测试执行人力(man*day)在下降。

换句话说, 测试执行成本在降低。

对开发团队隐形的好处,是战斗力在增强。我们的前端同学都已说明, 测试期间,改Bug时间缩短了,和测试同学纠缠的时间少了,可以安静地做下一个迭代的开发了!!!

所以我们的项目可以达到一周一次上线,开发测试可以高效地并行。

 

 

 

 

 

posted @ 2022-06-08 17:05  papering  阅读(60)  评论(0编辑  收藏  举报