Agiilne metoodika tarkvara testimisel
Mis on testimise agiilne metoodika?
Agiilne metoodika tähendab praktikat, mis edendab pidev iteratsioon arendus ja testimine kogu projekti tarkvaraarenduse elutsükli jooksul. Tarkvara testimise Agile mudelis on erinevalt Waterfalli mudelist nii arendus- kui testimistegevused samaaegsed.

Mis on agiilne tarkvaraarendus?
. Vilgas tarkvaraarendus metoodika on üks lihtsamaid ja tõhusamaid protsesse ärivajaduse visiooni muutmiseks tarkvaralahendusteks. Agiilne on termin, mida kasutatakse tarkvaraarenduse lähenemisviiside kirjeldamiseks, mis kasutavad pidevat planeerimist, õppimist, täiustamist, meeskonna koostööd, evolutsioonilist arengut ja varajast tarnimist. See julgustab paindlikult reageerima muutustele.
Agiilne tarkvaraarendus rõhutab nelja põhiväärtust.
- Individuaalne ja meeskondlik suhtlus protsesside ja tööriistade üle
- Töötav tarkvara üle põhjaliku dokumentatsiooni
- Kliendikoostöö lepinguläbirääkimistel
- Ümbervahetusele reageerimine plaani järgi
Agile Model vs Waterfall Model
Agile ja Waterfall mudel on tarkvara arendusprotsessi kaks erinevat meetodit. Kuigi nende lähenemisviis on erinev, on mõlemad meetodid mõnikord kasulikud, olenevalt nõudest ja projekti tüübist.
Agiilne mudel | Juga mudel |
---|---|
Agiilne metoodika tarkvara testimise määratluses: Agiilsed metoodikad pakuvad tarkvara kujundamisel järkjärgulist ja iteratiivset lähenemist | Waterfall Model: Tarkvara arendamine kulgeb järjestikku alguspunktist lõpp-punktini. |
. Agiilne protsess tarkvara testimises on jaotatud üksikuteks mudeliteks, mille kallal disainerid töötavad | Disainiprotsess ei ole jagatud üksikuteks mudeliteks |
Kliendil on varakult ja sageli võimalus tootega tutvuda ning teha otsuseid ja projektis muudatusi | Klient saab toodet näha alles projekti lõpus |
Agiilset mudelit testimisel peetakse kosemudeliga võrreldes struktureerimata | Kose mudelid on turvalisemad, kuna need on nii plaanile orienteeritud |
Väikesed projektid saab ellu viia väga kiiresti. Suurprojektide puhul on arendusaega raske hinnata. | Igasuguseid projekte saab hinnata ja lõpule viia. |
Vea saab parandada projekti keskel. | Alles lõpus testitakse kogu toodet. Kui leitakse nõutav viga või tuleb teha muudatusi, tuleb projektiga alustada algusest |
Arendusprotsess on iteratiivne ja projekt teostatakse lühikeste (2-4) nädalaste iteratsioonidega. Planeerimist on väga vähe. | Arendusprotsess on etapiviisiline ja etapp on palju suurem kui iteratsioon. Iga etapp lõpeb järgmise etapi üksikasjaliku kirjeldusega. |
Dokumentatsioon on vähem prioriteetne kui tarkvaraarenduse | Dokumentatsioon on esmatähtis ja seda saab kasutada isegi personali koolitamiseks ja tarkvara uuendamiseks koos mõne teise meeskonnaga |
Igal iteratsioonil on oma testimise faas. See võimaldab rakendada regressioonitesti iga kord, kui vabastatakse uued funktsioonid või loogika. | Alles pärast arendusfaasi viiakse läbi testimise faas, kuna eraldi osad ei tööta täielikult. |
Agiilse testimise korral, kui iteratsioon lõpeb, tarnitakse toote tarnitavad funktsioonid kliendile. Uued funktsioonid on kasutatavad kohe pärast tarnimist. See on kasulik, kui teil on klientidega hea kontakt. | Kõik arendatud funktsioonid tarnitakse pärast pikka juurutamisetappi korraga. |
Testijad ja arendajad teevad koostööd | Testijad töötavad arendajatest eraldi |
Iga sprindi lõpus toimub kasutaja aktsepteerimine | Kasutaja aktsepteerimine on teostatud projekti lõpus. |
See eeldab tihedat suhtlemist arendajatega ning koos nõuete ja planeerimise analüüsimist | Arendaja ei osale nõuete ja planeerimise protsessis. Tavaliselt on testide ja kodeerimise vahel viivitus |
Kontrollige ka: - Agile vs Waterfall: teadke metoodikate erinevust
Agiilne protsess
Kontrollige allolevat Agiilne metoodika edukate süsteemide kiireks tarnimiseks.

