Cithakan Contoh Strategi Tes Agile



Strategi Tes Agile

Ing lingkungan sing lincah, ing ngendi kita nggarap sprint utawa iterasi singkat, saben sprint fokus mung karo sawetara syarat utawa crita pangguna, mula wajar yen dokumentasi ora patiya jembar, ing babagan nomer lan konten.

Tujuan dokumen strategi tes tangkas yaiku ndhaptar praktik paling apik lan sawetara bentuk struktur sing bisa ditindakake tim. Elinga, prigel ora ateges ora strukture.

Ing kene, kita deleng conto Strategi Tes Agile lan apa sing bakal dilebokake ing dokumen kasebut.


Strategi tes biasane duwe pernyataan misi sing bisa ana gandhengane karo tujuan lan tujuan bisnis sing luwih akeh.

Pernyataan misi khas bisa uga:


Kanggo Ngirim Kanthi Serep Piranti Lunak Nggarap sing Ngrampungake Kebutuhan Pelanggan _ kanthi cara _Nawakake Umpan Balik Cepet _lan Pencegahan _Dandani, tinimbang Deteksi cacat.



Didhukung dening:


  • Ora ana kode sing bisa ditulis kanggo crita nganti luwih dhisik nemtokake kriteria / tes sing ditampa

  • Crita bisa uga ora dianggep lengkap nganti kabeh tes ditampa

Ing dokumen Strategi Tes Agile, aku uga bakal kalebu pangeling kanggo kabeh wong babagan Jaminan Mutu


  • QA minangka seperangkat kegiyatan sing ditujokake kanggo mesthekake yen produk bisa nyukupi kebutuhan pelanggan kanthi cara sing sistematis lan andal.



  • Ing SCRUM (lincah) QA dadi tanggung jawab kabeh wong, ora mung panguji. QA minangka kabeh kegiatan sing ditindakake kanggo njamin kualitas sing bener sajrone pangembangan produk anyar.



Tataran Tes

Pengujian Unit

Napa: Kanggo mesthekake kode dikembangake kanthi bener

WHO: Pangembang / Arsitek Teknis


APA: Kabeh kode anyar + kode ulang kode warisan uga Pengujian unit Javascript

Kapan: Sanalika kode anyar ditulis

ING endi: Dev + CI Lokal (bagean saka bangunan)

CARA: Otomatis, Junit, TestNG, PHPUnit




Tes API / Layanan

Napa: Kanggo mesthekake komunikasi antar komponen bisa digunakake

WHO: Pangembang / Arsitek Teknis

APA: Layanan web, komponen, kontrol, lsp

Kapan: Sanalika API anyar dikembangake lan siap


ING endi: Dev + CI Lokal (bagean saka bangunan)

CARA: Otomatis, UI Sabun, Klien Ngaso



Tes Ditampa

Napa: Kanggo mesthekake pangarepan pelanggan bisa kawujud

WHO: QA Pangembang / SDET / Manual

APA: Verifikasi tes sing ditampa ing crita, verifikasi fitur

Kapan: Yen fitur wis siyap lan unit dites

ING endi: CI / Lingkungan Tes

CARA: Otomatis (Timun)



Tes Sistem / Uji Regresi / UAT

Napa: Kanggo mesthekake kabeh sistem bisa digunakake nalika terintegrasi

WHO: SDET / Manual QA / Analis Bisnis / Pamilik Produk

APA: Tes Skenario, Alur pangguna lan Perjalanan Anggota, tes Kinerja lan keamanan sing khas

Kapan: Yen Tes Tes Ditampa rampung

ING endi: Lingkungan Pementasan

CARA: Tes Eksplorasi otomatis (Webdriver)



Backlog Produk

Panyebab umum kegagalan pangembangan piranti lunak amarga sarat sing ora jelas lan interpretasi beda sing beda karo anggota tim sing beda.

Crita pangguna kudu sederhana, ringkes lan ora jelas. Minangka pedoman sing paling apik, luwih becik tindakake model INVEST kanggo nulis crita pangguna.

Crita pangguna sing apik yaiku:

Aku gumantung (kabeh liyane)

