我有一个用NUnit编写的C#硒测试自动化测试套件。我试图测试我的测试套件的健壮性,方法是运行我的整个套件,比如50次,并查看结果的合并,以查看哪些测试是片状的还是脆弱的。是否有一种方法可以自动完成此操作,而不是单击run 50次,跟踪结果,或者设置Jenkins或TeamCity每30分钟运行一次?我正在考虑类似于NUnit的重复属性,但是对于整个测试套件。
使用Git,每次我将一个或多个测试推送到我的开发分支时,我都希望这个“健壮性测试”能够有效地对我的自动化测试进行压力测试。如果这个健壮性测试通过了,那么我就可以轻松地将我的最新测试推送到主分支。
发布于 2020-01-07 07:07:45
可以从命令行启动NUnit;https://github.com/nunit/docs/wiki/Console-Command-Line。
编写一个小型控制台应用程序或powershell脚本,将其循环50次,每次运行后复制输出。如果输出为空的所有测试通过了50次,您也可以将其记录到单个日志文件中,而不是复制输出。
发布于 2020-01-07 10:44:14
修改测试本身以获取额外的param number_of_runs
如果已设置,则在测试本身内运行该测试的步骤x次,例如,50次。
尽量避免在框架之外的解决方案,并涉及更改运行或调用测试的方式。
发布于 2020-01-07 11:20:23
想想你想要达到的目标,以及你的测试和环境在哪里和什么地方。
使用脚本在本地循环测试套件将测试整个套件,但可能会错过CI服务器上的资源分配,使用参数重复测试套件可能会漏掉安装程序或删除问题。就我个人而言,我会尝试在尽可能接近真实测试环境的环境上运行,即使以牺牲一些笨拙为代价,如果我正确理解您的设置,那么您的CI循环将是最好的。
然后想想如何评估健壮性,您想要测试您的测试代码(C# Selenium)还是整个环境?
例如,您是否期望100%通过率,或者是否允许由于外部资源(如广告软件框)无法加载或未能连接到第三方遥测收集服务而导致故障,假设这些故障可以识别并归类为“外部故障”。
https://sqa.stackexchange.com/questions/42053
复制相似问题