On erinevaid Agiilsed meetodid agiilsetes testides ja need on loetletud allpool:
Palli mängupanek
SCRUM on agiilne arendusmeetod, mis keskendub konkreetselt ülesannete haldamisele meeskonnapõhises arenduskeskkonnas. Põhimõtteliselt on Scrum tuletatud tegevusest, mis toimub ragbi matši ajal. Scrum usub arendusmeeskonna mõjuvõimu suurendamisse ja toetab väikestes (ütleme 7–9-liikmelistes) meeskondades töötamist. Agile ja Scrum koosnevad kolmest rollist ning nende kohustusi selgitatakse järgmiselt:

-
Scrum Master
- Scrum Master vastutab meeskonna loomise, sprindikoosoleku eest ja kõrvaldab takistused edenemisel
-
Toote omanik
-
Tooteomanik loob toote mahajäämuse, seab mahajäämuse prioriteediks ja vastutab funktsioonide tarnimise eest igal iteratsioonil
-
-
Scrum meeskond
-
Meeskond juhib oma tööd ise ja organiseerib tööd sprindi või tsikli läbimiseks
-
Toote tagavara
See on hoidla, kus jälgitakse nõudeid koos üksikasjadega iga versiooni jaoks täidetavate nõuete (kasutajalugude) arvu kohta. Tooteomanik peaks seda hooldama ja prioritiseerima ning see tuleks levitada scrumtiimile. Meeskond võib taotleda ka uue nõude lisamist või muutmist või kustutamist
Scrum praktikad
Tavasid kirjeldatakse üksikasjalikult:

Scrumi metoodikate protsessivoog:
Protsessi voog scrum testimine on järgmine:
- Iga scrumi iteratsiooni nimetatakse Sprint
- Toote mahajäämus on loend, kuhu sisestatakse kõik üksikasjad lõpptoote saamiseks
- Iga ajal Sprint, valitakse välja toote backlogi tippkasutajate lood ja muudetakse nendeks Sprint mahajäämus
- Meeskond töötab määratletud sprindi mahajäämuse kallal
- Meeskond kontrollib igapäevast tööd
- Sprindi lõpus pakub meeskond toote funktsionaalsust
Extreme Programming (XP)
Extreme Programming tehnikast on palju abi siis, kui klientide nõudmised või nõudmised muutuvad pidevalt või kui nad pole süsteemi funktsionaalsuses kindlad. See toetab toote sagedast "väljalaskmist" lühikeste arendustsüklite jooksul, mis parandab oma olemuselt süsteemi tootlikkust ja tutvustab ka kontrollpunkti, kus saab hõlpsasti rakendada mis tahes kliendi nõudeid. XP arendab tarkvara, mis hoiab klienti eesmärgis.

