软件测试自动化框架

发表于:2008-2-01 19:10

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

 作者:译者:fennek    来源:51Testing投稿

                  j

用户的抱怨
        令人惊讶的是,我们从用户那里收到了几个有关STAF的抱怨。绝大多数的用户关心的是清晰的文档或是要求增加一些新的特性(比如新服务或扩展现有服务)。我们也发现并修复了几个单独的性能问题。例如,我们最初用REXX编写了日志服务,但事后证明REXX的运行速度很慢。后来,我们转而使用C++,则显著地提高了日志服务的性能。

        考虑到普遍的总体性能,STAF请求的确会引起最小量的系统开销,因为它们需要一个IPC请求从请求进程转向STAFProc(STAF进程),此外系统必须解析用户的请求字符串(和直接处理原始数据相反)。这就意味着STAF并不适合于潜在性极低的请求。到目前为止,我们还没有遇到过这样的问题。

我们从中获益
        通过提供可重用框架和可重用服务,STAF使团队把注意力集中在他们的问题的解决上,而不是发明或构建一个基础结构。这个优势已经在为自动化的Ogre而开发的工具上体现了出来。测试分布脚本和日志查询脚本都是少于50行代码的小脚本,这是因为它们都依靠着底层的STAF基础结构和它所提供的服务。GenWL程序依靠着许多的STAF服务来执行它的任务。通过对这些服务的重用,GenWL会从一些它所关心的基础活动中解放出来,如对命令行参数和工作负载文件的解析。这些剩余的工作都由STAF处理,包括设置配置信息、启动和停止进程,以及监控测试进程。GenWL程序只需要用9个命令就可以完成这项工作。我们发现这类的应用是非常典型的。

        如果我们使用STAF的应用来解决我们的自动化问题,我们就可以显著地节约我们的成本。由于我们解决了测试序列的同步和资源管理的问题,我们可以减少大约33%的客户端系统数量,这意味着,在最大的测试规模下,减少了48个客户端系统。这些都表明我们节约了大量的用以执行测试序列的硬件成本。

        由上文我们知道当一个新的构建产生时,需要我们重新启动与之关联的场景,由于我们解决了测试序列的执行和分配问题,这部分的处理时间减少了大约50%。我们旧的手工处理过程大概要花费8个小时,而新的自动化过程只要大约4个小时的时间。两者之间的时间差异是如此的显著,当我们傍晚—如下午4点收到新的版本时,这种时间差异甚至更为显著。因为之前的方法要花8个小时启动场景,而我们通常会在第二天早上的8点左右开始新版本的工作。因此,直到第二天的下午5点,我们才真正开始运行这个场景。然而,新的方法让时间减少为4个小时,于是,我们可以派人留守并让场景一直运行到当天晚上的8点。非常非常的明显,这段周期时间减少了21个小时。此外,我们之前需要几个人来执行这项工作,现在只需要一个人就能做了,这是因为我们可以从中央控制台上管理任何事情。因此,也节约了人力成本。

        我们解决了测试序列的监控问题,由此带给我们的好处是发现了产品中的一些缺陷,而这是我们之前根本发现不了的。在这些缺陷逃逸到用户那里之前发现它们,对于节省资源成本而言是非常重要的,因为一旦用户发现了这些问题,那么修复问题所需的费用比在测试过程中的花费多的多。另外,新的监控功能提高了我们的士气,使我们不用再继续那些“grunt”(沉闷无聊的)的工作了。如果在远程监控时发现了一个问题,我们可以执行远程诊断并解决这个问题,而不需要到现场去。

        最后,由于我们解决了测试序列动态执行的问题,我们减少了场景的重起频率,由此节省了时间和人力。而重起次数的减少也是另外一个鼓舞士气的因素,因为之前,我们让场景运行在某个配置下时,都知道这个场景在运行到一半的时候,需要重起,这让我们感到无聊且无助,而现在,我们不会再有这样的感觉了。

        很多次,我们的团队打算解决Ogre测试序列中的一些问题。于是,我们有了一个详细的列表,列出了我们为解决这些问题而需要创建的项。事后我们在评估这个列表时,意识到我们真正需要的是STAF。假如我们能更早地讨论这个列表,那我们最终会得到一个以我们这个特殊的测试序列为中心的解决方案,而非通常的解决方案,而这个新的方案就是STAF。反过来,STAF的重用原则让我们去选择它提供的可重用组件并解决我们的测试序列的问题。

结论
        为了提高测试过程的效率和有效性,团队需要找到提高重用和自动化水平的方法。作为一种解决方案,以帮助解决这些问题,我们创建了STAF。它被设计用来解决我们的重用问题,随后,我们利用它的优势来解决我们的自动化问题。通过对STAF的使用,我们在执行测试时,节省了相当可观的人力、时间和硬件资源。

        从它出现伊始,整个IBM公司,有大量的测试团队都采用了STAF,而且,它还被用来创建各种创新的测试解决方案。仅在我的部门,我们就开发了一个可插入的解决方案,这个方案驱动自动化测试贯穿了从构建到结果收集的整个过程。当一个新的构建可用时,测试系统会自动地设置和安装。然后自动地执行测试序列,并收集结果用于分析。如果没有类似STAF这样的解决方案供我们使用,那么要创建上述这些类型的解决方案都是极其困难的。

        经过一个长期的孵化期,STAF作为一个可免费获得的开源项目发布在了SouceForge网站上(http://staf.sourceforge.net)。我希望这个灵活的框架所具备的可用性,会引导其他的软件组织,持续地提高他们的测试效率和有效性。


版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们

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

精彩评论

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号