Agilis módszertan a szoftvertesztelésben

Agilis módszertan

Mi az agilis módszertan a tesztelésben?

Az agilis módszertan olyan gyakorlatot jelent, amely elősegíti folyamatos iteráció fejlesztés és tesztelés a projekt teljes szoftverfejlesztési életciklusa során. A szoftvertesztelés Agilis modelljében a fejlesztési és a tesztelési tevékenységek párhuzamosak, ellentétben a Waterfall modellel.

Agilis módszertan
Agilis módszertan

Mi az agilis szoftverfejlesztés?

A Agilis szoftverfejlesztés A módszertan az egyik legegyszerűbb és leghatékonyabb folyamat, amellyel az üzleti igények jövőképét szoftveres megoldásokká alakíthatjuk. Az agilis kifejezés olyan szoftverfejlesztési megközelítések leírására szolgál, amelyek folyamatos tervezést, tanulást, fejlesztést, csoportos együttműködést, evolúciós fejlesztést és korai szállítást alkalmaznak. Arra ösztönöz, hogy rugalmasan reagáljanak a változásokra.

Az agilis szoftverfejlesztés négy alapértékre helyezi a hangsúlyt.

  1. Egyéni és csapat interakciók folyamatokon és eszközökön
  2. Működő szoftver átfogó dokumentáción keresztül
  3. Ügyfél együttműködés a szerződéses tárgyalásokkal kapcsolatban
  4. Reagálás az átállásra egy terv szerint

Agilis modell vs vízesés modell

Az agilis és a vízesés modell két különböző módszer a szoftverfejlesztési folyamathoz. Bár megközelítésükben különböznek egymástól, időnként mindkét módszer hasznos, a követelményektől és a projekt típusától függően.

Agilis modell Vízesés modell
Agilis módszertan a szoftvertesztelés meghatározásában: Az agilis módszertanok inkrementális és iteratív megközelítést javasolnak a szoftvertervezésben Waterfall Model: A szoftver fejlesztése szekvenciálisan halad a kezdőponttól a végpontig.
A Agilis folyamat a szoftvertesztelésben egyedi modellekre bontják, amelyeken a tervezők dolgoznak A tervezési folyamat nincs külön modellekre bontva
Az ügyfélnek korán és gyakran van lehetősége rá, hogy megnézze a terméket, és döntést hozzon, és módosítsa a projektet Az ügyfél csak a projekt végén láthatja a terméket
Az agilis modell a tesztelés során strukturálatlannak tekinthető a vízesés modellhez képest A vízesés modell biztonságosabb, mert annyira tervorientált
A kis projektek nagyon gyorsan megvalósíthatók. Nagy projekteknél nehéz megbecsülni a fejlesztési időt. Mindenféle projekt megbecsülhető és befejezhető.
A hiba a projekt közepén javítható. Csak a végén tesztelik az egész terméket. Ha a követelmény hibát talál, vagy bármilyen változtatást kell végrehajtani, akkor a projektet elölről kell kezdeni
A fejlesztési folyamat iteratív, a projekt rövid (2-4 hetes) iterációkkal valósul meg. A tervezés nagyon kevés. A fejlesztési folyamat szakaszos, és a fázis sokkal nagyobb, mint az iteráció. Minden fázis a következő fázis részletes leírásával zárul.
A dokumentáció kisebb prioritást élvez, mint szoftverfejlesztés A dokumentáció elsődleges fontosságú, és akár a személyzet képzésére és a szoftver frissítésére is használható egy másik csapattal
Minden iterációnak megvan a maga tesztelési fázisa. Lehetővé teszi a regressziós tesztelés végrehajtását minden új függvény vagy logika kiadásakor. Csak a fejlesztési fázis után kerül sor a tesztelési fázisra, mert az egyes részek nem működnek teljesen.
Az agilis tesztelés során, amikor az iteráció véget ér, a termék szállítható funkcióit eljuttatják az ügyfélhez. Az új funkciók közvetlenül a kiszállítás után használhatók. Akkor hasznos, ha jó kapcsolatot ápol az ügyfelekkel. Az összes kifejlesztett funkció a hosszú megvalósítási szakasz után azonnal elérhetővé válik.
A tesztelők és a fejlesztők együtt dolgoznak A tesztelők a fejlesztőktől külön dolgoznak
Minden sprint végén megtörténik a felhasználói elfogadás A felhasználói elfogadás az teljesített a projekt végén.
Ehhez szoros kommunikációra van szükség a fejlesztőkkel, és együtt kell elemezni a követelményeket és a tervezést A fejlesztő nem vesz részt a követelmény- és tervezési folyamatban. Általában késések vannak a tesztek és a kódolás között