Ärinõuded on koondatud lugude kaupa. Kõik need lood on salvestatud kohta, mida nimetatakse parklaks.
Seda tüüpi metoodika puhul põhinevad väljalasked lühematel tsüklitel, mida nimetatakse iteratsioonideks 14-päevase ajavahemikuga. Iga iteratsioon sisaldab selliseid faase nagu kodeerimine, üksuse testimine ja süsteemi testimine, kus igas etapis ehitatakse rakendusse mõni väiksem või suurem funktsionaalsus.
eXtreme programmeerimise etapid:
Agile XP meetodil on saadaval 6 faasi ja neid selgitatakse järgmiselt:
Planeerimine
-
Sidusrühmade ja sponsorite tuvastamine
-
Infrastruktuuri nõuded
-
TURVALISUS seotud teavet ja kogumist
-
Teenusetaseme lepingud ja selle tingimused
Analüüs
-
Lugude jäädvustamine parklas
-
Eelistage lugusid parklas
-
Lugude nühkimine hinnangu saamiseks
-
Iteratsiooni SPAN(aeg) määratlemine
-
Ressursiplaneerimine nii arendus- kui ka kvaliteedikontrolli meeskondade jaoks
Disain
-
Ülesannete jaotamine
-
Teststsenaariumi ettevalmistamine iga ülesande jaoks
-
Regressiooni automatiseerimise raamistik
Täitmine
-
Kodeerimine
-
Käsitsi testimise stsenaariumide täitmine
-
Defekti aruande genereerimine
-
Manuaalse regressioonitesti juhtumite teisendamine automatiseerimiseks
-
Iteratsiooni vaheülevaade
-
Iteratsiooni ülevaate lõpp
Pakke
-
Väikesed väljaanded
-
Demod ja ülevaated
-
Arendage uusi lugusid vastavalt vajadusele
-
Protsessi täiustused, mis põhinevad iteratsiooni lõpu ülevaatuse kommentaaridel
sulgemine
-
Piloot käivitamine
-
koolitus
-
Tootmise käivitamine
-
SLA garantii tagatis
-
Revew SOA strateegia
-
Tootmise tugi
Igapäevaseks töö jälgimiseks on saadaval kaks süžeeskeemi ja need on toodud allpool.
-
Jutupapp
-
See on traditsiooniline viis koguda kõik lood tahvlile märkmete kujul, et jälgida igapäevaseid XP tegevusi. Kuna see käeline tegevus nõuab rohkem vaeva ja aega, on parem üle minna veebivormile.
-
-
Online Storyboard
-
Lugude salvestamiseks saab kasutada veebitööriista Storyboard. Seda saavad kasutada mitu meeskonda erinevatel eesmärkidel.
-
Kristallide metoodikad
Crystal Methodology põhineb kolmel kontseptsioonil
-
Prahtimine: Selles faasis on erinevad tegevused arendusmeeskonna loomine, esialgse teostatavusanalüüsi tegemine, esialgse plaani koostamine ja arendusmetoodika viimistlemine
-
Tsükliline kohaletoimetamine: Peamine arendusfaas koosneb kahest või enamast tarnetsüklist, mille jooksul
- Meeskond värskendab ja täpsustab väljalaskeplaani
- Rakendab nõuete alamhulka ühe või mitme programmitesti integreerimise iteratsiooni kaudu
- Integreeritud toode tarnitakse tegelikele kasutajatele
- Revülevaade projektiplaanist ja vastuvõetud arendusmetoodikast
- Tõmba otsad kokku: Selles etapis tehtavad tegevused on juurutamine kasutajakeskkonda, juurutamisjärgsed ülevaated ja refleksioonid.
Dünaamiline tarkvaraarendusmeetod (DSDM)
DSDM on a Rakenduste kiire arendamine (RAD) lähenemine tarkvaraarendusele ja pakub paindlikku projektiedastusraamistikku. DSDM-i oluline aspekt on see, et kasutajad peavad olema aktiivselt kaasatud ja meeskondadele antakse otsustusõigus. DSDM-iga muutub aktiivne toote sagedane kohaletoimetamine. DSDM-is kasutatavad tehnikad on
- aeg Boxse
- Moskva reeglid
- Prototüübid
DSDM projekt koosneb 7 etapist
- Eelprojekt
- Teostatavusuuring
- Äriõpe
- Funktsionaalse mudeli iteratsioon
- Iteratsiooni projekteerimine ja ehitamine
- Täitmine
- Projektijärgne
Funktsioonipõhine arendus (FDD)
See meetod keskendub "projekteerimise ja ehitamise" funktsioonidele. Erinevalt teistest tarkvaratehnika Agile meetoditest kirjeldab FDD väga spetsiifilisi ja lühikesi tööfaase, mis tuleb iga funktsiooni kohta eraldi teha. See hõlmab domeeni ülevaadet, disaini kontrolli, ehitamise edendamist, koodide kontrolli ja disaini. FDD arendab toote hoidmist, järgides asju eesmärgis
- Domeeniobjekti modelleerimine
- Arendus funktsioonide järgi
- Komponendi/klassi omand
- Funktsioonimeeskonnad
- Kontrollid
- Configuration Management
- Regulaarsed ehitused
- Edusammude ja tulemuste nähtavus
Lean tarkvaraarendus
Lean tarkvara arendusmeetod põhineb põhimõttel “Just in time production”. Selle eesmärk on suurendada tarkvara arendamise kiirust ja vähendada kulusid. Lean arengu võib kokku võtta seitsme sammuga.
- Jäätmete kõrvaldamine
- Õppimise võimendamine
- Pühendumise edasilükkamine (otsustage võimalikult hilja)
- Varajane kohaletoimetamine
- Meeskonna volitamine
- Ehitus Integrity
- Optimeerige tervik
Kanban
Kanban tekkis algselt jaapanikeelsest sõnast, mis tähendab kaarti, mis sisaldab kogu teavet, mida on vaja toote kohta teha igas etapis selle valmimiseni. See raamistik või meetod on tarkvara testimismeetodis üsna kasutusel, eriti agarates kontseptsioonides.
Scrum vs Kanban
Palli mängupanek | Kanban |
---|---|
Scrum tehnikas tuleb testid jaotada nii, et need saaks läbida ühe sprindi jooksul | Ükski eseme suurus pole ette nähtud |
Määrab prioriteetse toote mahajäämuse | Prioriteetide seadmine on valikuline |
Scrumi meeskond teeb iteratsiooni jaoks kindla töömahu | Pühendumine on vabatahtlik |
Põlemisgraafik on ette nähtud | Ükski eseme suurus pole ette nähtud |
Iga sprindi vahel lähtestatakse scrum board | Kanbani tahvel on püsiv. See piirab töövoo olekus olevate üksuste arvu |
See ei saa käimasolevasse iteratsiooni üksusi lisada | See võib lisada üksusi alati, kui maht on saadaval |
WIP on kaudselt piiratud | WIP on otseselt piiratud |
Ette nähtud ajakasti iteratsioonid | Timeboxi iteratsioonid on valikulised |
Kontrollige ka: - Kanban vs. Scrum: Mis vahe on?
Agile mõõdikud
Mõõdikud, mida saab Agile'i tõhusaks kasutamiseks koguda, on järgmised:
-
Lohistustegur
-
Pingutus tundides, mis ei aita kaasa sprindi eesmärgi saavutamisele
-
Tõmbetegurit saab parandada, vähendades jagatud ressursside arvu, vähendades mittepanustava töö hulka
-
Uusi hinnanguid saab suurendada takistusteguri protsendi võrra – Uus hinnang = (vana hinnang+takistustegur)
-
-
Kiirus
-
Mahajäänud (kasutajalugude) arv, mis on teisendatud sprindi tarnitavateks funktsioonideks
-
-
Ühikutestide arv lisatud
-
Igapäevase ehitamise lõpuleviimiseks kuluv ajavahemik
-
Iteratsioonis või eelmistes iteratsioonides tuvastatud vead
-
Tootmisdefekti leke