2011-03-18 106 views
0

我们目前正在使用MBUnit进行单元测试和UI测试。对于UI测试,测试矩阵轴的设置成本非常高(登录,浏览器实例,浏览页面等)。为了避免为每个测试案例设置这些,我们部分依靠AssemblyFixture来管理其中的一些。MBUnit测试矩阵优化 - 自动UI测试中的性能问题

然而,因为这是不可能过滤掉某些情况下,它们并不适用于某些组合,为我们真正使用这种优化是不可能的。因此,目前我们正在为每个测试案例进行一些设置,效率非常低。

我们可以把里面,如果测试代码语句来检查其是否组合,但我们不希望,要么。它污染了测试代码。

你们如何做这样的优化?还是测试矩阵管理?在另一个测试框架中是否有更好的做法?

回答

1

直到最近,我一直认为UI自动化作为黑盒测试在我的UI测试驱动对一个完全独立的网站或应用程序。因此,测试在正常执行的限制下运行,并受到大量环境开销问题的影响。

我最近通过的,其中每个组测试的优化配置,缓解环境差异和速度的东西了下运行“浅”和“深”的UI测试的概念。例如,登录控制器被换出的机制避免了OAuth登录开销,并且使用固定用户名进行硬编码。产品目录跳过数据库查询,并用几个固定项目进行硬编码。电子商务后端被换出来执行接受/拒绝基于信用卡和金额的交易的快速操作。

在“浅”的配置我可以执行针对UI逻辑“深”测试。当我切换到“深度”配置时,它类似于生产,我可以对完全集成的组件进行“浅度”测试,例如登录,产品目录,搜索等。

需要混合使用测试策略。

1

可能是ui-test-automation-best-practices文章是对你有帮助。它举例说明了如何通过最小化登录和上下文更改来提高自动化UI测试的性能。

+0

谢谢,但这篇文章只是重复我想要做的,而不是如何与MBUnit做:) – 2011-03-18 16:18:05