Kāpēc jūs vēlaties automatizēt testu?

Kāpēc jūs automatizētu testu? Kādas priekšrocības mēs iegūstam, izmantojot testa automatizāciju?

Diezgan bieži, kad cilvēki iesaistās automatizētajā testēšanā, viņu galvenā uzmanība tiek pārcelta no labu testu izveides uz to, lai nodrošinātu, ka automatizētais kods patiešām var izpildīt un palaist testu.

Sprinta laikā, kad komandas biedri ir spiesti piegādāt stāstus ierobežotā laika posmā, parasti nav pietiekami daudz laika, lai pārbaudītu visus plānotos scenārijus, nemaz nerunājot par automātisku testa skriptu rakstīšanu, lai pārbaudītu jauno funkcionalitāti.


Mēs varam aizmigt ar darba detaļām, kodēšanu, pārskatīšanu, izpildi un aizmirst par galveno iemeslu kāpēc mēs faktiski automatizējam testu!



Kāpēc mēs automatizējam testu?

Šis ir viens no jautājumiem, ko es uzdodu, intervējot kandidātus uz Test Automation lomu, un man par pārsteigumu šķiet, ka daudziem kandidātiem pietrūkst galvenā un vissvarīgākā testa automatizācijas iemesla. Dažas atbildes, ko saņemu no kandidātiem, ir diezgan ticamas, taču joprojām nav atbildes, ko meklēju. Dažas no atbildēm, kuras saņemu uz iepriekš minēto jautājumu, ir šādas:


Palieliniet testa pārklājumu

Šī atbilde ir diezgan pamatota, bet kā mēs definējam pārklājumu? Ja mums ir 100 testi, kā mēs varam izmērīt procentuālo pārklājumu?

Ievērojot nobriedušu testa automatizācijas praksi, jūs varētu veikt simtiem testu salīdzinoši īsā laika posmā.

Tāpēc mēs varam izveidot vairāk testa gadījumu, vairāk testa scenāriju un testēt, izmantojot vairāk ieejas datu konkrētai funkcijai, un tādējādi iegūt lielāku pārliecību, ka to sistēma darbojas, kā paredzēts.

Tomēr testēšanā un jo īpaši testa automatizācijā vairāk testu patiesībā nenozīmē labāku kvalitāti vai lielākas iespējas atrast kļūdas.


Martina Faulera ierakstā, kur viņš atsakās Testa pārklājums , viņš piemin

Ja jūs izvirzāt noteiktu pārklājuma līmeni par mērķi, cilvēki mēģinās to sasniegt. Problēma ir tā, ka augstus pārklājuma skaitļus ir pārāk viegli sasniegt ar zemas kvalitātes testēšanu. Absurdākajā līmenī, kāds jums ir AssertionFreeTesting . Bet pat bez tā jūs saņemat daudz testu, meklējot lietas, kas reti noiet greizi, novēršot uzmanību no patiesībā svarīgu lietu testēšanas.

Ietaupīt laiku

Šī atbilde ir patiesa, jo jūs varat pavadīt vērtīgu laiku, veicot interesantas izpētes pārbaudes, kamēr darbojas automatizētie testi. Tomēr pavisam jaunai funkcijai, kas ir izstrādāta, faktiski var būt nepieciešams ilgāks laiks, lai rakstītu automatizētus skriptus, nekā pārbaudīt funkciju manuāli pirmajā mirklī.

Tāpēc ir svarīgi atzīmēt, ka, lai ietaupītu laiku no automatizētajiem testiem, ir nepieciešami sākotnēji lielāki centieni automatizēto testu skriptu izveidošanā, pārliecinoties, ka tie tiek pārskatīti, un ka automātisko testu izpildē nav žagas.


Atrodiet vairāk kļūdu

Šī atbilde mani dažreiz uztrauc, jo es nekad neesmu redzējis nevienu metriku, kas vedinātu domāt, ka automatizācijā tika konstatētas vairāk kļūdu nekā manuālās / izpētes pārbaudes. Pēc jaunā koda ieviešanas automatizētie testi parasti pārbauda, ​​vai sistēmā nav regresijas.

Vienmēr ir lielākas iespējas atrast kļūdas jaunajās funkcijās nekā esošajās funkcijās. Turklāt ir arī citi iemesli kāpēc automatizētie testi nespēj atrast defektus

Nomainiet manuālos testerus

Šī, iespējams, ir vissliktākā atbilde, ko esmu dzirdējis attiecībā uz to, kāpēc mēs automatizējam testu. Pastāv skaidra atšķirība starp manuālo testeri un automātisko testu. Automatizētā testēšana nav pārbaude, tā ir faktu pārbaude.

Lai varētu automatizēt testu, mums jāzina gaidāmais rezultāts, lai mēs varētu pārbaudīt derīgu vai nederīgu rezultātu. Tas ir tas, kas dod mums patiesu vai nepatiesu, pozitīvu vai negatīvu, izturēt vai neizdoties.


No otras puses, testēšana ir izmeklēšanas uzdevums, kurā mēs vienlaikus izstrādājam un veicam testus. Daudzas lietas var izturēties savādāk, ja to var pamanīt tikai vērīgs cilvēka testeris.

Labi manuālie testētāji vienmēr būs nepieciešami atšķirīgās domāšanas un spēju apšaubīt sistēmu dēļ.



Uzlabot kvalitāti

Lai gan automatizētie testi spēj mums ātri sniegt atsauksmes un brīdināt par lietojumprogrammas stāvokli, lai mēs varētu atsaukt visas izmaiņas kodā, kas ir salauzis sistēmu, automātiskā testēšana pati par sevi neuzlabo kvalitāti. Tas, ka mums ir izveidota nobriedusi testa automatizācija, negarantē, ka ražošanā neizkļūst kļūdas.

Mēs varam uzlabot kvalitāti, nodrošinot pareizas prakses ievērošanu no izstrādes cikla sākuma līdz beigām. Kvalitāte nav nepārdomāta; to vajadzētu cept jau pašā sākumā. Lai iegūtu priekšstatu par produkta kvalitāti, nepietiek tikai ar paļaušanos uz automatizētiem testiem.




Tātad, kāds ir galvenais iemesls, kāpēc mēs automatizējam testu?

Īsā atbilde ir atkārtojamība . Mēs automatizējam testu, jo mums ir jāveic tie paši testi atkal un atkal. Vai vēlaties automatizēt testu, ja gatavojaties to palaist tikai vienu reizi un aizmirstat par to? Protams, nē! Laiku un pūles, ko jūs tērējat testa automatizēšanai, jūs to varētu izpildīt manuāli.

Pēc definīcijas mēs automatizējam atkārtojamus testus, t.i., regresijas testus, kas mums bieži jāveic.

Tātad, nākamreiz, kad vēlaties automatizēt testu, speriet soli atpakaļ un padomājiet, cik bieži jūs, iespējams, izpildīsit šo testu? Vai tiešām ir vērts censties automatizēt testu?