我们目前正在使用MBUnit进行单元测试和UI测试。对于UI测试,测试矩阵轴的设置成本相当高(登录、浏览器实例、导航到页面等)。为了避免为每个测试用例设置这些测试用例,我们在一定程度上依赖AssemblyFixture来管理其中一些测试用例。
然而,因为不可能过滤掉某些不适用于某些组合的情况,所以我们不可能真正使用这种优化。因此,目前我们为每个测试用例做一些设置,效率非常低。
我们可以将if语句放在测试代码中来检查正确的组合,但我们也不希望这样做。它污染了测试代码。
你们是怎么做这样的优化的?或者测试矩阵管理?在另一个测试框架中,有没有更好的实践?
发布于 2011-03-19 20:58:04
直到最近,我一直认为UI自动化是黑盒测试,我的UI测试是针对完全独立的网站或应用程序进行的。因此,测试在正常执行的约束下运行,并受到许多环境开销问题的影响。
我最近采用了“浅”和“深”UI测试的概念,其中每组测试都在优化的配置下运行,以缓解环境差异并加快速度。例如,登录控制器是用一种避免OAuth登录开销的机制换出的,并且是用固定用户名硬编码的。产品目录跳过了数据库查找,并且使用一些固定的项目进行了硬编码。电子商务后端被换出,以执行基于信用卡和金额接受/拒绝交易的快速操作。
在“浅”配置下,我可以对UI逻辑执行“深”测试。当我切换到“深度”配置时,它类似于生产,我可以执行完全集成的组件的“浅层”测试,如登录、产品目录、搜索等。
测试策略的组合是必需的。
发布于 2011-03-19 00:00:04
也许这篇ui-test-automation-best-practices文章对你有帮助。它有一些例子,如何通过最小化登录和上下文更改来提高自动化ui测试的性能。
https://stackoverflow.com/questions/5353718
复制相似问题