Ellenőrizze még:- Agile vs Waterfall: Ismerje meg a módszertanok közötti különbséget

Agilis folyamat

Ellenőrizze az alábbiakat Agilis módszertan folyamat a sikeres rendszerek gyors szállításához.

Agilis folyamatmodell
Agilis folyamatmodell

Különbözőek Agilis módszerek jelen vannak az agilis tesztelésben, és ezek az alábbiak:

Scrum

A SCRUM egy agilis fejlesztési módszer, amely kifejezetten arra koncentrál, hogyan lehet feladatokat kezelni egy csapatalapú fejlesztői környezetben. Alapvetően a Scrum egy rögbi meccs során fellépő tevékenységből származik. A Scrum hisz a fejlesztőcsapat felhatalmazásában, és támogatja a kis csapatokban (mondjuk 7-9 tagú) munkát. Az Agile és a Scrum három szerepkörből áll, és feladataik a következők:

Scrum módszer
Scrum módszer
  • Scrum mester
    • Scrum mester felelős a csapat felállításáért, a sprint értekezletért és az előrehaladás akadályainak elhárításáért
  • A termék tulajdonosa
    • A terméktulajdonos létrehozza a termékhátralékot, priorizálja a lemaradást, és felelős a funkcionalitás szállításáért minden iterációnál
  • Scrum csapat
    • A csapat maga irányítja a munkáját, és megszervezi a munkát a sprint vagy a kerékpár teljesítéséhez

Termek elmaradas

Ez egy olyan adattár, ahol a követelmények nyomon követhetők az egyes kiadásokhoz teljesítendő követelmények (felhasználói történetek) számának részleteivel. A terméktulajdonosnak karban kell tartania és rangsorolnia kell, és el kell juttatnia a scrum csapathoz. A csapat új követelmény kiegészítését, módosítását vagy törlését is kérheti

Scrum gyakorlatok

A gyakorlatok részletes leírása:

Scrum gyakorlatok
Scrum gyakorlatok

A Scrum-módszerek folyamatfolyamata:

A folyamat folyamata scrum tesztelés a következő:

  • A scrum minden iterációja az úgynevezett Sprint
  • A termékhátralék egy lista, ahol minden részletet megadnak a végtermék beszerzéséhez
  • Mindegyik alatt Sprint, a Termékhátralék legnépszerűbb felhasználói történetei kiválasztásra kerülnek, és a Sprint hátralék
  • A csapat a meghatározott sprint hátralékon dolgozik
  • A csapat ellenőrzi a napi munkát
  • A sprint végén a csapat biztosítja a termék funkcionalitását

Extrém programozás (XP)

Az Extreme Programming technika nagyon hasznos, ha folyamatosan változó igények vagy követelmények vannak az ügyfelek részéről, vagy ha nem biztosak a rendszer működőképességében. Támogatja a termék gyakori „kiadását” rövid fejlesztési ciklusokban, ami eleve javítja a rendszer termelékenységét, és egy olyan ellenőrző pontot is bevezet, ahol a vásárlói igények könnyen megvalósíthatók. Az XP olyan szoftvert fejleszt, amely az ügyfeleket célban tartja.

Extrém programozás
Extrém programozás

Az üzleti követelményeket történetek formájában gyűjtik össze. Ezeket a történeteket egy parkolónak nevezett helyen tárolják.

