3. diel - Testovanie v priebehu SDLC - Zručnosti a osvedčené postupy Nové
V predchádzajúcej lekcii, Testovací proces , sme si vysvetlili, prečo je testovanie nevyhnutné. Potom sme sa pozreli na základné princípy, testovacie činnosti, testware a role v testovaní.
V dnešnej lekcii si vysvetlíme, aké sú základné zručnosti a osvedčené postupy testerov, a pozrieme sa na testovanie v kontexte software development life cycle.
Základné zručnosti a osvedčené postupy
Aby mohli testeri dobre vykonávať svoju prácu, potrebujú mať určité základné zručnosti.
Tester musí mať nasledujúce kľúčové zručnosti:
- znalosť testovania,
- dôkladnosť, starostlivosť, zvedavosť, dôraz na detail, schopnosť pracovať metodicky,
- dobré komunikačné schopnosti, aktívne počúvanie, schopnosť byť tímovým hráčom,
- analytické myslenie, kritické myslenie, kreativita,
- technické znalosti,
- znalosť domény.
Pre testerov sú kľúčové komunikačné schopnosti – oznamovanie výsledkov testov môže byť totiž vnímané ako kritika produktu a jeho autora. aktivitu, hoci významne prispieva k úspechu projektu a ku kvalite produktu. defektoch a zlyhaniach by mali byť komunikované konštruktívne a bez emócií.
Tímová spolupráca
Tester musí tiež efektívne pracovať v tíme a prispievať k tímovým cieľom. Tímový prístup umožňuje, aby každý člen s potrebnými znalosťami plnil rôzne úlohy a aby všetci niesli zodpovednosť za kvalitu (zdieľaný pracovný priestor (fyzický alebo virtuálny)) podporuje komunikáciu a spoluprácu, čím sa zvyšuje tímová dynamika a využívajú sa rôzne zručnosti v prospech projektu.
Testeri musia úzko spolupracovať napríklad s biznisovými zástupcami a vývojármi a odovzdávať svoje znalosti tímu, aby podporili vývoj produktu. Tento prístup ale nemusí byť vhodný pre všetky projekty, napríklad v bezpečnostne kritických scenároch, kde je nezávislosť testovania kľúčová.
Nezávislosť testovania
Nezávislosť testovania zvyšuje efektivitu testerov pri hľadaní defektov, pretože ich pohľad nie je ovplyvnený osobnou zaujatosťou vývojárov. prístup zvyčajne zahŕňa viac úrovní nezávislosti.
Praktický príklad
Predstavme si situáciu, kedy tím vývojárov vytvára novú mobilnú aplikáciu. Po dokončení základných funkcií je aplikácia otestovaná samotnými vývojármi – prvá úroveň nezávislosti. aplikácia následne odovzdaná inému tímu testerov, ktorí neboli zapojení do vývoja tejto aplikácie – druhá úroveň nezávislosti. Títo testeri majú iný pohľad na vec, nie sú ovplyvnení znalostí interného kódu Testovanie však pokračuje ešte ďalej. majú úplne nezaujatý pohľad na produkt:
Výhodou nezávislosti je väčšia pravdepodobnosť rozpoznania rôznych druhov defektov vďaka odlišnému pohľadu testerov. Nevýhodou však môže byť izolácia od vývojového tímu, čo môže viesť k problémom v komunikácii, oslabeniu spolupráce alebo oneskoreniu vo vydávaní produktu.
Testovanie v kontexte software development life cycle
Model SDLC určuje, ako spolu logicky aj chronologicky súvisia rôzne fázy vývoja a typy činností, ktoré sú vykonávané v rámci tohto procesu. models (inkrementálne modely vývoja). Ďalej si jednotlivé metódy vysvetlíme podrobnejšie.
Niektoré činnosti v rámci procesov vývoja softvéru možno tiež popísať podrobnejšími metódami a agilnými postupmi.
- aceptance test-driven development – ATDD (vývoj riadený akceptačnými testami),
- behavior-driven development – BDD (vývoj riadený správaním),
- domain-driven design – DDD (návrh riadený doménou),
- extrémne programming – XP (extrémne programovanie),
- feature-driven development – FDD (vývoj riadený úžitkovými vlastnosťami),
- kanban, lean IT, scrum,
- test-driven development – TDD (vývoj riadený testovaním).
Aby bolo testovanie úspešné, musí byť prispôsobené SDLC. Voľba SDLC má vplyv na rozsah a načasovanie testovacích činností, úroveň detailu testovacej dokumentácie, voľbu techník testovania a prístupu k testovaniu, rozsah automatizácie testov a role a zodpovednosti testerov
Sequential development models
V sequential development models sa testeri v počiatkoch zameriavajú na revízie požiadaviek a test design, pretože kód vzniká neskôr, čo obmedzuje dynamic testing. Napríklad pri vývoji zdravotníckeho systému podľa vodopádového modelu sa v prvej fáze analyzujú všetky požiadavky, na základe ktorých sa pripravia detailné testovacie scenáre.Až po dokončení celej fázy vývoja, napríklad implementácie modulu pre správu pacientov, začína samotné testovanie, ktoré môže odhaliť problémy neskôr, keď je ich oprava nákladnejšia.
Iterative a incremental development models
V iterative a incremental development models sa s každou iteráciou vytvára funkčný prototyp, čo umožňuje ako static testing, tak dynamic testing na všetkých úrovniach Časté vydávanie verzií vyžaduje rýchlu spätnú väzbu a dôkladný regression testing. vývoji sa v každej iterácii implementujú nové funkcie, ako je sledovanie transakcií alebo správa rozpočtu. Každá nová verzia aplikácie je priebežne testovaná a prípadné chyby sú opravované v ďalších iteráciách, čo umožňuje rýchlu reakciu na problémy a spätnú väzbu používateľov.
Agile development
Agile development (agilný vývoj) kladie dôraz na zmeny počas projektu, s menšou dokumentáciou a veľkým dôrazom na automatizáciu testov, ktoré podporujú častý regression testing (manuálne testovanie) sa často opiera o skúsenostné techniky, ktoré nevyžadujú detailnú analýzu. aplikácie pre správu úloh v scrum tíme sú jednotlivé funkcie, ako napríklad možnosť komentovania úloh, dodávané v krátkych šprintoch Ide o nedlhé, časovo obmedzené úseky v rámci agile development softvéru, počas ktorých tím pracuje na dokončení konkrétnych úloh alebo funkcií. Automatizované testy overujú funkčnosť nových prvkov po každej zmene, zatiaľ čo manuálni testeri testujú nové funkcie rýchlo a pružne na základe svojich skúseností. , bez rozsiahlej dokumentácie.
Software development life cycle a osvedčené testovacie postupy
Medzi osvedčené testovacie postupy, nezávisle na zvolenom modeli SDLC, patria:
- Ku každej vývojovej činnosti existuje zodpovedajúca testovacia činnosť, takže všetky vývojové činnosti podliehajú kontrole kvality.
- Existujú rôzne úrovne testovania a každá má svoje špecifické ciele. Tým je testovanie primerane detailné a zároveň nedochádza k nadbytočnostiam. zaisťujú, že celá aplikácia funguje správne.
- Test analysis a test design pre danú úroveň začína počas zodpovedajúcej vývojovej fázy SDLC, takže je splnený princíp včasného testovania.
- V okamihu, keď je k dispozícii pracovná verzia (draft) ľubovoľného pracovného produktu, sú do jeho revízie zapojení testeri, čo podporuje prístup shift-left Akonáhle je prvá verzia mobilnej aplikácie hotová, testeri vykonávajú revíziu funkcií, aby odhalili chyby ešte pred nasadením do produkčného prostredia, čím sa predchádza neskorším problémom.
V nasledujúcom kvíze, Kvíz - Základy testovania a testovací proces, si vyskúšame nadobudnuté skúsenosti z predchádzajúcich lekcií.