Agilis módszertan a szoftvertesztelésben
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.

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.
- Egyéni és csapat interakciók folyamatokon és eszközökön
- Működő szoftver átfogó dokumentáción keresztül
- Ügyfél együttműködés a szerződéses tárgyalásokkal kapcsolatban
- 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.
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 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:
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.
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
-
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.
-
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
- A csapat frissíti és finomítja a kiadási tervet
- 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
- Az integrált terméket valódi felhasználókhoz szállítják
- Reva projektterv és az elfogadott fejlesztési módszertan áttekintése
- Ö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
- Time BoxING
- Moszkva szabályok
- Prototípus-
A DSDM projekt 7 szakaszból áll
- Előprojekt
- Megvalósíthatósági tanulmány
- Üzleti tanulmány
- Funkcionális modell iteráció
- Iteráció tervezése és kivitelezése
- Implementáció
- 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
- Domain objektum modellezés
- Fejlesztés jellemzők szerint
- Alkatrész/osztály tulajdonjoga
- Feature csapatok
- Ellenőrzések
- Konfiguráció-menedzsment
- Rendszeres építmények
- 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.
- Hulladék megszüntetése
- A tanulás felerősítése
- A kötelezettségvállalás elhalasztása (a lehető legkésőbbi döntés)
- Korai szállítás
- A csapat felhatalmazása
- Épület Integrity
- 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