N bisa ditrapake (dudu kontrak khusus kanggo fitur)

V aluable (utawa vertikal )

IS stimulasi (kanthi pendekatan sing apik)

S mal (supaya pas karo iterasi)

T pancen apik (miturut prinsip, sanajan durung ana tes)

Format ing ngisor iki kudu digunakake kanggo nulis crita pangguna

As a [role] I want [feature] So that [benefit]

Penting, aja lali bagean 'Mupangat', amarga kabeh wong kudu ngerti apa nilai sing ditambahake kanthi ngembangake crita.

Kriteria Penerimaan

Saben crita Panganggo kudu ngemot kritéria panrima. Iki bisa dadi elemen sing paling penting sing nyengkuyung komunikasi karo macem-macem anggota tim.

Kriteria panrima kudu ditulis ing wektu sing padha crita pangguna digawe lan kudu ditempelake ing njero crita kasebut. Kabeh kriteria panrima kudu dites.

Saben Kriteria Penerimaan kudu duwe sawetara Tes Tampa sing ditampilake minangka skenario sing ditulis kanthi format Gherkin, kayata.

Scenario 1: Title Given [context] And [some more context]... When  [event] Then  [outcome] And [another outcome]...

Lokakarya Cerita / Perencanaan Sprint

Ing saben lokakarya crita, kabeh wong ing tim ngerti babagan rincian crita mula para pangembang lan QA ngerti ruang lingkup karya kasebut. Kabeh wong kudu ngerti babagan crita kasebut.

Pangembang kudu ngerti babagan detail teknis sing ana gandhengane karo crita, lan QA kudu ngerti kepiye crita bakal dites lan manawa ana alangan kanggo nyoba crita kasebut.

Nyegah cacat

Ing lokakarya crita, PO, BA, Dev, lan QA kudu melu.

Skenario (kasus sing bener, ora valid lan pinggiran) kudu dipikirake (QA bisa nambah nilai ing kene kanthi mikir babagan crita) lan ditulis ing file fitur.

Penting, sampeyan kudu nyathet yen skenario (luwih saka apa wae) sing bakal nuduhake cacat nalika nyoba produk, mula luwih akeh gaweyan lan wektu kanggo kegiatan iki, asil paling apik ing pungkasan.

Amarga mayoritas cacat amarga sarat sing ora jelas lan ora jelas, kegiatan iki uga bakal nyegah nyegah tumindak sing salah amarga kabeh wong kudu ngerti babagan crita kasebut.

Kajaba iku, ing rapat perencanaan sprint, prakiraan sing diwenehake kanggo crita uga kalebu upaya uji coba lan ora mung upaya kode. QA (manual lan otomatis) uga kudu ana ing rapat-rapat ngrancang sprint kanggo nyedhiyakake perkiraan kanggo nyoba crita.



Pangembangan

Nalika pangembangan diwiwiti, kode produksi anyar lan / utawa modifikasi kode lawas kudu didhukung tes unit ditulis dening pangembang lan ditinjau maneh dening pangembang liyane utawa SDET trampil.

Apa wae komitmen kanggo repositori kode kudu nyebabake tes unit saka server CI. Iki menehi mekanisme umpan balik sing cepet kanggo tim pangembangan.

Tes unit nggawe manawa sistem bisa digunakake ing level teknis lan ora ana kesalahan logika.



Pangujian Pangembang

Minangka pangembang, tumindak kaya sampeyan ora duwe QA ing tim utawa organisasi. Sejatine manawa QA duwe pola pikir sing beda, nanging sampeyan kudu nyoba miturut kemampuan sampeyan.

Sampeyan mikir manawa ngirit wektu kanthi cepet pindhah menyang crita sabanjure, nanging nyatane, yen ana cacat ditemokake lan dilaporake, luwih suwe mbenake masalah tinimbang mbuwang sawetara menit kanggo nggawe manawa fitur kasebut bisa digunakake kanthi bener.

Kode lan / utawa refactoring kode lawas sing anyar kudu ana tes unit sing cocog sing bakal dadi bagian saka tes regresi unit.



Tes Penerimaan Otomatis lan Tes Non-fungsi