Az ilyen típusú módszertanban a kiadások a 14 napos időtartamú iterációknak nevezett rövidebb ciklusokon alapulnak. Minden iteráció tartalmaz olyan fázisokat, mint a kódolás, az egységteszt és a rendszerteszt, ahol minden fázisban beépül az alkalmazás néhány kisebb vagy nagyobb funkciója.

Az eXtreme programozás fázisai:

Az Agile XP módszerben 6 fázis áll rendelkezésre, ezek magyarázata a következő:

Tervezés

  • Az érintettek és a szponzorok azonosítása
  • Infrastrukturális követelmények
  • Biztonság kapcsolódó információk és gyűjtés
  • Szolgáltatási szint megállapodások és feltételei

Elemzés

  • Történetek rögzítése a parkolóban
  • Részesítse előnyben a történeteket a parkolóban
  • A történetek súrolása a becsléshez
  • Iteráció SPAN(idő) meghatározása
  • Erőforrás tervezés mind a fejlesztési, mind a minőségbiztosítási csapatok számára

Tervezés

  • A feladatok lebontása
  • Tesztforgatókönyv elkészítése minden feladathoz
  • Regression Automation Framework

Végrehajtás

  • Kódolás
  • Kézi tesztforgatókönyvek végrehajtása
  • Hibajelentés generálása
  • Manuális regressziós tesztesetek átalakítása automatizálásra
  • Iterációs áttekintés
  • Az iteráció áttekintésének vége

Fóliázás

  • Kis kiadások
  • Demók és vélemények
  • Fejlesszen ki új történeteket az igények alapján
  • Folyamatfejlesztések az iteráció végének felülvizsgálati megjegyzései alapján

Bezárás

  • Pilot Launch
  • Képzések
  • Gyártás beindítása
  • SLA garancia
  • Review SOA stratégia
  • Termelési támogatás

Két forgatókönyv áll rendelkezésre a munka napi nyomon követésére, és ezeket az alábbiakban hivatkozásként soroljuk fel.

  • Történet karton
    • Ez egy hagyományos módja annak, hogy az összes történetet egy táblára gyűjtsük cetlik formájában, hogy nyomon követhessük a napi XP-tevékenységeket. Mivel ez a manuális tevékenység több erőfeszítést és időt igényel, jobb, ha online űrlapra vált.
  • Online Storyboard
    • A Storyboard online eszköz a történetek tárolására használható. Több csapat is használhatja különböző célokra.

Kristály módszertanok

A Crystal Methodology három koncepción alapul

  1. Bérlés: Ebben a fázisban a különböző tevékenységek közé tartozik a fejlesztői csapat létrehozása, az előzetes megvalósíthatósági elemzés elvégzése, a kezdeti terv kidolgozása és a fejlesztési módszertan finomhangolása.
  2. Ciklikus szállítás: A fő fejlesztési szakasz két vagy több szállítási ciklusból áll, amelyek során a
    1. A csapat frissíti és finomítja a kiadási tervet
    2. A követelmények egy részhalmazát egy vagy több programteszt-integrációs iteráción keresztül valósítja meg
    3. Az integrált terméket valódi felhasználókhoz szállítják
    4. Reva projektterv és az elfogadott fejlesztési módszertan áttekintése
  3. Összegzés: Az ebben a fázisban végrehajtott tevékenységek a felhasználói környezetbe történő üzembe helyezés, a telepítés utáni felülvizsgálatok és mérlegelések.

Dinamikus szoftverfejlesztési módszer (DSDM)

A DSDM egy Gyors alkalmazásfejlesztés (RAD) megközelítést alkalmaz a szoftverfejlesztéshez, és agilis projektvégrehajtási keretrendszert biztosít. A DSDM fontos szempontja, hogy a felhasználóknak aktívan részt kell venniük, és a csapatok döntési jogkört kapnak. A DSDM-nél a termék gyakori kiszállítása válik az aktív középpontba. A DSDM-ben használt technikák a következők

  1. Time BoxING
  2. Moszkva szabályok
  3. Prototípus-

