薛定ding自动化器

文章描述


公司是否需要强调自动化工程师的能力,并且它们是否独特?


本文介绍了如何在公司内部与现有的自动化团队一起对能力进行修订,结果出现了“有团队但没有能力”的悖论。审查的结果是不再有自动化团队。


文章目的


讲述做出某些决定的经验和原因。


警告:所有解决方案都是在特定公司内部制定的,并考虑了项目的具体情况

文章结构


  • 对测试对象,项目,团队的描述;
  • 为具有自动测试及其解决方案的系统制定目标;
  • 制定实现目标所需的能力;
  • 总结一下。

被测对象,项目,团队的描述


堆栈:C#,SpecFlow(BddFy),硒


测试对象:美国汽车保险公司的系统。所有系统都具有用于设置应用程序的管理区,rest api(以便客户自己编写门户),用于创建策略和付款的应用程序以及用于生成报告的应用程序。所有零件都必须进行测试。


, . , QA. , . . 4000 , environment. . 15% broken( ).



- main branch. :


  • . , , , /, ;
  • . 4 . , 4 (48 — ).
  • .


, , . , HttpContext, claims, . , , , . .



:


  • ;
  • , ;

:


  1. CI . Cake(C# Make), . , ;
  2. , extension-;
  3. Selenoid GoGrid Router – CI/CD .

:


  1. solution ;
  2. solution analyzer ;
  3. MSBuild ;
  4. .

, , Controller/ View DI . , , /. Rest . : « , ». , UI — . 5 .


C


:


  1. DI . DI Must-Have feature , , , . ;
  2. ScenarioContext. , . , , , . ;
  3. . , , — SQL Server ;
  4. SOLID . , .

, – (), . , . 99.9 % , , , . , 3 4000 . , staging, .



: , . , , . – .
:


  • , BDD Framework. SpecFlow , .net core. , SpecFlow , ;
  • CQRS . UserActivity(UserActivity, UserActivityHandler, UserActivityResult) CheckAssertions (CheckAssertions, CheckAssertionsHandler);
  • Command Dispatcher(Mediator) . , .

:
:


图片


UserActivityHander Handle:


图片


, Command Dispatcher , :


  1. Handle , ,
    ;
  2. UserActivity , .

, (, ) , .



, , , , (CLR, , , , DI), , (Selenium, Selenoid, Specflow), , , .



, . . :


  1. feature , ;
  2. 如果测试落入主分支,则不能将其合并。
  3. “每个绿色的主要分支机构”。

如果不满足这些规则,那么自动化团队将一直处于比赛状态,而开发团队将对自动测试没有信心。


所描述的方法已在公司的多个项目中实施,并且已经成功运行了六个月。过去的时态也许不足以得出结论,但是目前没有改变方法的前提条件。


All Articles