Tes nampa otomatis kalebu Tes Integrasi lan Tes Layanan lan tes UI sing tujuane mbuktekake piranti lunak bisa digunakake ing level fungsional lan memenuhi syarat lan spesifikasi pangguna.

Tes ditampa kanthi otomatis biasane ditulis nganggo basa Gherkin lan dieksekusi nggunakake alat BDD kayata timun.

Kelingan : Ora kabeh tes kudu otomatis!

Amarga tes kasebut umume mbutuhake komunikasi liwat HTTP, tes kasebut kudu dieksekusi ing aplikasi sing disebarke, tinimbang mbukak minangka bagean saka pembangunan.

Tes non-fungsi kayata tes Kinerja lan Keamanan uga penting banget kanggo tes fungsional, mula kudu dieksekusi ing saben penyebaran.

Tes Kinerja kudu mriksa metrik kinerja ing saben penyebaran supaya ora ana degradasi kinerja.

Tes Keamanan kudu mriksa kerentanan keamanan dhasar sing asale OWASP

Penting, iki kudu proses otomatis kanthi perawatan sing sithik banget supaya entuk bathi paling akeh saka panyebaran otomatis. Iki tegese kudu ora ana kegagalan tes intermiten, masalah skrip tes, lan lingkungan sing rusak.

Gagal mung amarga cacat kode asli tinimbang masalah skrip, mula tes gagal sing dudu amarga kegagalan asli kudu diatasi langsung utawa dicopot saka paket otomatisasi, supaya bisa entuk asil sing tetep.



Tes Regresi

Ora ngarep-arep bisa nemokake akeh cacat. Tujuane mung kanggo menehi saran sing durung ngilangi fungsi utama. Kudu ana tes tes regresi manual sing sithik banget.

Paket asap - Mesthi ora luwih saka 15 menit

Paket iki mung ngemot fungsionalitas level tinggi kanggo mesthekake aplikasi cukup stabil kanggo pengembangan utawa tes luwih lanjut.

Contone, kanggo situs web eCommerce, tes sing kalebu ing paket iki yaiku:

  • Panelusuran Produk,
  • Review Produk
  • Tuku Barang
  • Nggawe Akun / Login Akun

Paket regresi lengkap - kudu ora luwih saka 1 jam

Paket iki ngemot tes tes regresi lengkap lan ngemot kabeh liyane sing ora kalebu ing paket asap.

Ing kene, tujuane yaiku entuk saran cepet kanthi tes sing luwih gedhe. Yen umpan balik luwih saka 1 jam, iku ora cepet. Utawa nyuda jumlah tes kanthi nggunakake teknik tes pasangan, nggawe paket tes adhedhasar risiko utawa nglakokake tes kanthi sejajar.



UAT lan Tes Eksplorasi

Ora ana alesan kenapa UAT lan tes eksplorasi ora bisa mlaku sejajar karo tes panrima otomatis. Nanging, kegiatan kasebut beda-beda lan tujuwane bisa nemokake macem-macem masalah. Tujuane UAT yaiku supaya fitur sing dikembangake bisa nggawe bisnis migunani lan migunani kanggo para pelanggan.

PO (Pamilik Produk) kudu mbukak Tes Penerimaan Anggota utawa Tes Penerimaan Bisnis kanggo ngonfirmasi produk sing dibangun yaiku sing diarepake lan bisa diarepake karo pangarepan pangguna.

Tes eksplorasi kudu fokus ing skenario pangguna lan kudu nemokake bug sing ilang otomatisasi. Tes eksplorasi ora bisa nemokake bug sing sepele, luwih becik kudu nemokake masalah sing ora jelas.



Rampung Kriteria

Sawise kabeh kegiatan ing ndhuwur rampung lan ora ana masalah, crita kasebut Rampung!

Ing ndhuwur minangka sawetara pandhuan babagan apa sing bisa dilebokake ing Dokumen Strategi Tes Agile. Temenan iki kudu disesuaikan karo kabutuhan organisasi sampeyan, nanging muga-muga, template iki bakal mbantu sampeyan nggawe dokumen Strategi Tes Agile dhewe.