对于大部分企业而言,一个项目最看重的通常是进度,对于测试员来说,在做项目的同时,经常会遇到以下的情况:开发质量差,提测的功能不满足要求但是又不得不测试;项目过程中大都时间花在沟通、无关紧要的问题(易用性、界面显示等)上扯皮,没有把时间花在刀刃上。
这就导致了我们每天看似很忙碌,但是投入产出不成正比。没有较多的精力在测试技术提升、深度问题发掘,也使得项目进度变慢,长时间测试人员的专业价值没得到体现,也不利于团队的长久发展。
因此,如何提高测试质量,测试效率以及最大化地发挥个人的价值,是我们在日常工作中所需要考虑和提升的关键点。针对这个问题,我们可以从以下几个方面来参考。
什么是低效率的测试?
首先,我们要明确,到底什么是低效率的测试,很多时候我们认为“测试工作做起来又累效果又差”就是低效率的测试,其实这种说法并不准确,因为其中包含的主观感受太多。
真正低效率的测试要根据不同项目组的差异来具体分析,下面给大家罗列一下低效率的测试都有哪些共同的体现:
1、需求分析不明确,开发和测试工作分离,使得测试工作在开发阶段的尾端承受过多的质量压力;
2、信息不流通,对于需求变动,设计变更,功能修改,代码重构等信息,测试人员不能及时了解,且知道的内容有限;
3、测试人员接触不到产品环境的信息,缺少对在线数据和用户行为监控分析的手段和能力,缺少真实用户的角度;
4、团队无法做到有效的持续集成和持续发布,大量和运行环境,依赖系统有关的问题,每次发布的版本质量不可控;
5、自动化测试体系不完善,测试依靠手工执行,重复繁琐的回归测试成为严重的工作负担;;
6、没有合适的测试工具,因此难以快速的完成构建测试数据,获取需要的信息,大量无价值的内容需要手工完成,例如准备测试环境等;
7、测试人员的技术能力有限,只会手工测试,缺少自动化测试的技术能力。
以上几点都为低效率测试的典型,在工作过程中,我们应该尽量避免,有的时候,一点小小的改进,就能够提高不少效率。
如何提升测试效率?
对于如何提升效率这个问题,大家第一时间想到的肯定是“自动化测试”或者“敏捷测试”,诚然,加深技术能力是其中最关键的一点,但是学习需要循序渐进,在短时间内想要快速通过技术能力来提高效率是很难实现的,下面我们就来谈谈如何通过一些其他方面来帮助我们更快更好的达成工作目标。
1)制定测试策略
制定测试策略来提高测试效率能够帮助我们最重要的一点就是,减少不必要的测试,重要的问题早发现早解决。
测试策略的基础是风险评估,我们需要从失效概率、失效影响这两个维度,区分高、中、低风险的特性来判断可能发生错误的可能性,在这个过程中,也能快速地提升我们的经验。
在风险评估结束后,我们可以根据每个测试内容的风险评分来确定测试的时间和强度,高风险的要尽早测试且考虑多种测试设计方法同时使用,低风险的内容在计划安排上灵活性可以大一些。
其中,基于需求的测试也是有效手段之一,基于需求进行测试设计的目的,是减少不必要的参数组合和虚构的应用场景的测试用例。当然,仅仅只是基于需求进行测试,往往不那么让人放心,所以针对十分重要的内容,还需要设计更高强度的测试。
总体来说,就是熟练运用统筹方法,因为来什么测什么显然是不科学的,在同样的时间内最大化工作量,做好统筹还是很有必要的。
2)根据不同的项目阶段,采取不同的策略
每个阶段都采用不同的策略去应对,往往是提高效率的最佳方法。
在研发初期阶段:我们只关注功能能够跑通,因为很多核心逻辑和后期都会调整,花费太多精力在周边事务上得不偿失。
在研发中期阶段:我们需要把中心放在功能逻辑细节上,由于项目周期较长,可能会出现思维定势的情况,这时候需要定期做交叉测试,这个阶段还需要把控细节,如果觉得有问题,就一定不要放过,以免在之后再发现,会浪费更多的时间。
在研发后期阶段:我们需要精力在客户端性能、弱网、适配和服务器压力测试等测试上,且要及时做好跟进工作,避免一个问题被拖的时间太久,这样最终会导致项目的整体延期。
3)持续优化
测试过程的优化问题,也是提升测试效率的一个零散的点。实例化到我们日常的测试过程中,会发现有很多类似的问题。
比如我们测一个功能时,发现了很多Bug,以为已经测试全面了,但是当我们过会再来测一遍时,会发现很多之前没有测试过的地方。
写用例的时候同样会面临这个问题,哪怕功能需求没变更,等我们写完之后,再去回顾通篇用例时,还是能够发现遗漏或冗余的地方。
这种情况会经常出现在我们工作中的许多地方,因此测试的过程是个持续优化的过程,通过不断的优化和迭代,可以使得我们的测试工作越来越优秀。
写在最后
当然,对于技术岗位而言,万变不离其宗,技术都是提高工作效率最重要的一点,努力提升技术,帮助团队和自身成长,只有各个环节打通了,才能有更好的质量和更高的效率,从而成为一名优秀的软件测试工程师。