Schrödinger Automators

Deskripsi artikel


Apakah perlu bagi perusahaan untuk menyoroti kompetensi seorang insinyur otomasi dan apakah mereka begitu unik?


Artikel tersebut menjelaskan bagaimana, di dalam perusahaan, dengan tim otomasi yang ada, peninjauan kompetensi dilakukan, sebagai akibatnya muncul paradoks “Ada tim, tetapi tidak ada kompetensi”. Hasil dari peninjauan tersebut adalah tidak ada lagi tim otomasi.


Tujuan artikel


Ceritakan pengalaman dan alasan untuk membuat keputusan tertentu.


PERINGATAN: Semua solusi dilakukan dalam perusahaan tertentu, dengan mempertimbangkan spesifikasi proyek

Struktur artikel


  • Deskripsi objek, proyek, tim yang diuji;
  • Perumusan tujuan untuk sistem dengan autotest dan solusinya;
  • Perumusan kompetensi yang diperlukan untuk mencapai tujuan;
  • Meringkas.

Deskripsi objek, proyek, tim yang diuji


Stack: C #, SpecFlow (BddFy), Selenium


Objek Uji: Sistem untuk perusahaan asuransi mobil di Amerika. Semua sistem memiliki area admin untuk mengatur aplikasi, mengatur api sehingga klien dapat menulis portal sendiri, aplikasi untuk membuat kebijakan dan melakukan pembayaran, dan aplikasi untuk menghasilkan laporan. Semua bagian harus ditutup dengan tes.


, . , 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) . , .

:
:


gambar


UserActivityHander Handle:


gambar


, Command Dispatcher , :


  1. Handle , ,
    ;
  2. UserActivity , .

, (, ) , .



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



, . . :


  1. feature , ;
  2. Anda tidak dapat menggabungkan cabang di cabang utama jika tes jatuh di dalamnya;
  3. "Cabang utama hijau yang pernah hijau".

Jika aturan ini tidak dipenuhi, maka tim otomasi akan terus-menerus dalam kondisi balapan dan tim pengembangan tidak akan memiliki kepercayaan diri dalam pengujian otomatis.


Pendekatan yang diuraikan telah diterapkan di beberapa proyek perusahaan dan telah berhasil beroperasi selama enam bulan. Mungkin bentuk lampau tidak cukup untuk menarik kesimpulan, tetapi saat ini tidak ada prasyarat untuk mengubah pendekatan.


All Articles