测试是什么

                                                 前言

         之前写过一篇博客:测试本质:当说在项目测试的时候,究竟在测试什么,这里面有自己对测试的一点理解-测试最本质的东西:测试产品与用户需求直接的差距,此差距在团队所有成员(产品/开发/UI/测试/市场人员/运营人员...)的共同努力下,逐渐缩短这个差距。

         缩短测试产品与用户需求直接的差距是测试的最高目标,但为了实现这个目标,究竟应该在测试设计、测试执行的时候抱着什么心态呢?

                                                      测试是什么

                                            一、充分暴露质量风险

         换句话说,测试人员为整体的产品质量负责,而不对产品按时发布负责。测试人员采用各种手段暴露质量风险,并周知给团队所有成员,并与其一起评估是否在某种风险下执行发布行为。这种基于已知信息(价值、需求、成本、资源、期限、缺陷)来评估未知风险的工作,无疑需要团队成员共同参与。

                                           二、预防胜于发现

          测试工作中最困难的工作当属于bug的预防了,因为预防工作单纯靠某一角色人员(产品人员、开发人员、测试人员等)是不可能完成的。

         如果从所有bug中评选出自己最满意的一类bug,那就是从来没有出现过的bug了;

        如果从所有bug中评选出自己最不满意的一类bug,那就是在线上发生的bug了

                                            三、测试不是万能的

            正如引言中说的,测试只是缩短交付的产品与用户实际需要的产品直接的差距,因而测试并不能100%保证交付产品的质量。

            如果将测试行为进行比喻的话,测试更新是捕鱼,无论你的捕鱼计划多么周密,网做的多么牢靠,也难免不会有漏网之鱼。

                   四、自动化测试是测试执行的一种方式,不是最终追求的目的

             现在越来越多人开始谈论自动化测试了,并将自动化测试作为自己技术上的一个亮点。当然了,使用自动化来测试肯定是值得提倡的,但更重要的一点是:不要本末倒置,舍本逐末了。自动化测试是一种手段而已,不是最终目的,测试执行时更应该关注哪种手段可以最好、最快达成测试目的,而不必刻意追求自动化测试。自动化测试更不是摆设,不可为了自动化而自动化。

            判断自动化本身是否合适的时候,不妨问自己一个问题:自动化测试有利于最好、最快达成测试目的吗?

                       五、短期质量保证的同时不要忘了长期质量

            短期质量是指某次迭代中的一次质量,长期质量是说整个产品周期内的质量了,后者往往不容易被充分考虑。

            短期质量是每个测试人员,包括团队其他成员都会考虑的,毕竟如果上线有问题,肯定会被追责,甚至绩效会被影响。而长期质量,从当下看,有如下几种原因,往往重视程度不够:

  • 团队成员经验原因,不能考虑到
  • 即使考虑到,也会因为实现成本、人力等原因被搁置
  • 投入产出评估,预期花时间在长期质量,还不如做些眼下就能立竿见影的事情

            举一个长期质量考虑不太充足的例子吧:XXX产品,线上无法100%支付测试验证。这里存在的一个必然质量风险是:当涉及支付的功能被大幅度修改时,由于无法100%线上测试,支付又属于P0功能,如果出故障,必然是P0级别的故障了。

                                                总结

            测试是一种风险预估、质量保证行为,其目标是尽可能交付用户期望/需要的产品。但不要忘记了:测试不是万能的,对应的质量保证只能在一定风险下进行;测试本身也不是100%可靠的行为,也需要团队成员一起努力,共同完善测试行为本身。

猜你喜欢

转载自blog.csdn.net/wodeyijia911/article/details/86425123
今日推荐