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

项目背景简介

项目代称

K项目

项目成员

6人(1个测试猿+5个程序猿)

项目周期

两个月(截止日期,国庆节前)

工时评估

以天为单位(模糊评估)

测试猿的窘境: 
1、需求文档不明确? 
2、提测时间不明确? 
3、项目进度不明确? 
4、我是谁?我该干嘛? 
想必每个测试猿都会遇到以上的窘境,版本到项目快截止时才提测,最后项目延误了,又要默默的背锅? 
项目进行了半个月,依然没有我什么事儿,我真的不想国庆加班啊,去年就已经安排了今年的国庆节行程,怎么可能延误,必须要改变现状了···

一、主动沟通,抛出问题

主动找研发经理沟通,抛出问题,提出解决方案;迈出这一步我也是三思而后行。 
1、找到沟通有效的人

· 找项目负责人?项目负责人只是其中一个研发,解决不了根本的问题。

· 找项目经理?项目经理经常出差,很难得到准确的回复。 

· 最后,只能冒昧约研发经理谈话了,程序猿的直属领导,应该是最有话语权了。

2、抛出问题,提出解决方案 
存在问题:

· 需求不明确,没有相关文档输出

· 任务没有划分优先级

· 任务工期评估模糊

· 按目前的进度,国庆前不可能完成该项目

解决方案:

· 工时精准评估,以小时为单位

· 提供产品待办列表,输出任务优先级、研发进度、提测日期等信息

· 进行迭代开发,三期迭代,每个迭代为期两周(离项目截止日期正好6周) 

备注:该图片为引用图片

沟通结果:

· 第一点被否定,可以尝试进行迭代开发

· 测试(me)主动提供迭代需求清单模板

· 测试提前介入,先行接口测试,后续功能测试

二、迭代开发,积极推进

1、我主动提供迭代开发需求管理模板 (见如下截图); 
2、总共三期迭代,每期迭代历时两周; 
3、周一:项目负责人邮件发出一期迭代需求清单,抄送项目干系人; 
4、周五:测试负责人,总结项目进度,邮件发送项目干系人; 
5、每期迭代结束,总结本期迭代的完成率以及优缺点,要生成可交付的产品; 

三、迭代结束,项目完结

经过为期6周的迭代开发,团队小伙伴的不懈努力、研发经理的不断施压;项目最终按时完结,回归测试也提前完成,终于可以安心庆国庆、过中秋喽···

四、测试经验总结

1、如何实现测试左移

· 需求阶段介入,明确需求甚至可以给出自己的对产品的设计意见

· 先行接口测试,尽早发现接口层面的问题,可避免后期测试浪费时间

· 重视数据库测试,新的项目所有的表都是新建的,可以从表结构、字段、索引等各个方面把关,遇到问题前期修改成本较低

2、多版本并行,如何高效执行测试任务 
由于我一个测试猿要对接五个程序猿,某天出现了同时提测四个版本的情况,在片刻的慌乱后我采取了以下方式:

· 提测任务按优先级排序,进行一轮主功能测试,使每个程序猿手头都有缺陷要处理;

· 对优先级较高的任务进行第二轮全功能覆盖测试

· 回归缺陷,之后再进行三轮冒烟测试,发现新的缺陷,绝对不能让研发空闲

· 就像玩游戏一样,轮番先各个研发扔bug,直到所有bug关闭才game over

3、迭代开发、敏捷测试 
由于我大学毕业后就加入了敏捷开发团队,敏捷(scrum模式)对我的影响很深,一直想在现在项目中推行敏捷,但是大家都不愿意拥抱变化,敏捷最大的一个特点就是“拥抱变化”。因此本次项目就采取了迭代开发的模式,用敏捷的思维进行测试

· 当面沟通,减少信息误差

· 持续改进,及时反馈问题

· 响应变化,停止推脱抱怨

4、有效管理缺陷,缩短项目进度 
敏捷中注重处理bug 的效率,发现问题快,修复起来也较快;我在实际的测试中采用了传统与敏捷结合的方式处理缺陷,减低了bug修复的成本,有效缩短了项目周期;具体总结如下:

· 页面缺陷,集中反馈,提供截图说明 ;

· 需求缺陷,双方沟通,达成共识后记录缺陷,可降低时间成本;

· 面对面沟通,主动重现解释bug;

· 重视缺陷的成本,高时间成本,低价值的缺陷建议口头通知解决,低时间成本,高价值的缺陷需要记录追踪;

· bug及时跟进:及时验证、及时反馈、及时关闭;

5、测试人员障碍补充

· 从质量上确定能不能上线的问题

例如:

一般公司会协商制定一个可上线标准,比如中等以上严重程度bug的修复率为100%,微小及建议性的bug修复率在80%等。有了标准,测试的时候 你要把这个版本涉及的功能要都覆盖到,新功能的,以及旧功能的回归等,你都测了再比对公司的标准或结合客户的业务,项目经理问你能不能上线时,你就很清楚的回答能还是不能了

· 测试进度不能推进有两个原因

一个是自身的,一个是团队的

自身的对需求理解不够,不如开发理解的深,这个对新来的是正常的,但是一定要积极的尽早的参与到需求讨论阶段,从整体上理解,再具体到功能的细节,有问题就问开发,想到的用例设计场景,没答案的和开发或产品经理等讨论确定。

没有做好的功能,肯定不能测试,测试人员都是有可测性接收标准的,没做或核心功能都没实现的,测试人员可以不接受测试,测了是对测试资源的一种浪费。这点测试人员要和公司层面达成一致,这个很早都是我们软件行业的一个通用的认识了

每一轮测试都会有计划,完成测试后,需要有测试报告(实现功能数,已实现功能数,已实现功能的bug严重情况统计)

· 原有的测试计划,是可能变动的(杜绝自己背锅)

重复的bug,需求的不明确,新的需求加入...都会影响测试的原有计划

例如:

我计划测100个功能点,设计500个用例,计划测1一个月,再加半个月的回归,就是1.5个月,原计划是9.1日开发提交可测的版本,那我就要测到10月中。

但是如果到了9.1日,开发根本无法提交给我,或者提交的没达到我们的可测标准被退回去了,等到9月中才再次提交,那我测试计划肯定要变更啊,这不是测试人员的原因了。

但是如果是开发9.1日按计划,提交了可测的代码,冒烟测试通过,测试接收了,但是到了10月中,由于测试的原因,工作量评估有偏差,人员变动等等,导致测试没进行完,给不出结果,这就是测试人员的原因。

这种计划也是可以变更的,只是这个变更是测试自己导致的,要反思和下次改进。

· 用测试数据说话,保障软件高质量。

千万不要拍脑袋说, 要测完之后用数据说话,结合项目讨论的发布标准。

在不完善的团队中,测完一轮,bug肯定很多,一般得要3轮才能达到上线标准。

测试给结论 是要很严谨和负责的。

· 测试人员如何看待重复bug

bug重现的,我们能做的也就是可以进一步分析下这一批次的bug重现原因,是配置管理没做好,代码没更新,还是代码覆盖了还是什么,让开发下次改进

总结

作为测试人员,一定要知道整个流程应该是怎样的,开发的责任是什么,测试的责任是什么,我们首先做好自己的,再推动其他的

然后就是业务了,基于对业务的理解去设计测试用例,这样覆盖的完善了,漏到客户那里的问题就少了

总之做好测试自己能做的,积极推动其他的,用数据说话,别拍脑袋,就可以了

总而言之:主动沟通、当面沟通、耐心沟通、持续沟通·····

猜你喜欢

转载自blog.csdn.net/qq_41650233/article/details/83720130