Kapan Otomatisake Crita Panganggo?

Yen sampeyan wis kerja ing lingkungan sing lincah minangka QA, mesthine sampeyan bakal nemokake sawetara otomasi uji coba. Aku ora ateges otomatis uji coba unit sing biasane dadi kegiyatan sentris pangembang, nanging otomatis uji coba fungsi sing biasane ditindakake dening QA utawa peran pangembang Piranti Lunak anyar ing Tes.

Kaping pisanan, ayo goleki sawetara kritéria lan alesan nduwe uji coba otomatis sing kudu njawab pitakon 'Napa Tes Apa / Ora Kedah Otomatis'



Baleni maneh

Tes otomatis kudu bisa dibaleni lan output kudu konsisten ing saben lari supaya pangembang bisa ngandelake asil tes. Iki uga ateges manawa kita biasane ora bakal ngotomatisasi tes yen mung bakal mbukak; siji-sijine pangecualian yaiku yen sampeyan nindakake tes tumrap data sing akeh banget, kayata mriksa skrip pangalihan link kanthi akeh tautan.




Linuwih

Tes otomatis kudu mriksa verifikasi kanthi bener lan bisa nemtokake asil nyata tinimbang asil sing diarepake sing bener. Iki tegese uga yen asil ora bisa ditemtokake kanthi gampang utawa tes otomatis tundhuk karo masalah lingkungan sing bisa nyebabake positip asil tes, mula tes kasebut ora bisa dipercaya.



Wektu

Tes otomatis uga kudu ngirit wektu. Yen tes sederhana butuh wektu 10 menit kanggo rampung, nanging asil sing padha bisa ditemtokake sajrone 1 menit kanthi manual, mula luwih becik ora ngotomatisasi tes kasebut.




Jaring pengaman

Tes otomatis kudu nyedhiyakake jaring pengaman supaya bisa nyimpang saka kode kerja sing apik, minangka asil pangowahan menyang basis kode, kanthi cepet disorot lan dilaporake menyang pangembang.



Kapan Kisah kudu Otomatis?

Ing sprint khas, ujar ana 7 crita sing komitmen kanggo sprint sing 5 calon apik kanggo otomatis adhedhasar kriteria ing ndhuwur. Nanging kapan wektu paling apik kanggo ngotomatisasi crita kasebut? Apa kita kudu nulis tes otomatis nalika fitur lagi dikembangake? Apa kita ngenteni nganti fitur wis dikembangake banjur nulis tes otomatis? Apa kita ngenteni nganti pungkasan sprint banjur otomatis crita?

Ing sawetara kasus nalika crita ndandani bug utawa modifikasi utawa nambah fitur sing wis ana, mula bisa dingerteni kanggo nulis tes otomatis amarga fitur kasebut diowahi dening pangembang. Malah bisa uga ana tes otomatis kanggo fitur sing diowahi, mula sampeyan kudu ngapiki skrip kanggo nampa pangowahan anyar.

Ing kasus liyane, nalika crita babagan ngetrapake fitur anyar kanggo aplikasi kasebut, kepiye kita ngerti apa produk pungkasan sing bakal bisa nulis tes sadurunge? Ing kene, aku ora ngomong babagan file fitur sing njlentrehake tes nampa sadurunge, nanging jadwal nyata utawa tes selenium (implementasi tes) sing cocog karo kode sing dikirim.


Intine yaiku - tes apa wae sing bakal ditindakake luwih saka sepisan, kudu otomatis. Lan tes apa sing bakal ditindakake luwih saka sepisan? Tes Regresi. Lan apa tes regresi? Tes sing nemtokake manawa aplikasi wis mundur ing fungsi minangka asil saka modifikasi lan fitur anyar.

Nanging, sampeyan mung bisa nulis tes regresi otomatis sing apik marang sistem sing stabil, dingerteni lan ditemtokake ing babagan prilaku kanthi input lan output sing dingerteni.

Masalah nalika nyoba nulis tes otomatis nglawan fitur sing lagi dikembangake yaiku sampeyan bisa uga mbutuhake wektu suwe lan akeh usaha kanggo nulis skrip otomatis tumrap sesuatu sing ora stabil lan kena owah-owahan sajrone sprint kasebut. Menapa malih, kaping pinten kita ningali crita setya marang sprint banjur ditarik metu saka sprint? Banjur kita mbuang-mbuwang wektu kanggo nulis skrip sing ora ana ing sistem kasebut.

Sawetara organisasi malah nemtokke aturan sing ketat yen crita ora 'rampung' nganti kanthi otomatis! Apa kita bakal mungkasi fitur penting sing bakal diluncurake amarga QA ora utawa ora bisa menehi otomatis ing wektu amarga macem-macem alasan? Utawa crita ora 'rampung' amarga kita ora duwe skrip otomatis kanggo mriksa eksistensi tombol ing sawijining kaca. Serius?


Tujuan uji coba otomatisasi paling apik yaiku tes regresi lan tes regresi tansah diluncurake karo negara sing kondhang lan sistem deterministik supaya bisa ndeteksi perubahan garis awal, lan kanggo entuk asil sing migunani saka tes otomatis, yaiku nalika tes wis mlaku lan liwati kanthi manual paling ora sapisan, dadi sampeyan bisa mbandhingake asil roto otomatis karo eksekusi manual.

Kanthi definisi iki, crita kudu otomatis (implementasine) ing sprint lan mung yen fitur wis diverifikasi kanthi manual. Sawise crita lengkap lan diverifikasi kanthi manual, banjur dadi fitur sing bisa dipercaya lan sistem stabil sing bisa ngrancang lan nulis tes otomatis. Sawise tes otomatis ditrapake, banjur ditambahake menyang suite tes regresi kanggo ngawasi lan ndeteksi cacat regresi nalika fitur sabanjure dikembangake.