背景
新年伊始,项目组的版本迭代周期从之前1.5个月一个版本变为0.5个月一个版本。自从有了这个改变后,项目组出现了如下问题:
1. 测试排期紧,测试时间被一压再压
2. 部分事情因为时间紧被省略
3. 线上问题增多
4. 性能评测时间紧
原因分析
那么如何解决上面这些问题呢?要想从根本上解决问题,就需要深入分析问题的原因,找到关键问题点,然后提出解决方案。我们先分析下版本迭代周期发生改变后,测试流程发生了什么改变。
通过上面的流程对比,我们可以发现以下几点问题:
1. 第三方测试补充的流程被时间压缩掉了,比如用例评审、随机测试。用例评审是在测试介入前帮助测试人员补充用例case。随机测试是在checklist之前换人体验功能,相当于换了一个人换了一种思维对新功能又进行了一次测试。这两种方式都是打破了一个人固有思维的局限,通过团队增加测试发散度;
2. 用例设计和开发实现了解被省略了。从个人的测试经验来说,用例设计和开发实现了解都是在帮助测试人员更深入的理解需求,因为在设计用例和了解实现时,相当于在纸上对需求提前进行了两遍测试。因为在这个过程中要梳理需求逻辑,想各种情况下功能应该展现给用户的样子,如果无法想出预期结果或者与预期不一致,说明需求或者实现方式有漏洞。
3. 在新流程中二轮测试没有了,相当于少了一遍测试过程,减少了发现问题的概率。
通过上面的分析,总结为一点就是投入测试时间被外界压缩减少了。那么如何解决此问题呢?
完成一件事情时间=人数*单位工作量*时间
事情总时间是一定的,人数未变化,但时间缩短了。在新要求下完成任务只有通过提高单位工作量解决。影响单位工作量的因素就两个:工具、人员本身的生产力。今天我们就讨论下如何在有限的时间内提高人员的单位生产力。
解决方案
提高人员的工作效率有两种方式:工作技能、工作方法(思维)。这里面见效快的就是对工作方法优化。
1. 创业思维
此处的创业思维是指将自己测试的产品当做是自己的一次创业,为了创业成功,克服各种困难的心理、思想状态。有创业思维的测试人员,不需要给他设定繁杂的KPI和管理制度,他也会为了测试好产品而燃烧自己,晚上睡觉做梦时甚至都会思考如何更好的测试产品,提高测试覆盖度和测试效率。
1)“遇佛杀佛,遇神杀神”,快速解决问题。在测试过程中总会遇到突发情况,拥有创业思维的人员第一反应总是以产品效果为第一位,快速寻找解决方案,而没有这种思维的人员可能第一反应是感觉怎么这么倒霉。小编在6月份的时候负责变声功能,周六晚上产品同学突然告知,竞品近期要开发布会,为了抢首发,周日(告知的第二天)要提交版本审核。按照原计划是在下周二的晚上进行版本提审,比原计划提前2天,第二天要紧急加班且缩短一天时间完成测试任务。应对这种突发情况,小编快速调整测试策略,与leader紧急沟通,第二天周末申请加班,最后保质保量的按照产品要求将新版本提审。
2)具有前瞻性,推动项目优化。拥有创业思维的测试人员,始终会站在产品或者用户的角度思考问题,使得产品有更好的体验。
苹果最近发布的12.4系统和13系统,对第三方输入法后台录音方法进行了限制,只要是后台启动录音都会返回录音错误。在技术层面找到一种方法可以绕过后台录音,从本质上解决键盘语音无法使用的问题。但是开发成本高,产品同学参考了用户反馈的数量,且前期通过产品交互层面对此问题进行了优化,所以决定暂时先不做这个技术优化,先上其他需求。但是小编觉得虽然当时的用户反馈量减少了,但是从iOS两个新系统的表现都对后台录音做了限制,推断后期iOS系统恢复后台可录音的可能性很小。且当时这两个系统是新系统,尝鲜的用户较少,有问题的用户也不会每天都反馈,反馈量呈现递减的趋势并不能表示此问题已解决。
综上分析,小编与产品同学沟通,推动产品同学应该将人力资源先放在解决此问题上。以免后期尝鲜用户增加,反馈量也增加。最终证明小编的推断是正确的,后期随着正式版的发布,反馈的用户量也增加了,但是此时我们已经做完了技术优化,避免了大量舆情反馈。
2. 精准思维
时间有限的情况下,我们一定要学会做好投入产出比分析。灵活运用二八原则,将80%的精力放在易忽略的、难考虑到的路径等重点case上,20%精力用于验证常规路径的case。根据小编对开发bug的分析,几乎90%的bug都集中在非常规路径上,主路径的问题开发同学自测基本解决。所以测试过程中的优先级执行至关重要。因为整体迭代周期缩短,开发修改bug的问题时间也缩短了,所以我们要提前发现严重问题,给开发留时间解决疑难bug。那么如何做好优先级分配呢?
这就是我们今天要讨论的精准思维。精准是指快速定位功能易出现bug的区域,重点测试可能出现问题的区域。开发实现了解是精准思维中的一个很好的手段。小编对这个方法屡试不爽。而且在开发实现了解过程中,可以提前发现一些功能框架设计方面的问题,节省测试时间。
小编在进行12.4及以上系统键盘语音采用前台录音功能的了解开发实现时,通过开发的逻辑描述,发现了键盘语音跳转APP时没有给APP传递当前键盘语音的状态,导致每次键盘语音读取的状态是上次使用语音时的状态。
小结:需求分析和开发实现了解,帮助深入理解需求,提前发现功能的潜在bug。
写在最后
思维决定行为,行为决定作为。