Masalah Fundamental Testing

Pambuka

Sugeng sonten, warga Khabrovsk. Saiki aku lagi ngrampungake tugas tes kanggo lowongan QA Lead kanggo perusahaan fintech. Tugas pisanan, kanggo nggawe rencana tes kanthi dhaptar priksa lengkap lan conto kasus uji coba kanggo tes ceret listrik, bisa ditanggulangi kanthi sepele:

Nanging bagean kapindho dadi pitakonan: "Apa ana masalah sing umum kanggo kabeh penguji sing nyegah supaya bisa digunakake kanthi luwih efisien?"

Wangsulan: Bab ingkang pisanan sing teka ing atine iku kanggo dhaftar kabeh masalah liyane utawa kurang ngelingke aku ketemu sak testing, ganja metu iku cilik, lan ngringkes liyane. Nanging aku cepet nyadari yen cara induktif bakal njawab pitakonan sing ora ditrapake kanggo "kabeh", nanging, paling apik, mung kanggo "mayoritas" penguji. Mulane, aku mutusake kanggo nyedhaki saka sisih liya, kanthi deduktif, lan iki kedadeyan.

Definisi

Wangsulan: Bab ingkang pisanan aku biasane nindakake nalika mecahaken masalah anyar kanggo nyoba kanggo mangerteni apa iku kabeh, lan kanggo nindakake iki aku kudu ngerti makna saka tembung sing nuduhke. Tembung kunci sing kudu dingerteni yaiku:

  • masalahipun
  • panguji
  • proyek tester
  • efisiensi tester

Ayo pindhah menyang Wikipedia lan akal sehat:
Masalah (Yunani kuna πρόβλημα) ing pangertèn sing wiyar - masalah teoretis utawa praktis rumit sing mbutuhake sinau lan resolusi; ing ilmu pengetahuan - kahanan kontradiktif sing katon ing wangun posisi sing nentang ing panjelasan babagan fenomena, obyek, proses lan mbutuhake teori sing cukup kanggo ngrampungake; Ing urip, masalah dirumusake ing wangun sing bisa dingerteni wong: "Aku ngerti apa, aku ora ngerti carane," yaiku, ngerti apa sing kudu dipikolehi, nanging ora ngerti carane nindakake. . Teka telat. lat. masalah, saka Yunani. πρόβλημα "dibuwang maju, diselehake ing ngarep"; saka προβάλλω “uncalake maju, sijine ing ngarep; nyalahke".

Ora ana gunane, nyatane, "masalah" = "apa wae sing kudu ditangani."
Tester - spesialis (ora bakal dipérang dadi jinis, amarga kita kasengsem ing kabeh tester) sing melu nguji komponen utawa sistem, asile yaiku:
Karya Tester - sakumpulan kegiatan sing ana gandhengane karo tes.
Efisiensi (lat. effectivus) - hubungan antarane asil sing digayuh lan sumber daya sing digunakake (ISO 9000: 2015).
asil - konsekuensi saka rantai (seri) tumindak (asil) utawa acara, sing ditulis kanthi kualitatif utawa kuantitatif. Kasil bisa kalebu kauntungan, kerugian, gain, mundhut, nilai, lan kamenangan.
Minangka karo "masalah," ana sethitik makna: soko sing metu minangka asil saka karya.
sumber - kamungkinan sing bisa diukur kanthi kuantitatif kanggo nindakake kegiatan apa wae saka wong utawa wong; kahanan sing ngidini nggunakake transformasi tartamtu kanggo entuk asil sing dikarepake. Penguji minangka wong, lan miturut teori sumber daya vital, saben wong nduweni papat aset ekonomi:
awis (income) punika sumber dianyari;
energi (gaya urip) minangka sumber daya sing bisa dianyari sebagian;
wektu minangka sumber daya tetep lan dhasar ora bisa dianyari;
kawruh (informasi) minangka sumber daya sing bisa dianyari, minangka bagean saka modal manungsa sing bisa tuwuh lan rusak[1].

Aku pengin Wigati sing definisi efficiency ing kasus kita ora sakabehe bener, amarga luwih kawruh kita nggunakake, luwih murah efficiency. Mulane, aku bakal nemtokake maneh efisiensi minangka "rasio antarane asil sing diraih lan sumber daya sing dibuwang." Banjur kabeh bener: kawruh ora boroske sak karya, nanging nyuda biaya mung sumber daya non-dianyari tester - wektu.

kaputusan

Dadi, kita nggolek masalah penguji global sing ngrusak efektifitas karyane.
Sumber daya sing paling pinunjul sing digunakake ing karya tester yaiku wektune (liyane bisa dikurangi kanthi cara siji utawa liyane), lan supaya kita bisa ngomong babagan pitungan efisiensi sing bener, asil uga kudu dikurangi. .
Kanggo nindakake iki, nimbang sistem sing bisa ditindakake dening tester liwat karyane. Sistem kasebut minangka proyek sing tim kalebu tester. Siklus urip proyek bisa diwakili kanthi algoritma ing ngisor iki:

  1. Nggarap Requirements
  2. Pembentukan spesifikasi teknis
  3. Pangembangan saka
  4. Tes
  5. Rilis menyang produksi
  6. Dhukungan (gotong item 1)

Ing kasus iki, kabeh proyek bisa dipérang dadi subproyek (fitur), kanthi siklus urip sing padha.
Saka sudut pandang proyek kasebut, kurang wektu sing ditindakake, luwih efektif implementasine.
Mangkono, kita nerangake definisi efisiensi maksimal saka tester saka sudut pandang proyek - iki minangka kahanan proyek nalika wektu tes nol. Masalah umum kanggo kabeh penguji yaiku ora bisa nggayuh wektu iki.

Carane menehi hasil karo?

Kesimpulan kasebut cukup jelas lan wis digunakake dening akeh kanggo wektu sing suwe:

  1. Pangembangan lan pangujian kudu diwiwiti lan diakhiri meh bebarengan (biasane ditindakake dening departemen QA). Opsi sing cocog yaiku nalika kabeh fungsi sing dikembangake wis dijamin dening autotes nalika wis siyap, diatur dadi regresi (lan, yen bisa, pre-commit) testing nggunakake sawetara jinis CI.
  2. Luwih akeh fitur sing diduweni proyek (sing luwih rumit), luwih akeh wektu sing kudu ditindakake kanggo mriksa manawa fungsi anyar ora ngrusak sing lawas. Mula, luwih rumit proyek kasebut, luwih akeh otomatisasi dibutuhake tes regresi.
  3. Saben-saben kita ora kejawab bug ing produksi lan pangguna nemokake, kita kudu nglampahi wektu tambahan liwat siklus urip proyek wiwit saka titik 1 (Nggarap syarat, ing kasus iki, pangguna). Amarga alasan ilang bug umume ora dingerteni, kita mung duwe siji jalur optimasi - saben bug sing ditemokake pangguna kudu dilebokake ing tes kemunduran kanggo mesthekake yen ora bakal katon maneh.

Source: www.habr.com

Add a comment