测试的困惑,自动化测试的迷失

发表于:2012-1-16 10:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  下属测试工作总结中的部分内容,写得不错,有些想法。

  ——————————————————————————————

  一、测试的困惑

  以前我时常反思,测试组的工作多吗?我的回答是多。测试小组的工作成果的好坏和工作任务的多少成正比吗?最终的回答却并非成正比。我们的测试工作成果往往并不理想,甚至是差。那么为什么事倍功半?这问题很难找到清晰的答案。

  参与了外部培训之后,发现了自己在对测试的工作有了新层次的理解。对之前工作成果差的问题思考也有了新的方向。“测试的最高境界是找出所有BUG吗?不是,测试的最高境界是不需要进行测试。为什么不需要进行测试?是因为所有的问题都已经在软件各阶段中介入的测试工作中给预防解决了。由此引申,测试的定位并不是找出BUG,而是预防BUG。” 这是我培训报告中的一部分。如果测试的出发点只为是发现BUG,那么测试工作将会如何?辛苦的发现了一个BUG,之后开发针对性的修正了这个BUG,再回重新测试的过程,又会有多少人会重新被卷入,又会有多少BUG因此而产生,又需要花费多少时间,答案可想而知。这就是我们忙又不见成果的主要原因。所以改善这个问题的出发点就是改变对测试工作的认识——测试的目标并不是为了找出BUG,而是预防BUG的出现。

  如何理解正确的测试目标是预防BUG的出现。首先可以从软件测试的阶段划分来看。软件测试的阶段划分为需求、设计、编码、测试、验收。但按此划分来定位测试是错误的。假如在编码阶段完成后测试出的BUG属于设计问题(这也是我们测试工作中经常遇到的情况),那么我们已经编码完成的产品就要面临着伤筋动骨的修改,这样的修改会带出多少个新的BUG出现?为这个修改我们又要重复的测试我们的新提交版本多少次?想必都有很深刻及惨痛的答案了。由此可以说明需求设计阶段的测试比编码阶段测试重要的多。在需求上出现的BUG就很有可能足以推翻整个产品。那么如果在需求设计阶段测试人员就能发现产品设计的BUG,那么就可以避免了因此而衍生的产品BUG,达到预防BUG这种测试理念的目标。

  那么又如何能做好以预防BUG为目标的测试工作。“测试工作不只是一种技术,也不仅是一种活动。测试工作的成功也不能取决于测试成果,测试的BUG越多并不能证明测试工作做的好,所以由此引申,测试工作要站在团队的高度来开展,在团队中做好测试,而不是在测试小组中做好测试。”这是我培训报告中的另一部分。要做好以预防BUG为目标的测试工作,首先要尽早的参与到项目中,其次就是需要各部门及小组的大力支持,与业务、项目、代码人员共同形成团队,在团队中影响其他小组提高产品质量,更好的完成以预防产品出现BUG为目标的测试活动。

  总结来看,我个人觉得拥有这样的测试理念可以解开我们的疑惑,带领我们走出目前的困境。

  二、自动化测试迷失

  随着工作、发展、提高等等多方面的需要,我接到了开展自动化测试的研究工作。概念上来说自动化测试是一种测试度量体系。现实点来说,自动化测试可以为我们自动、无误的运作完成大量且需要重复执行的测试用例。这是多么让人振奋的概念。甚至可以解开我上文所提到的有关测试工作的困惑。我很兴奋的去展开研究目前最流行的自动化测试工具之一QTP。甚至设计出了管理中心的三个重要功能的自动化测试脚本,并且运行无误在自动化测试讨论会上兴奋的向大家演示。之后还用工具按键精灵设计出了前端的A类测试用于实际的测试。但很让人沮丧的是最终这些脚本全被遗弃在电脑硬盘的角落,再也没派上用场。为什么?因为他们维护起来很困难,因为他们编写它们的时间与实现的价值并没有超过手工测试。这就是自动化测试吗?怎么不可行啊,我有点不太相信这种结局,所以我再一次困惑了。

  外部培训的老师这样告诉我们:“我们并没有理性的看待自动化测试,自动化测试并不是我们看上去的那样美。首先自动化测试能直接的节约成本、让测试人员变轻松的想法是一个误区。因为原本用于手工测试的时间用来编写及维护测试脚本了,而完善的自动化测试脚本编写或维护的时间很可能会超过手工测试的时间。再者自动化测试脚本用例是测试人员所编写,自动化测试只能是沿着该测试人员的“足迹”前进。所以用自动代测试来发现更多软件产品问题的想法也是一个误区。其次并不是所有的测试都能自动化,测试的自动化也不一定是解决问题的最佳手段。”

21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • Mr.曾
    2012-2-03 10:22:08

    后半部分不做评价,自动化尚在摸索阶段,关于前部分测试的困惑,博主说测试是预防bug 如果顺着这个思路的话,再次困惑只是时间问题,并且相信这个时间不会太长,从博主的观点里,我看不见预防的影子,所说的早期介入,需求文档这些,都是正规测试所应该做的,并不是预防,另外博主可以查看一下关于 文档测试的资料,这样就能知道,你提及的预防实际上并不是预防,只是一个规范

  • humh
    2012-1-17 11:29:26

    自动化?往大说就是全自动,智能化,往小的说,能把手工中重复多的部分用一段代码实现也算.工具嘛是死的,谁用谁知道?

  • steven_bian
    2012-1-16 20:31:41

    自动化测试需要有人长期的维护一个自动化得系统,脚本的编写可以由所有测试人员完成,根据产品的大小建立测试组或专人维护。
    自动化系统要具备能够自动下载软件版本,升级,运行case,测试结果记录的功能,若不成一个体系,大多的自动化测试都交难发展。

  • nb_bull
    2012-1-16 17:29:16

    只怕再摸索一阵会变得更困惑,QTP之类GUI层自动化测试商业工具误导了无数憧憬自动化测试的新人。

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号