有关测试的思考:决定软件测试的那只无形的手

发表于:2011-2-17 11:52

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

 作者:Architecturer    来源:51Testing软件测试博客

分享:

  我在微软亚洲工程院从事测试工作已经有两年了。两年间走了很多弯路,但也学习了很多无法从书本上知道的知识,有了一些关于测试的思考和心得,于是打算写出来与大家一起分享。这次我想谈论的话题是:是什么在决定着软件测试的设计与决策?

  测试新手的困惑

  读研的时候,我曾经读过一些有关测试的书籍(也许有些人会觉得我奇怪,因为大多数CS和EE身的人都更喜欢做开发,而通常会把测试当作“第二志愿”或者根本不予考虑)。但是到了微软以后,我却发现真正的测试工作与那些书上所写的内容总是有些差别。这种差别总是让人感到很茫然,甚至泄气,因为它会影响我们做决策时的信心。特别是被老板或者老资格的员工challenge时,这种缺乏信心的表现就会更加明显。下面举两个典型的有关实际与书本的差别的例子:

  ● 很多测试理论都指出,编写详细而完整的测试文档是测试设计与实现的第一步,也是最重要的一步。通常要求每个测试用例都要有详细的测试用例文档。而实际工作中的测试文档则相对简单了许多,有时只是包括测试用例名称的列表,没有详细的针对测试用例的描述。而与此同时,所有的测试都要求实现自动化,所有的测试用例都包含在测试程序中,而在很多测试理论中,自动化测试只是一种辅助的测试手段,并不是必须的。如果按照一般的测试理论,新手在工作计划中规划很长时间用于编写测试文档,而同时又忽略了测试自动化,那么这个工作计划将很难被认可并通过。

  ● 大多数测试理论都很少对压力测试有太多的论述,从我的理解看来似乎压力测试并不是一种非常重要的测试。而实际工作中,压力测试是仅次于功能测试的一种测试,通常说来程序在经过基本的功能测试并达到一定的测试通过率以后,压力测试便会开始(在此之前压力测试程序必须准备就绪),并且持续不断一直到程序被发布。如果按照一般的测试理论,新手没有给予压力测试足够的重视,或者在时间的安排上过于靠后,那么这个工作计划也将很难被认可并通过。

  不仅如此,不同的测试小组之间对同一种测试的设计和实现通常也会有些许的出入,比如:

  ● 在有些测试小组内,性能测试被当作一项非常重要的测试;而在其他的测试小组内,性能测试只在每个milestone的结尾才会手动的运行一次。

  这些现象都令人非常困惑。我时常会问自己这样一个问题:

  如果有一天我领导一个测试小组接手一个新的产品项目,或者在已有的产品上增加新的功能,我应该如何设计实现针对这个产品的测试?在有争议的问题上我又应该依据什么做出决策?显然,这个时候照搬书本上的或者其他测试小组的best practice是有一定危险的。

  其实,这个问题的实质就是要回答“是什么在决定着软件测试的设计与决策”。

  软件测试背后的那只无形的手——商业利益与商业效率

  针对这个问题,我一直在思索,都没有得到满意的答案。直到有一次我去美国总部出差,在那里我通过和美国总部的同事交谈,得到了答案:

  决定测试的设计与决策的是其背后的商业利益和商业效率的考量。

  简单的说,就是测试工作的投入和产出决定了测试的设计与决策。

  ● 测试的商业利益=测试的产出-测试的投入

  ● 测试的商业效率=测试的商业利益÷测试的投入 ×100%

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

精彩评论

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号