川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > 常见问题

软件测试之如何衡量和提高测试效率

作者:川石信息 日期:2023-07-31 15:02:22 点击数:

  现在很多公司都会采用一些软件测试管理或者bug跟踪工具。通过这些工具我们也能够很容易的得到诸如每人发现bug数等等的数据。但是数据本身是没有意义的,正如上面提到的,简单的用发现bug数量来衡量测试效率是有失偏颇的。我们手里有足够多的数据,这是我们做分析评价的第一步。但是更重要的是怎么样用好这些数据,怎么样让这些数据成为有价值的报表,这才是我们应该关注和思考的。

软件测试培训

  首先,我们需要保证数据的真实性。比如说,我们会对每个bug的严重程度进行分类,但是如果由于大家分类的标准不统一导致这一项数据不准确,那么即使接下来有很好的分析模型来分析这些数据,我们最终拿到的报表也是不能真实反应测试工作的状态的。对于这个问题,我们应该对每一项数据有明确的定义,然后通过案例分析的方式在整个测试团队中统一标准,同时定期的随机抽查bug数据的质量,尽可能地保证数据本身的准确性和真实性。

  其次,当我们有了真实的数据之后,我们就需要建立模型,对数据进行分析。这是整个评价过程中最重要的一环,也是要求最高的一环。我们需要明确我们关注的是什么。比如说,我们关注整个测试周期各阶段的情况,我们可能就会去获取每个阶段我们发现了多少个bug,这些bug有多少是应该在前面的测试环节就被发现的等等。或者我们关注的是模块与模块之间的横向比较,可能我们就会关心各个模块在各个阶段的bug比例,不同的严重程度下各个模块的bug数和bug比例。又或者我们关注在测试人员身上,那么除了每个人发现bug的数量,我们还会关心发现bug的严重程度,bug遗漏的比例等等。

  最后,我们需要定义一些辅助数据来平衡数据本身的一些差异。比如说,我们在得到每个测试人员发现bug数量的数据之后,需要考虑他所在的测试阶段和模块的一些特点,可能系统测试发现bug的难度比功能测试高,或者财务模块bug发现难度比较大,那么我们就应该相应的给这些测试阶段和测试模块更高的权重系数,来反应它们之间的差异性。

  当我们做完上面的事情之后,我们就完成了初始化的工作,接下来我们需要做得是调整和改进。通过一段时间的使用和观察,可能我会发现有些数据本身的定义有一些问题,或者一些模型忽略了影响很大的因素,再或者我发现权重系数有问题,那么我们可以对上面的系统进行改进和调整。

  在软件开发和测试的过程中,没有一套一成不变的方法和系统,能一直准确的反应这个过程。我们可以做的,就是接受变化,跟上变化,从而尽可能地用变化的思路和方法来反应项目的状态。

  如何提高测试效率?

  1.首先要有一个合理的详细的测试计划:

  没有详细的测试计划,测试部的每个成员都在那儿盲无目的测试,何谈提高测试效率?当然测试计划也不能够太细,太细了,编写测试计划同样浪费时间,做到时可而止。最好是测试任务尽量能细化到测试的功能和测试的case这个级别去监控进度,较为理想。

  2.测试尽早介入项目详细了解项目的业务需求,做好测试的前期准备:

  目前来说,可能大家都有类似的感受,接触到的大多数的项目,都是测试周期比较短,开发人员耽误了时间,为了不拖延项目进度,留给测试人员做测试的时间都非常紧张。如果项目测试的前期了解业务需求、了解产品属性和准备测试数据不充分,往往测试效率很低,测试时间变长,测试效率急剧下降。

  3.对测试项目前景充满信心,调整最佳心态,保持愉悦的工作心情:

  一般来说,如果大家认为测试的项目没什么发展前景,当然测试也不会很卖命,测试效率不用说。如果某个测试人员碰到什么不顺心的事,当天的工作效率肯定比平常低。所以,要保证测试效率,测试负责人要察言观色,及时找不开心的下属谈心,了解并帮忙消除部分员工的不良情绪,让员工有更好的心情投入到测试工作中去。

  4.提高测试接受的标准,减少测试版本送测次数:

  大部分公司的开发人员都有一种惰性,一旦公司成了测试部,他们自己测试时,都不会那么认真,以为有了测试人员,就自己就解放了。很多时候都是调试编译通过,实际上开发人员没有做完整的自测,就拿到测试部进行测试。如果测试部门有严格的测试接受标准,一旦发现有重大问题,立即拒绝测试,送回开发人员修改。可以减少很多次反复测试,重复测试,明显提高了测试效率。

  5.测试负责人认真做好测试文档的评审:

  测试经理一定要认真做好测试用例的评审,尽量使用较少的测试用例,发现较多的Bug,无疑是最佳提高效率的一种方式。很多时候,经验较少的测试人员在设计测试用例的时候,写了很多的测试用例,测试时几乎没有发现缺陷。还有一种:比如说等价类的测试,只要具备代表性就可以了,如果写了很多测试用例,执行了半天,臃肿的测试用例,未发现任何问题,也很不值。这些主要是靠测试用例评审的时候,测试Leader去把握了。尽量做到在满足需求的情况下,精简测试用例数量,提高测试覆盖率。很多时候,测试人员写好用例就自己测试,根本没人评审,有些地方理解有偏差,测试点没测试到,导致发给客户版本被退回,给公司也会带来巨大经济损失。

  6.加强项目组成员的相互沟通工作和项目信息收集工作:

  测试工作是一项沟通要求比较高的工作,一般需要同项目经理、产品经理、开发人员、业务人员、客户沟通。很多时候,由于测试介入较晚,测试时间短,测试初期测试人员了解需求不及开发人员,为了迅速熟悉需求,需要项目组成员之间相互培训和沟通。

  测试人员为了利于测试工作,平时也需要主动和开发团队沟通项目的进度、项目存在的问题、项目的需求变更等等情况。与团队成员沟通得越充分、对项目的信息收集和把握得越及时、越准确,我们的测试工作才可能做得越顺利,才可能提高测试效率。

  7.积极配合开发人员工作,努力赢得开发人员的尊重和支持:

  作为测试人员,我们绝不能消极等待或一味埋怨开发人员的不理解和不重视。我们首先需要正视自己、改进自己,通过自身的不断努力让开发人员,真正体会到测试的价值。同时,也需要理解并配合开发人员的工作。只有这样,才能赢得开发人员的支持。互相配合、互相促进,项目成员之间形成良性循环,彼此感情加深了、配合默契了、工作效率和工作质量也就自然提高了。

  8.按照项目的大小不同,必要的情况下引入自动化测试工具:

  是否引入自动化的测试工具,主要取决于测试的时间长短和测试的轮次。一般来说,测试周期较长、版本升级平凡和回归测试次数较多的项目,引用测试工具可以提高测试效率。如果测试周期较短,本来测试周期只有两三个月,开发测试脚步就要花费大量时间,引入自动化测试工具,用的次数较少,结果得不丧失,劳民伤财,呵呵!

  9.测试部门内部成员的工作业绩数据化:

  具体的做法如下:每天给每个人分配的任务非常具体,并且随时关注他们的进展情况,完成百分比,不断督促他们。并且,把每个人每天的工作成果(发现缺陷的数量和工作的质量)数据化,通过邮件的形式发给组内的成员,让大家有个比较。大家都有自尊心,看到自己落后,后面就加油赶工,形成一种良好的测试氛围。每周周例会的时候,对表现突出的给予表扬,对每次都比较差的下属,单独谈心,问问具体原因。

  10.提高测试人员的专业技能和工作能力:

  由于测试技术的不断成熟和完善,许多的新技术陈出不穷,作为测试人员需要不断提高自己的专业技能和工作技能。不断的给自己充电,补充测试理论知识,让自己工作技能力去弥补专业技能的不足。这样,你的工作同样可以做到最棒,效率自然很高。一段时间过去,回过头来一看,自己确实进步不少,没有虚度光阴呀!

  如何衡量测试效率?

  个人认为可以从软件测试的活动中的以下指标综合考评,去评估衡量测试效率,每项指标都高,自然能够说明一些问题:

  1.发现缺陷的质量:

  同一个项目组内,我们一般运用测试管理工具TD, 按优先级和严重等级,把每个人的缺陷做成柱状图和饼图,放到一个文档中,邮件发给大家,让组内成员了解自己的工作情况和其他人的工作情况。同时也让开发人员,对每个测试人员的工作,做出评估,供绩效考核时参考。特别是发现非常隐蔽缺陷的测试人员,一定要重赏。

  2. 测试的有效性:

  一般来说,递交Bug的有效性,体现了测试员是否能够正确理解系统,并发现问题,是否能够发现有效的问题。很多时候,测试人员没有弄准确需求,或者是没搞清楚设计,一旦出现异常,就提交Bug.不是和前面的缺陷相同,重复递交相同类型的缺陷,就是递交无效的Bug,导致后来很多缺陷,都被项目评审时拒绝,既耽误了时间,效率自然不高。

  3.测试组员交叉测试,发现漏测问题数量:

  经常是这样,一个测试人员测试结束,修复了全部的缺陷。这个时候,测试的模块和测试人员交叉一下,再测试,很有可能又发现很多问题。这样我们可以对测试发现问题数量,进行统计。这样做,就迫使测试人员认真执行每一轮测试,每次测试都不敢懈怠。

  4.遗漏到客户缺陷的比例:

  一旦版本测试通过,发布给客户以后,客户要对发布的版本进行验收测试。同样会发现一些问题,我们也会对测试过程中发现的Bug分配到每个模块和具体的人。但是,如果缺陷在测试环境中不能重现,只能在实际工作环境中出现,则不属于遗漏给客户的Bug,不计入漏测统计里面。有时候,客户系统在使用中也会发现缺陷,我们同样做好记录。

  5.递交的缺陷数量:

  在同一个项目组内,每天递交的Bug数量,每周递交的Bug数量,每个版本测试结束,总共递交的Bug数量。最终测试结束,算出每个人递交有效缺陷的百分比。

  6.执行用例的数量:

  同一天,每个测试人员,执行用例的数量。但是一定要去除那些不能够测试的功能模块,或者是被阻塞的模块,这些一定要考虑到。否则大家意见就大了呢!

  7.编写测试文档的速度和质量:

  每次编写测试用例时,大家都要编写部分模块的测试用例,我们也可以通过单位时间内编写case的数量、速度和质量,来区分每个人的效率,我觉得也是一种好方法。

  8.评审发现问题的效率:

  在组织部门内部的case评审时,同一个测试文档的评审,如果提出的修改建议比较多,并且很有参考价值。这样的测试人员,效率应该比较高,得考虑考虑加薪,呵呵。

  9.测试工具使用的熟练程度:

  当然,一个测试人员,对测试工具的熟练程度越高,使用技巧越强,一般来说,测试的效率就越高。按常理来说,每个人不可能了解全部的自动化测试工具,我们只对常用的测试工具进行考核就可以了,还算人性化吧。并且后面懂得较多的同事,给组内成员集体培训,使大家迅速掌握测试工具的基本使用,这才是我们的真正目的。

  10.测试结果的分析水平:

  对自动化的测试工具来说,特别是性能测试结束之后,我们要分析部分测试结果,如果你都不熟悉测试工具的分析,何谈效率呢?所以测试结果的分析水平,也可以作为衡量测试效率的一个指标。



相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2023-07-31 15:02:22
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2023-07-31 15:02:22
  • 国外的月亮也不一定比国内测试猿的年薪美~2023-07-31 15:02:22
  • 建筑工程专业朱同学成功转行为软件测试人!2023-07-31 15:02:22
  • 财务管理专业转行软件测试月薪甩会计几条街!2023-07-31 15:02:22
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2023-07-31 15:02:22
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2023-07-31 15:02:22
  • 文科生转行软件测试照样拿下高薪15K!2023-07-31 15:02:22
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2023-07-31 15:02:22
  • 毕业1年,迷茫的他最终选择转行软件测试2023-07-31 15:02:22