自动化ui测试中的MBUnit测试矩阵优化-性能问题
-
27-10-2019 - |
题
我们目前正在使用MBUnit进行单元测试和UI测试。对于UI测试,测试矩阵轴的设置成本非常高(登录,浏览器实例,导航至页面等)。为了避免为每个测试用例设置这些,我们部分地依靠AssemblyFixture来管理其中的一些。
但是,由于无法滤除不适用于某些组合的某些情况,因此我们无法真正使用这种优化。因此,目前我们正在按测试用例进行一些设置,效率非常低。
我们可以将if语句放在测试代码中以检查正确的组合,但是我们也不希望这样。它会污染测试代码。
你们如何进行这种优化?还是测试矩阵管理?在另一个测试框架中是否有更好的做法?
解决方案
直到最近,我一直将UI自动化视为黑盒测试,其中我的UI测试针对完全独立的网站或应用程序进行。结果,测试在正常执行的约束下运行,并且受到许多环境开销问题的影响。
我最近采用了“浅”和“深” UI测试的概念,其中每组测试均在优化的配置下运行,以缓解环境差异并加快处理速度。例如,用一种避免OAuth登录开销并用固定用户名进行硬编码的机制换出了登录控制器。产品目录跳过数据库查找,并使用一些固定项进行硬编码。换出电子商务后端以执行快速操作,该操作根据信用卡和金额接受/拒绝交易。
在“浅”配置下,我可以针对UI逻辑执行“深度”测试。当我切换到“深度”配置时,它类似于生产环境,并且可以对完全集成的组件(例如登录名,产品目录,搜索等)执行“浅”测试。
需要多种测试策略。
其他提示
可能是 ui-test-automation-best-实践文章对您有所帮助。其中有一些示例,说明如何通过最小化登录和上下文更改来提高自动化ui测试的性能。
不隶属于 StackOverflow