Agiilne metoodika tarkvara testimisel

Agile metoodika

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.

Agile metoodika
Agile metoodika

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.

  1. Individuaalne ja meeskondlik suhtlus protsesside ja tööriistade üle
  2. Töötav tarkvara üle põhjaliku dokumentatsiooni
  3. Kliendikoostöö lepinguläbirääkimistel
  4. Ü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.

Agiilne protsessimudel
Agiilne protsessimudel

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 meetod
Scrum meetod
  • 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:

Scrum praktikad
Scrum praktikad

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.

Äärmuslik programmeerimine
Äärmuslik programmeerimine

Ä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

  1. Prahtimine: Selles faasis on erinevad tegevused arendusmeeskonna loomine, esialgse teostatavusanalüüsi tegemine, esialgse plaani koostamine ja arendusmetoodika viimistlemine
  2. Tsükliline kohaletoimetamine: Peamine arendusfaas koosneb kahest või enamast tarnetsüklist, mille jooksul
    1. Meeskond värskendab ja täpsustab väljalaskeplaani
    2. Rakendab nõuete alamhulka ühe või mitme programmitesti integreerimise iteratsiooni kaudu
    3. Integreeritud toode tarnitakse tegelikele kasutajatele
    4. Revülevaade projektiplaanist ja vastuvõetud arendusmetoodikast
  3. 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

  1. aeg Boxse
  2. Moskva reeglid
  3. Prototüübid

DSDM projekt koosneb 7 etapist

  1. Eelprojekt
  2. Teostatavusuuring
  3. Äriõpe
  4. Funktsionaalse mudeli iteratsioon
  5. Iteratsiooni projekteerimine ja ehitamine
  6. Täitmine
  7. 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

  1. Domeeniobjekti modelleerimine
  2. Arendus funktsioonide järgi
  3. Komponendi/klassi omand
  4. Funktsioonimeeskonnad
  5. Kontrollid
  6. Configuration Management
  7. Regulaarsed ehitused
  8. 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.

  1. Jäätmete kõrvaldamine
  2. Õppimise võimendamine
  3. Pühendumise edasilükkamine (otsustage võimalikult hilja)
  4. Varajane kohaletoimetamine
  5. Meeskonna volitamine
  6. Ehitus Integrity
  7. 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