高效率测试之巧用策略模式

发表于:2010-7-01 17:08

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

 作者:刘杨(cnblogs)    来源:51Testing软件测试网采编

  这个时候工程师们就动起了脑筋:既然Web界面和WebService界面对于后台而言是相同的,也就是说Web界面的测试和WebService界面的测试可以共享测试的过程(Scenario)和数据(Data),只是具体实施操作的时候有所不同。这不就是设计模式中的策略模式吗?没错,把逻辑操作(这里是测试步骤)抽象出来,可以在运行时切换具体实现的,就是策略模式。具体而言呢,对WebService的各种操作实现就是一个策略,对Web界面的操作实现也是一个策略。当工程师们实现自动化测试用例的时候,他们并不关心他在通过Web还是通过WebService做操作,他们只关心的是:用什么数据,做什么步骤。至于怎么做,是运行时根据环境决定的。这其中的关系可以用下面的图表示:

  基于在我所在项目组的实践,我们发现利用策略模式的好处有:

  1) 同样的自动化测试用例可以同时测试Web界面和WebService界面,成倍的简化了自动化测试代码的编写工作。

  2) 清晰的分离了“做什么”和“怎么做”。编写测试代码可以更关注测试的步骤和逻辑。

  3)在项目的初始阶段,WebService界面的操作会比较稳定,而Web界面往往会由于复杂度更高而不稳定。这时候可以使用WebService策略开发并运行自动化测试,等到Web界面稳定了,再把环境变量设为Web策略,就可以完全测试Web界面了。而常规的做法,如果Web界面不稳定,甚至只是某一个模块不稳定,就会减慢或阻碍整个团队的测试开发,进度大大受阻。

  4) 当运行一个Web界面测试的时候,如果测试结果失败,可以动态调整为使用WebService策略重新测试。这样可以“自动”地帮助开发测试人员定位问题发生在Web层还是在WebService层。

  5) 整体测试框架具有较高的扩展性。如果产品需要新增PowerShell作为另一个用户界面,那么只需要实现PowerShellTestStrategy,就可以让大多数测试用例运行在PowerShell上。

  在微软,其实还有很多做高效测试的例子,下次有机会再拿出来晒吧。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号