A DSDM projekt 7 szakaszból áll

  1. Előprojekt
  2. Megvalósíthatósági tanulmány
  3. Üzleti tanulmány
  4. Funkcionális modell iteráció
  5. Iteráció tervezése és kivitelezése
  6. Implementáció
  7. Projekt után

Funkcióvezérelt fejlesztés (FDD)

Ez a módszer a „tervezés és építés” jellemzőire összpontosít. A szoftverfejlesztés más Agilis módszereivel ellentétben az FDD nagyon specifikus és rövid munkafázisokat ír le, amelyeket funkciónként külön kell elvégezni. Tartalmazza a domain áttekintését, a tervezési ellenőrzést, az építés elősegítését, a kódvizsgálatot és a tervezést. Az FDD a terméktartást követve fejleszti a célt

  1. Domain objektum modellezés
  2. Fejlesztés jellemzők szerint
  3. Alkatrész/osztály tulajdonjoga
  4. Feature csapatok
  5. Ellenőrzések
  6. Konfiguráció-menedzsment
  7. Rendszeres építmények
  8. A haladás és az eredmények láthatósága

Lean szoftverfejlesztés

A karcsú szoftverfejlesztési módszer a „Just in time production” elvén alapul. Célja a szoftverfejlesztés sebességének növelése és a költségek csökkentése. A lean fejlődés hét lépésben foglalható össze.

  1. Hulladék megszüntetése
  2. A tanulás felerősítése
  3. A kötelezettségvállalás elhalasztása (a lehető legkésőbbi döntés)
  4. Korai szállítás
  5. A csapat felhatalmazása
  6. Épület Integrity
  7. Optimalizálja az egészet

Kanban

Kanban Eredetileg a japán szóból alakult ki, ami azt jelenti, hogy egy kártya, amely tartalmazza az összes szükséges információt a terméken a befejezéshez vezető út minden szakaszában. Ez a keretrendszer vagy módszer meglehetősen elfogadott a szoftvertesztelési módszerekben, különösen az Agilis koncepciókban.

Scrum vs Kanban

Scrum Kanban
A scrum technikában a tesztet le kell bontani, hogy egy sprint alatt teljesíthetőek legyenek Nincs meghatározott tételméret
Kiemelt termékhátralékot ír elő A rangsorolás nem kötelező
A Scrum csapata bizonyos mennyiségű munkát vállal az iteráció érdekében A kötelezettségvállalás nem kötelező
Leégési diagramot írnak elő Nincs meghatározott tételméret
Az egyes sprintek között egy scrum board alaphelyzetbe áll A Kanban tábla kitartó. Korlátozza a munkafolyamat állapotában lévő elemek számát
Nem tud elemeket hozzáadni a folyamatban lévő iterációhoz Ha van kapacitás, bármikor hozzáadhat elemeket
A WIP közvetetten korlátozott A WIP közvetlenül korlátozott
Timebox-os iterációk előírtak Az időkeretes iterációk nem kötelezőek

Ellenőrizze még:- Kanban vs. Scrum: Mi a különbség?

Agilis mérőszámok

Az Agile hatékony használatához összegyűjthető mutatók a következők:

  • Drag Factor
    • Erőfeszítés órákban, amelyek nem járulnak hozzá a sprintcélhoz
    • A húzási tényező javítható a megosztott erőforrások számának csökkentésével, a nem járulékos munka mennyiségének csökkentésével
    • Az új becslések növelhetők a légellenállási tényező százalékával - Új becslés = (Régi becslés+ellenállási tényező)
  • Sebesség
    • A sprint szállítható funkcióira konvertált lemaradás (felhasználói történetek).
  • Egységtesztek száma hozzáadva
  • A napi összeállítás befejezéséhez szükséges időintervallum
  • Egy iterációban vagy a korábbi iterációkban észlelt hibák
  • Gyártási hiba szivárgás