Pri práci v oblasti testovania softvéru existujú desiatky rôznych testovacích metód, ktoré treba zvážiť.
Testovanie softvéru pomáha vývojárom odstrániť prípadné chyby v softvérovom balíku, aby mohli dodať produkt, ktorý spĺňa potreby a očakávania všetkých zainteresovaných strán. Používanie správneho testovacieho riešenia vám poskytne všetky potrebné znalosti, ale správny výber testu môže zabrať čas.
Testovanie sivej škatule je jednou z najvšestrannejších foriem testovania, ktoré majú testeri k dispozícii, pretože ponúka množstvo informácií bez toho, aby zaberalo nadmerné zdroje.
Prečítajte si viac o tom, čo je to testovanie šedej škatule, o niektorých špecifikách fungovania testovania šedej škatule a o niektorých dôvodoch, prečo spoločnosti používajú túto metódu testovania.
Čo je to testovanie šedej škatule?
Testovanie šedej skrinky je forma testovania, ktorá kombinuje testovanie bielej skrinky a testovanie čiernej skrinky, pričom využíva čiastočné pochopenie základného návrhu a spôsobu implementácie systému.
Táto kombinácia znamená, že tester vie, čo sa deje na pozadí bez toho, aby úplne poznal kód, čo poskytuje lepší prehľad o potenciálnych príčinách problémov v softvéri, keď sa vyskytnú.
Za dokončenie testovania šedej škatule sú zodpovední testeri, pričom tím zabezpečenia kvality pracuje na projekte nezávisle od vývojového tímu.
1. Kedy a prečo je pri testovaní softvéru potrebné vykonať testovanie šedej škatule?
Spoločnosti v procese vývoja niekoľkokrát používajú testovanie šedej škatule.
Ak napríklad aplikácia potrebuje na správne fungovanie interakciu s nástrojom tretej strany, testeri nemajú prístup k zdrojovému kódu, ktorý je súčasťou externého softvéru. Ide o vynútené obmedzenie prístupu testerov QA, ktoré z testovania robí šedú škatuľu bez možnosti voľby.
2. Keď nemusíte robiť testovanie šedej škatule
V procese testovania existuje niekoľko momentov, kedy testovanie šedej škatule nie je potrebné, pričom prvý z nich je na začiatku procesu vývoja.
Funkčné testovanie prebieha, keď vývojári na začiatku testujú, aby sa uistili, že ich kód plní svoje najzákladnejšie úlohy, ktoré sú úplne transparentné. Keďže pred testerom nie je skrytý žiadny kód ani dokumentácia, nepovažuje sa to za testovanie v šedej skrinke.
Ďalším prípadom, keď nepotrebujete testovanie šedej škatule, je testovanie na samom konci vývoja, keď máte kompletný produkt. Ide o prípad, keď vám s testovaním pomôže koncový používateľ, ktorý je známy aj ako “beta testovanie” alebo “end-to-end testovanie“.
Používatelia testujú aplikáciu bez prístupu ku kódu alebo návrhovým dokumentom, namiesto toho softvér prijímajú na základe jeho vlastných skúseností. Ide o formu testovania čiernej skrinky, pretože proces je úplne neprehľadný.
3. Kto sa podieľa na testovaní sivej škatuľky?
Na testovaní šedej škatule sa podieľa niekoľko ľudí a úloh, pričom medzi najdôležitejšie úlohy v tomto procese patria:
– Manažér kontroly kvality:
Manažér QA alebo manažér zabezpečenia kvality je pracovník v procese vývoja softvéru, ktorý je zodpovedný za prideľovanie úloh testovaciemu tímu.
Patrí sem vytváranie rozpisov práce, skúmanie správ a riešenie konfliktov, ktoré sa v tíme vyskytnú.
– Tester:
Tester je odborník zodpovedný za realizáciu testovacích prípadov, ktoré sú súčasťou procesu testovania šedej skrinky.
To si vyžaduje vysokú úroveň pozornosti k detailom pri písaní správ a opakovanom vykonávaní presných testovacích prípadov.
– Vývojár:
Vývojári sú profesionáli zodpovední za tvorbu kódu a jeho úpravu v závislosti od výsledkov testovania šedej skrinky.
Hoci sa nemusia nevyhnutne podieľať na samotnom testovaní, dostávajú od testerov oznámenia o výsledkoch.
– Analytik QA:
Úloha analytika QA je bežná v testovacích procesoch, ktoré využívajú veľa automatizácie. Analytik okrem analýzy údajov, ktoré testy vrátia na konci procesu, píše aj kód testovacích prípadov pre automatické testy.
Výhody testovania šedej škatule
Pri skúmaní softvéru je niekoľko hlavných výhod používania testovania šedej škatule. Využitím týchto výhod časom zlepšíte úroveň svojej aplikácie.
Medzi dôvody, prečo spoločnosti používajú túto formu testovania, patria:
1. Poznanie vnútorných mechanizmov pomáha pri navrhovaní testov
Jednou z hlavných výhod používania testovania šedej škatule na pracovisku je skutočnosť, že poznáte niektoré vnútorné mechanizmy aplikácie. To zahŕňa pochopenie toho, čo jednotlivé funkcie robia a ktoré z nich sú hotové moduly v porovnaní s vlastným kódom niektorých ďalších funkcií.
Znalosť vnútornej funkcionality znamená, že tester lepšie rozumie tomu, čo testuje, a môže tieto testy zamerať na návrh aplikácie. Spoločnosti získajú presnejšie výsledky, ktoré správne reprezentujú softvér.
2. Výsledkom je okamžité vyriešenie problémov
V niektorých prípadoch, keď sa v teste vyskytne problém a tester má prístup ku kódu, ktorý za problémom stojí, môže byť riešenie problému okamžité.
To je v rozpore s metodikou testovania čiernej skrinky, pri ktorej testeri nevidia žiadny kód v zákulisí skúmaného softvéru. Vďaka tomu, že testeri s bohatými skúsenosťami s vývojom vidia kód, môžu vývojárov presne upozorniť na to, v čom je problém a ako ho môže budúca aktualizácia vyriešiť.
Testovanie šedej škatuľky šetrí veľa času, ktorý by sa inak strávil skúmaním problémov, a pomáha spoločnostiam efektívnejšie využívať svoj čas.
3. Oddeľuje testerov a vývojárov
Používanie testovania šedej škatule jasne oddeľuje vývojárov aplikácie od ľudí, ktorí softvér testujú.
Dôvodom je, že testovanie šedej škatule sa spolieha na to, že testeri nemajú znalosti o fungovaní softvéru, pričom vzdialenosť medzi nimi sa stáva nevyhnutnosťou pre presnejšie výsledky testov, ktoré nie sú ovplyvnené zaujatosťou.
Testeri v scenároch šedej škatule sú v úplne inom tíme ako vývojári a ponúkajú presné informácie bez toho, aby ich výstupy ovplyvňovali existujúce názory.
Vývojári z toho tiež profitujú, pretože získajú kritickejší pohľad na svoju prácu, čo im pomôže zlepšiť existujúcu aplikáciu aj svoje zručnosti do budúcnosti.
Výzvy testovania šedej skrinky
Používanie testovania šedej škatule pri vývoji má niekoľko hlavných nevýhod.
Pochopením týchto nedostatkov a snahou o ich zmiernenie všade, kde je to možné, zvýšite celkovú úroveň svojej práce na konci fázy zabezpečenia kvality.
Medzi hlavné nevýhody testovania šedej škatule patria:
1. Možnosť, že kód nebude viditeľný
Testovanie v sivom poli znamená, že niektoré aspekty kódu sú testerovi skryté a v prípade, že sa pri testovaní vyskytnú problémy, môže to viesť k ďalším problémom.
Pri neviditeľnom kóde majú zamestnanci zapojení do testovania problém riadiť svoje testy tak, aby čo najlepšie využili aplikáciu, a strácajú výhodu okamžitého zistenia príčiny problému.
Proces odstraňovania chýb sa stáva neprehľadnejším, čo vedie k tomu, že čas aktualizácie sa stáva nevyhnutnosťou a spoločnosti majú problém nájsť problémy vo svojom kóde.
Výsledné produkty môžu mať viac chýb a nižšiu úroveň v dôsledku tohto neviditeľného kódu.
2. Testy môžu byť nepresné, ak operácie zlyhajú
Presné testy sú nevyhnutnosťou pri akejkoľvek forme testovania softvéru, pričom vyššia miera presnosti nasmeruje tímy k aktualizáciám, ktoré môžu dokončiť v budúcich verziách, a okrem toho pomáha vývojovému tímu získať väčšiu istotu vo svojich produktoch.
Táto presnosť sa zníži, keď operácie pri testovaní v šedej skrinke zlyhajú. Ak testeri nemajú prístup ku kódu, jednoducho dostanú od softvéru správu “Operácia zlyhala”, čo im znemožňuje poskytnúť akúkoľvek spätnú väzbu o jeho fungovaní.
Ak chcete získať prospešné metriky, vývojári musia softvér pred ďalšou fázou testovania opraviť. V opačnom prípade môže tester iba konštatovať, že funkcia v súčasnej podobe nefunguje.
3. Problémy s distribuovanými systémami
Distribuované systémy sa vzťahujú na softvérové systémy, ktoré sú umiestnené na viacerých rôznych miestach alebo sú závislé od funkcií, ako sú napríklad cloudové služby spracovania údajov.
To mimoriadne sťažuje testovanie, pretože značná časť softvéru je skrytá za orgánom tretej strany a testeri jednoducho dostávajú výstup z neznámeho procesu.
Keď sa vyskytnú problémy so softvérom, ktorý využíva systémy tretích strán, môže byť ťažké určiť, či je problém v samotnej aplikácii, vo funkcii tretej strany alebo v spôsobe ich integrácie, najmä ak tester nevidí kód, ako funguje.
Charakteristiky testov šedej škatuľky
Existuje niekoľko spoločných charakteristík, ktoré majú testy šedej škatule, pričom rozpoznanie týchto testov vám pomôže pripraviť stratégiu pre vašu organizáciu.
Niektoré z hlavných príkladov charakteristík testovania šedej škatule, okrem toho, že tieto charakteristiky sú dôležitou súčasťou procesu testovania šedej škatule, zahŕňajú:
– Zvýšené pokrytie:
Prístup k časti zdrojového kódu poskytuje väčší stupeň pokrytia v testoch, pričom ďalšie podrobnosti umožňujú presnejšie vyhľadávanie chýb.
– Dátové toky:
Mnohé testy šedej skrinky kladú dôraz na tok dát a pochopenie toho, ako sa informácie pohybujú systémom.
– Nealgoritmické:
Pri skúmaní algoritmov nefunguje testovanie šedej škatuľky, pretože ide o ďalšiu úroveň zahmlievania kódu.
Čo testujeme v testoch šedej škatule?
Každý typ testovania sa najlepšie uplatní, ak sa zameria na konkrétne časti príslušného softvéru. To isté platí aj pre testovanie šedej škatule, pričom táto metodika je najužitočnejšia v niektorých charakteristických častiach aplikácie.
Medzi príklady toho, čo testeri hodnotia pri vykonávaní testov šedej škatule, patria:
1. Bezpečnosť aplikácie
Testy šedej škatule sú ideálne na penetračné testy, ktoré skúmajú bezpečnosť aplikácie. Testeri môžu vidieť celý kód a hľadať potenciálne zraniteľnosti v procese.
Etickí hackeri sú ideálnymi testermi na testovanie bezpečnosti aplikácií, pretože rozpoznávajú potenciálne slabiny a chyby v softvéri prirodzenejšie ako tí, ktorí nemajú skúsenosti s narúšaním bezpečnosti softvéru.
2. Testovanie databázy
Mnohé spoločnosti používajú na testovanie databázy testovanie šedej škatule, pretože môžete sledovať údaje prostredníctvom každej čiastkovej funkcie v softvéri.
Testeri môžu vidieť všetky zmeny, ktoré softvér vykonáva, a posúdiť, či sú správne.
Ide o užitočnú implementáciu testovania šedej skrinky, keďže testy databáz sú svojou povahou predvídateľné, pričom spoločnosti používajú databázy skôr na organizáciu existujúcich informácií než na generovanie nových údajov.
3. Webové aplikácie
Webové aplikácie profitujú z používania testovania šedého boxu vďaka univerzálnosti tejto testovacej metódy.
Testy šedej škatule sa môžu použiť na testovanie bezpečnosti, databázy, integrácie, používateľského rozhrania a prehliadača, pričom každý z týchto aspektov je kľúčovým aspektom webových aplikácií.
Nie je potrebné meniť metodiky testovania, takže získate vyššiu úroveň kontinuity.
Vyjasnenie niektorých nejasností:
Testovanie šedej skrinky vs. bielej skrinky vs. čiernej skrinky
Testovanie šedej skrinky je forma testovania podobná testovaniu bielej aj čiernej skrinky, čo znamená, že medzi týmito metodikami existuje veľa možností zámeny.
Zistite viac o tom, čo je testovanie bielej a čiernej skrinky a aké sú základné rozdiely medzi nimi a testovaním šedej skrinky pri vývoji softvéru:
1. Čo je testovanie bielych polí?
Testovanie bielej škatule je forma testovania aplikácie, ktorá poskytuje testerovi komplexné informácie o aplikácii.
To zahŕňa úplný prístup k zdrojovému kódu a všetkým návrhovým dokumentom softvéru, čo testerovi umožňuje oveľa lepšie pochopiť, ako softvér funguje.
Testeri využívajú tieto poznatky na to, aby videli viac problémov, ktoré sa v aplikácii vyskytujú, a podávajú presnejšie správy o tom, ako aplikácia funguje pre používateľov.
Príkladom použitia testovania bielych polí je sledovanie toku konkrétnych vstupných údajov cez aplikáciu s cieľom zistiť, kde sa v procesoch aplikácie vyskytuje problém, a nie len zistiť, či problém existuje alebo nie.
Vo vývojových procesoch existuje niekoľko prípadov, keď spoločnosti používajú testovanie bielych skriniek.
Prvým z nich je testovanie jednotiek, ktoré hodnotí, či každý jednotlivý kus kódu alebo modul v softvérovom balíku vykonáva prácu, ktorú vývojár očakáva.
Testovanie jednotiek pomáha testerom nájsť väčšinu problémov v aplikácii, pretože skúma všetky funkcie aplikácie.
Testovanie bielych skriniek pomáha aj pri hľadaní únikov pamäte. Podrobným preskúmaním celého kódu analytik QA zistí, kde aplikácia využíva pamäť zariadenia a potenciálne oblasti, kde využíva príliš veľa pamäte.
To pomáha aplikácii bežať rýchlejšie a efektívnejšie v budúcich iteráciách, pretože únik pamäte sa opraví čo najskôr.
Aké sú rozdiely medzi testami Gray box a White box?
Medzi testami white box a grey box je niekoľko zásadných rozdielov, pričom prvou zmenou je úroveň informácií, ku ktorým má niekto prístup.
Testovanie bielej škatule má úplný prístup k zdrojovému kódu a návrhovým dokumentom programu, zatiaľ čo testovanie šedej škatule má len čiastočný prístup k niektorým z týchto informácií, predovšetkým k návrhovým dokumentom.
Táto zmena znamená aj rozdiel v osobách, ktoré testy vykonávajú, pričom za testovanie bielych skriniek sú zodpovední predovšetkým samotní vývojári.
Naopak, za testovanie šedej škatule je zodpovedný tím QA, pretože testeri nemôžu mať dôvernú znalosť kódu.
Testovanie sivej škatuľky tiež zaberie menej času ako testovanie bielej škatuľky. Testovanie bielej škatule je komplexné a skúma používateľskú stránku softvéru aj samotný kód. To trvá oveľa dlhšie a znamená to, že proces testovania šedej škatule je oveľa rýchlejší.
White box má však väčší potenciál pre automatizáciu, pretože testeri poznajú spôsob, akým funguje interný kód.
2. Čo je testovanie čiernej skrinky?
Testovanie čiernej skrinky sa vzťahuje na prípady, keď tester skúma softvérový balík bez toho, aby mal akúkoľvek predstavu o tom, ako systém funguje.
To znamená, že nemáte prístup k žiadnemu kódu, ktorý je súčasťou aplikácie, ani k žiadnym dostupným návrhovým dokumentom alebo podkladom. Testeri majú jednoducho k dispozícii zoznam funkcií, ktoré testujú, a sériu testovacích prípadov, ktoré majú dokončiť.
Príkladom testovania čiernej skrinky je testovanie od konca ku koncu, pri ktorom tester dostane kompletný softvérový balík a otestuje celú aplikáciu, aby sa uistil, že funkčnosť funguje tak, ako bola navrhnutá.
Väčšina ideálnych testovacích prípadov pre testovanie čiernej skrinky sú tie, ktoré sa nachádzajú na konci procesu a zahŕňajú klientov a ich pohľad na produkt, pričom chýbajúci prístup ku kódu zabraňuje akejkoľvek zaujatosti ovplyvňujúcej pohľad používateľa.
Spoločnosti používajú testovanie čiernej skrinky predovšetkým po dokončení všetkých funkčných testov aplikácie. Po dokončení testovania jednotiek a funkcií vývojári pochopia, že aplikácia funguje tak, ako očakávajú, prinajmenšom pri izolovanom fungovaní všetkých modulov.
Testovanie čiernej skrinky zabezpečuje, že celá aplikácia po skompilovaní funguje tak, ako sa očakáva, pričom všetky zdrojové kódy sú už teoreticky v poriadku.
Aké sú rozdiely medzi sivou škatuľkou a čiernou škatuľkou testovania?
Hlavným rozdielom medzi testovaním šedej skrinky a čiernej skrinky je rozsah prístupu, ktorý tester získa k informáciám.
V niektorých prípadoch môže tester čiernej skrinky pristupovať k aplikácii bez akejkoľvek predchádzajúcej znalosti softvéru, jednoducho prejde procesom testovania a používa softvér ako bežný používateľ.
Na druhej strane, tester šedej škatule má prístup k niektorým návrhovým dokumentom, a tak môže porovnať to, čo má aplikácia robiť, s jej skutočným výkonom a poskytnúť vývojárom spätnú väzbu o tom, ktoré konkrétne časti aplikácie nespĺňajú štandardy.
Ďalším rozdielom je čas, ktorý je potrebný na vyriešenie problému, pričom testy šedej škatule trvajú o niečo dlhšie.
Vzájomné porovnávanie dokumentácie a kódu s tým, ako aplikáciu vnímate, môže chvíľu trvať, čo je v rozpore so spôsobom práce testerov čiernej skrinky, ktorí jednoducho skúmajú samotnú aplikáciu spolu s prípadnými problémami s funkčnosťou. Vďaka tejto kombinácii je testovanie čiernej skrinky ideálnym procesom na použitie na konci vývojového procesu pri príprave na vydanie produktu, pričom šedá skrinka funguje lepšie, keď ste vo fáze vývoja používateľského rozhrania a kompilácie.
3. Záver: Testovanie šedej skrinky vs. bielej skrinky vs. čiernej skrinky
Záverom možno povedať, že testovanie bielej skrinky, sivej skrinky a čiernej skrinky je súčasťou toho istého spektra, v ktorom je rozdielnym faktorom úroveň prístupu, ktorú má tester počas celého procesu.
Keď sa testovacia forma stáva viac “čiernou”, testovanie je čoraz neprehľadnejšie a prístup k informáciám, ktoré sa skrývajú za softvérom, je obmedzený.
Testovanie bielej skrinky je ideálne pre najranejšie fázy procesu, pričom testovanie čiernej skrinky je vhodné pre fázy, ako je testovanie od konca ku koncu, ktoré skúma celú aplikáciu z pohľadu používateľa.
Testovanie v sivej škatuli funguje ako stredná cesta medzi týmito dvoma koncepciami, pretože pomáha nájsť problémy v priebehu celého procesu vývoja tým, že ponúka väčší prehľad, pričom časť zdrojového kódu zostáva testerovi stále skrytá.
Techniky testovania šedej škatule
Testovanie šedej škatule zahŕňa širokú škálu techník, z ktorých každá zvyšuje štandard testovania, nachádza viac chýb pre vývojára a na konci procesu vedie k dokonalejšiemu produktu.
Medzi najbežnejšie techniky testovania šedej škatule, ktoré používajú tímy QA, patria:
1. Testovanie matrice
Maticové testovanie skúma správu o stave projektu, ktorý je v procese. V niektorých prípadoch ide o jednoduchý stav PASS/FAIL, pričom prebiehajúce procesy poskytujú podrobnejšie informácie o tom, ako procesy priebežne fungujú.
Zatiaľ čo väčšina testov sa zameriava na vstupy a výstupy kódu, maticové testovanie skúma skôr stav samotných procesov než výsledky týchto procesov.
Použitie maticového testovania poskytuje väčšie zameranie na samotnú aplikáciu a pomáha nájsť chyby a problémy, aj keď sa výstupy javia ako správne.
2. Regresné testovanie
Regresné testovanie slúži na testovanie softvéru po sérii aktualizácií. To zahŕňa funkčné aj nefunkčné testy, ktoré zabezpečujú, aby aplikácia pri zmenách kódu stále fungovala na dostatočne vysokej úrovni.
Testeri, ktorí používajú regresné testovanie, zvyčajne používajú automatizáciu, pretože rozsah regresných testov rastie s tým, ako tím zabezpečenia kvality nachádza čoraz viac chýb.
Manuálne testovanie je však v niektorých prípadoch nevyhnutné, pričom spoločnosti, ktoré testujú používateľské rozhranie, používajú manuálne testy, aby zistili, ako ľudský používateľ reaguje na zmeny vykonané v ponukách, tlačidlách a možnostiach navigácie.
3. Testovanie vzorov
Testovanie podľa vzoru je forma testovania, ktorá sa zameriava na dodržiavanie konkrétneho vzoru pri každom teste, ktorý organizácia vykonáva.
Testovacie tímy navrhujú tieto testy tak, aby boli zamerané na každú funkciu softvéru, pričom každý test poskytuje spoločnosti konzistentnú úroveň informácií o fungovaní jednotlivých funkcií.
Používanie testovania vzorov niekedy závisí od úpravy vzoru v priebehu času, aby ste sa uistili, že ste posúdili každý z fungujúcich systémov, ale keď už máte vzor, ktorý funguje, vyhnite sa odchýlkam, aby ste dosiahli väčšiu konzistentnosť výsledkov.
4. Testovanie ortogonálneho poľa
Testovanie ortogonálnych polí je primárne testovacia technika orientovaná na čiernu skrinku, ktorá sa vyskytuje vtedy, keď testeri používajú značný počet vstupov, ktorý je príliš veľký na to, aby vyčerpávajúco otestovali každý jeden systém v procese.
V týchto prípadoch každý jednotlivý údaj poskytuje vlastnú jedinečnú informáciu z dôvodu možného nedostatku korelácie medzi konkrétnymi informáciami. Ide o ortogonálny aspekt systému, v ktorom sa využívajú jedinečné informácie s cieľom poskytnúť maximálnu úroveň údajov pri vynaložení minimálneho úsilia.
Skráti sa čas testovania a získate ideálnu rovnováhu údajov, ktoré môžete poskytnúť vývojovému tímu.
Testovanie šedej škatule v životnom cykle softvérového inžinierstva
Testovanie šedej škatule patrí do špecifickej fázy životného cyklu softvérového inžinierstva. Tento životný cyklus predstavuje zložitú sériu krokov, ktoré spoločnosti pri vývoji svojich produktov dodržiavajú, pričom každý krok vedie k vyššiemu štandardu produktu.
Hoci je testovanie súčasťou procesu, ktorý prebieha neustále, čas na testovanie šedej škatuľky je veľmi obmedzený.
K tomu dochádza po dokončení a otestovaní počiatočnej funkčnosti prostredníctvom testovania bielej skrinky a pred tým, ako je softvér pripravený na verejné vydanie, pričom spoločnosti uprednostňujú testovanie čiernej skrinky v posledných fázach.
Grey box je ideálny nástroj na integráciu funkcií a zabezpečenie ich správneho fungovania nielen samostatne, ale aj v tandeme.
Manuálne alebo automatizované testy šedej skrinky?
Tak ako pri každej forme testovania softvéru si tímy zabezpečujúce kvalitu vyberajú medzi manuálnym testovaním s využitím odborných pracovníkov alebo automatickým testovaním, ktoré zahŕňa kódovanie série testovacích prípadov a ich opakované vyplňovanie s cieľom zabezpečiť presný súbor výsledkov.
Prečítajte si viac o manuálnom a automatizovanom testovaní, o niektorých výhodách a výzvach každého z nich, ako aj o tom, ktorá z týchto dvoch foriem testovania je ideálna pre spoločnosť, ktorá chce lepšie pochopiť problémy svojho produktu.
Manuálne testovanie šedej škatule – výhody, výzvy, proces
Manuálne testovanie je základnou súčasťou mnohých typov testovania vrátane testovania šedej skrinky.
Tento proces zahŕňa poverenie ľudských testerov, aby preskúmali časť softvéru, preskúmali, či softvér funguje podľa vašich očakávaní, a porovnali ho s už existujúcou návrhovou dokumentáciou a viditeľným kódom, aby skontrolovali, či v týchto informáciách nie sú zjavné chyby, ktoré by mohli spôsobiť problémy.
Medzi prípady, v ktorých je manuálne testovanie bežné, patria zložitejšie softvéry, ktoré si vyžadujú, aby človek poskytol kvalitatívny pohľad.
Ďalšie možnosti využitia zahŕňajú menšie spoločnosti, ktoré chcú dôkladne posúdiť svoj softvér, pretože malé aplikácie a balíky si vyžadujú relatívne málo zdrojov na posúdenie v porovnaní s väčšími programami, ktoré vyrábajú väčšie podniky.
1. Výhody manuálneho testovania šedej skrinky
Manuálne testovanie šedej škatule pre akýkoľvek softvér má niekoľko výhod. Ak poznáte tieto výhody, môžete na ne zamerať svoje testovanie, odhaliť viac problémov vo svojom softvéri a zvýšiť úroveň svojej práce vďaka lepšiemu režimu testovania.
Hlavné výhody manuálneho testovania šedej škatule sú:
Podrobná spätná väzba
Prvou veľkou výhodou používania manuálneho testovania šedej škatule je, že testeri môžu poskytnúť vývojárovi významnú spätnú väzbu.
Pri automatizovanom testovaní sú testovacie prípady navrhnuté tak, aby opakovane vytvárali veľmi špecifické metriky, ktoré analytikom poskytnú prehľad, keď majú čas na vyhodnotenie údajov.
Pri manuálnom testovaní je to trochu iné, pretože tester môže poskytnúť dôkladnejšiu spätnú väzbu o tom, ktorá konkrétna funkcia nefungovala, a o možných príčinách problému po porovnaní s návrhovou dokumentáciou.
Pomocou podrobnej spätnej väzby sa riadia nielen aktualizácie existujúcich funkcií, ale aj potenciálne nové funkcie, ktoré tester odporúča používateľom.
Lepšie interpretácie
Automatizované testovanie znamená, že akékoľvek závery sú záležitosťou vyhodnotenia údajov, ktoré získate z testu, a vyvodenia racionálneho záveru o tom, čo to znamená pre softvér.
Naopak, manuálni testeri majú oveľa väčší prehľad o tom, ako samotná aplikácia funguje.
Môžu porovnať kód sivého poľa s tým, čo sa deje v reálnom čase, a urobiť presné posúdenie v danom okamihu, namiesto toho, aby museli robiť závery až po tomto okamihu.
Niektoré automatizačné platformy môžu fungovať podobne vďaka funkcii prehrávania, ale stále si to vyžaduje manuálny zásah.
Flexibilné testovanie
Automatizácia testovania zahŕňa zakódovanie veľmi špecifických testovacích prípadov do platformy, čo znamená, že softvér opakovane vykonáva konkrétny súbor úloh.
Hoci je to ideálne na opakovanie, predstavuje to jedinečnú výzvu, pretože pri testovaní nie je žiadna flexibilita.
V týchto prípadoch je ideálne použiť ľudského testera, ktorý zvyšuje flexibilitu procesu. Ak si tester všimne potenciálny problém, ktorý je mierne mimo úzko definovaného testovacieho prípadu, môže ho preskúmať a na konci procesu oznámiť výsledky.
Spoločnosti tak získajú komplexnejšie pokrytie softvéru a odhalia chyby, ktoré automatický systém nedokáže odhaliť.
2. Výzvy manuálneho testovania šedej skrinky
Používanie manuálneho testovania v procese vývoja softvéru má veľa výhod, ale aj niekoľko nevýhod. Tie sa líšia v závislosti od niekoľkých faktorov vrátane konkrétneho softvéru, na ktorom spoločnosť pracuje, veľkosti vývojového tímu a úrovne zručností členov testovacích a vývojových tímov.
Medzi významné výzvy pri manuálnom testovaní patria:
Vysoké náklady na pracovnú silu
Mzdové náklady patria k najvýznamnejším výdavkom každej spoločnosti, pretože sa oplatí získať najlepších zamestnancov, aby spoločnosť mohla zlepšiť úroveň svojej práce.
Keďže manuálne testovanie šedej škatule môže trvať dlho, spoločnosť musí zaplatiť testerom za prácu počas celého procesu. V prípade niektorých najväčších aplikácií to môže trvať hodiny a náklady na manuálnych testerov môžu prudko vzrásť.
Vývojári sa môžu snažiť zmierniť tento problém vyvážením automatizácie testovania šedej skrinky s manuálnym testovaním alebo znížením hodinových nákladov na prácu, ale to predstavuje riziko poklesu kvality testovania.
Ľudská chyba
Automatizované testovanie efektívne vykonáva jednoduché procesy a opakuje ich s vysokou mierou presnosti tak, ako to človek nedokáže.
Ľudia sa dopúšťajú chýb a drobných omylov, ktoré môžu byť dôsledkom čohokoľvek, od náhodného stlačenia nesprávneho tlačidla až po to, že im na pár sekúnd unikne pozornosť.
Takéto chyby môžu viesť k nepresným údajom a spôsobiť, že vývojári sústredia svoju pozornosť na nesprávnu časť softvéru, čo zaberá drahocenný čas na vývoj a zhoršuje produkt.
Snažte sa to vyriešiť opakovaním testov šedej škatuľky všade tam, kde je to možné, aby ste overili svoje výsledky počas pokračovania testovania.
Trvá dlho
Tam, kde počítače dokážu splniť úlohy v okamihu, ľudia potrebujú trochu viac času.
Dôvodom je čokoľvek, od reakčného času až po to, že v niektorých momentoch pracujú pomalšie, než je ich optimálna rýchlosť, čo všetko spomaľuje proces testovania.
Pomalší proces testovania znamená menej času pre vývojové tímy na odstraňovanie chýb a nedostatkov v produkte, pretože všetok čas sa venuje predovšetkým hľadaniu problémov.
Nie je to niečo, čo by sa dalo ľahko zmierniť, pričom jedným z možných riešení je hybridný režim testovania, napríklad vyváženie manuálnych testov s automatizovanými testami šedej skrinky.
Automatizácia testovania šedej skrinky – výhody, výzvy, proces
Automatizácia testovania sa vzťahuje na proces používania automatizačnej platformy na automatizáciu niektorých častí procesu testovania šedej škatule.
Tento proces funguje tak, že návrhári testov vytvoria sériu testovacích prípadov, pričom analytici QA alebo podobní odborníci tieto testy zakódujú do automatizačných programov, pričom niektorí používajú ako ďalší nástroj robotickú automatizáciu procesov.
V týchto prípadoch analytici QA už rozumejú časti kódu alebo návrhovej dokumentácie.
Tento typ testovania je bežnejší pri oveľa väčších softvérových balíkoch, pretože testeri šedej skrinky nemajú čas na dôkladné manuálne testovanie všetkých aspektov procesu.
Po automatizovanom procese platforma vráti analytikovi QA správu, v ktorej sú uvedené chyby a rad dôležitých ukazovateľov.
1. Výhody automatizovaného testovania šedej skrinky
Existuje niekoľko jasných výhod používania automatizovaného testovania šedej škatule v procesoch tímu zabezpečenia kvality.
Zameraním sa na tieto výhody a ich maximálnym využitím môže spoločnosť zvýšiť účinnosť svojho testovania šedej škatule a vyriešiť čo najviac problémov v tejto fáze pracovného postupu.
Medzi hlavné výhody používania automatizácie pri testovaní šedej škatule patria:
Rýchle testovanie
Automatizované systémy sú navrhnuté tak, aby testovali neuveriteľne rýchlo a čo najrýchlejšie prešli sériou procesov. Táto výhoda je ešte výraznejšia pri opakovaných testoch šedej škatule, pretože každý jednotlivý beh zaberie menej času.
Množstvo času, ktoré ušetríte od spustenia do spustenia, sa výrazne zvýši a vaša spoločnosť bude mať oveľa viac času na dokončenie naliehavých úloh, ako je aktualizácia samotného softvéru a poskytovanie spätnej väzby klientom a potenciálnym zákazníkom.
Rýchlejšie testovanie je užitočné najmä pri práci po vydaní, pretože čo najskoršie presadenie opráv funkcií je nevyhnutnosťou pre zlepšenie vnímania firmy ľuďmi.
Presné metriky
Metriky sú významnou súčasťou fungovania testovania softvéru, pretože poskytujú testerovi číselné informácie, ktoré poukazujú na potenciálne problémy.
Počítače a automatizačné platformy ponúkajú veľmi presné merania, napríklad časy odozvy sa merajú s presnosťou na milisekundy.
Presnejšie metriky znamenajú, že môžete sledovať malé zmeny vo výkone aplikácie, čo vám pomôže pochopiť, či aktualizácia zlepšila výkon alebo viedla k tomu, že štandardné pracovné postupy trvajú dlhšie.
Zníženie nákladov
Jedným z najväčších nákladov na testovanie v prostredí vývoja softvéru v šedej skrinke sú náklady na samotných testerov šedej skrinky.
Najímanie odborníkov na testovanie softvéru je nákladné, najmä ak hľadáte testerov šedej škatuľky, ktorí si vyžadujú väčšie množstvo zručností, aby pre vašu organizáciu zabezpečili najvyššie možné štandardy.
Automatizácia znamená, že manuálne testy šedej škatuľky vykonáva menej ľudí, čím sa z procesu eliminuje množstvo personálnych nákladov.
Aj keď automatizačné platformy majú určité náklady, väčšina z nich si účtuje mesačné predplatné, je to oveľa menej ako platiť zamestnancom, ktorí robia prácu za vás.
2. Výzvy automatizovaného testovania šedej skrinky
Používanie automatizácie v procesoch testovania šedej škatuľky je spojené s mnohými výzvami.
Zatiaľ čo niektoré organizácie sa zameriavajú na výhody, poznanie výziev testovania šedej škatule a ich zohľadnenie pri práci prináša množstvo výhod.
Testovanie šedej škatule môžete implementovať tak, aby ste sa vyhli problémom a nemuseli sa v budúcnosti potýkať s obmedzeniami.
Hlavnými výzvami automatizovaného testovania šedej škatule sú:
Počiatočné nastavenie
Počiatočné nastavenie je jednou z najväčších výziev procesu automatizácie. Ide o čas potrebný na prechod na novú testovaciu platformu vrátane inštalácie platformy, učenia používateľov, ako s ňou pracovať, a kódovania prvých testov v softvéri.
To všetko je neproduktívny čas, ktorý chce spoločnosť čo najviac obmedziť.
V tomto prípade je ideálne používať prémiový softvér na automatizáciu s odborníkmi, ktorí sú vám v prípade potreby k dispozícii, pretože máte k dispozícii podporu tretej strany, ktorá sa postará o to, aby automatizácia šedej škatule a ďalšie typy testovania prebiehali od začiatku hladko.
Vysoké požiadavky na zručnosti
Hoci manuálne testovanie vyžaduje vysokú úroveň zručností, analytici QA, ktorí pracujú s automatizáciou, musia mať stále vysokú úroveň zručností.
To má podobu zručností v oblasti kódovania, ktoré sa používajú predovšetkým na vytváranie testovacích prípadov a čítanie kódu, ktorý je k dispozícii v scenári sivej skrinky.
Vývojári môžu tento problém zmierniť tým, že si najmú testerov, ktorí majú skúsenosti s vývojom alebo v minulosti pracovali na projektoch kódovania. Obmedzíte tak čas školenia na pracovisku a zabezpečíte, aby sa každý nový zamestnanec dokázal prispôsobiť požiadavkám automatizovaného testovania šedej skrinky.
Niektoré spoločnosti sa snažia používať bezkódový automatizačný systém na vykonávanie testovania šedej škatule ako alternatívu, ale to môže viesť k menšej flexibilite na pracovisku.
Neustály dohľad
Automatizované testovanie čiastočne existuje preto, aby sme sa nemuseli spoliehať na ľudí, pretože manuálne testovanie vyžaduje neustálu účasť človeka na procesoch.
V prípade automatizácie testovania to tak nemá byť, ale spoločnosti aj tak potrebujú dobrú úroveň dohľadu.
Dohľad zahŕňa preskúmanie výsledkov testov šedej skrinky a ich údržbu, aby sa zabezpečilo, že všetko stále funguje tak, ako vývojár očakáva.
Spoločnosti môžu pomôcť zlepšiť úroveň dostupného dohľadu niekoľkými spôsobmi, pričom ideálny je jeden odborník zodpovedný za dohľad nad testami.
To vedie k vyššej úrovni špecializácie, pričom tento zamestnanec sa stáva expertom na testovanie šedej škatule v oblasti rýchlejšej a efektívnejšej práce s automatizáciou.
Záver: Manuálna alebo sivá automatizácia testovania?
Na záver možno povedať, že manuálne testovanie šedej škatule aj automatizované testovanie majú svoje miesto v procese testovania softvéru.
Menšie spoločnosti a začínajúce podniky profitujú z manuálneho testovania šedej škatule, keď je ich kód relatívne malý a zvládnuteľný, pričom automatizácia je čoraz užitočnejšia, keď sa aplikácie rozrastajú a majú viac funkcií.
Manuálne testovanie si však vždy nájde svoje miesto vďaka väčšiemu prehľadu, detailom a flexibilite, ktoré firmám ponúka.
Ideálnym riešením šedej skrinky pre každú spoločnosť je hybridný model, ktorý využíva manuálne a automatizované testovanie na rôznych miestach, aby sa zohľadnili silné a slabé stránky oboch techník.
Holistický prístup odhaľuje viac problémov, ktoré softvérový balík má, čo pomáha efektívnejšie opraviť softvér a v konečnom dôsledku poskytuje zákazníkom oveľa lepší produkt na konci vývoja.
Čo potrebujete na začatie testovania šedej škatuľky?
Existuje niekoľko predpokladov, ktoré spoločnosti vyžadujú pred začatím testovania šedej škatule. Ich existencia buď umožňuje proces testovania, alebo zjednodušuje testovanie softvéru pre tím zabezpečenia kvality, pretože má k dispozícii viac prostriedkov.
Predpoklady na dokončenie testovania šedej škatule zahŕňajú:
1. Projektová dokumentácia alebo zdrojový kód
Prvou vecou, ktorú potrebujete na začatie procesu testovania šedej skrinky, je buď návrhová dokumentácia, alebo zdrojový kód. Aby sa testovanie považovalo za test šedej skrinky, musia mať testeri prístup k týmto informáciám, ktoré ponúkajú určitý pohľad do vnútorného fungovania samotného softvéru.
Tieto informácie bývajú čo najrelevantnejšie, napríklad reťazec kódu pre konkrétnu funkciu, ktorú tester skúma.
Pri použití testovania v sivej skrinke namiesto testovania v bielej skrinke poskytujete len časť kódu a dokumentácie návrhu, preto si dajte pozor na úroveň prístupu, ktorý poskytujete.
2. Stručný opis výrobku
Produktový brief alebo aplikačný brief je dokument, ktorý spoločnosti používajú na získanie úplnej predstavy o tom, čo klient hľadá v softvérovom balíku. Podrobne sa v ňom uvedie presná funkčnosť, ktorú klient od softvéru očakáva, dizajn, ktorý klient chce, a všetky ďalšie potrebné špecifikácie.
Čítanie produktového briefu znamená, že tester sivej škatule môže hľadať všetky funkcie, ktoré klient chce, uistiť sa, že sú v softvéri, a zabezpečiť, aby produkt vyhovoval všetkým cieľom, ktoré má spoločnosť pre svoju aplikáciu.
Niektoré spoločnosti obmedzujú množstvo informácií, ktoré môžu vidieť testeri šedej skrinky, v závislosti od zásad dôvernosti v spoločnosti.
3. Testovacie ciele
Vývojári a spoločnosti majú pri vykonávaní testov špecifické ciele, ktoré sa niekedy označujú ako špecifikácia testov. To je v procese testovania šedej škatule veľmi dôležité, pretože to znamená, že vývojári môžu poskytnúť testerom šedej škatule všetky správne informácie a tím zabezpečenia kvality navrhne testy, ktoré zodpovedajú cieľom procesu testovania.
V takom prípade všetci pracujú efektívnejšie, pretože vedia, čo hľadajú a ako tieto ciele čo najlepšie dosiahnuť.
Proces testovania sivej škatule
Testovanie sivej škatule prebieha podľa relatívne konzistentného procesu s jasnými krokmi, v ktorých sú uvedené jednotlivé fázy, ktoré musí spoločnosť absolvovať, aby dosiahla svoje ciele testovania.
Jasné a dôsledné dodržiavanie tohto procesu poskytuje presné a konzistentné výsledky, ktoré informujú vývojárov o prípadných problémoch a spôsoboch ich riešenia.
Hlavné kroky pri teste šedej skrinky sú:
1. Určenie vstupov a výstupov
Prvým krokom v procese je určenie vstupov a výstupov, ktoré od aplikácie očakávate.
Vyberte si vstup, ktorý je v medziach toho, čo by aplikácia mohla bežne zvládnuť, aby bol test spravodlivý, a určte výstup, ktorý od tohto vstupu očakávate.
Ak na začiatku projektu vykonáte túto prognózu, na konci testov budete vedieť, či sa niečo pokazilo.
2. Identifikujte primárne toky
Primárne toky sú trasy, ktorými sa údaje v softvéri dostávajú k svojmu konečnému výstupu.
Identifikácia primárneho toku znamená, že môžete lepšie sledovať spôsob, akým informácie prechádzajú procesmi softvéru, určiť potenciálne oblasti výskytu chýb a pracovať na ich odstránení, ak sa vyskytne problém so softvérom.
3. Identifikujte čiastkové funkcie so vstupmi a výstupmi
Podfunkcie sú základné operácie v rámci primárneho toku. Každá čiastková funkcia sa napája na ďalšiu a napája sa na ďalšiu, čo nakoniec vedie ku konečnému výstupu zo softvéru.
Stanovte, aký by mal byť vstup do každej čiastkovej funkcie, spolu s predpokladaným výstupom pre každú z nich.
Ak tak urobíte na úrovni čiastkových funkcií, získate ďalšiu úroveň prehľadu pri hľadaní akýchkoľvek problémov so softvérom.
4. Vypracovanie testovacieho prípadu
Testovací prípad označuje súbor udalostí, ktoré sa vyskytnú v softvéri a ktoré skúmajú, či aplikácia funguje podľa vašich očakávaní.
Uistite sa, že tento testovací prípad sivej škatule správne skúma časť softvéru, na ktorú sa pozeráte.
Zamerajte sa tiež na konzistentnosť a uistite sa, že testovací prípad je ľahko replikovateľný, aby ste získali presnejšie výsledky z vášho testu šedej škatule.
5. Spustite testovací prípad
Spustite testovací prípad.
Ide o zadanie vstupov do každej z čiastkových funkcií a zistenie výstupov, pričom sa zaznamenajú všetky výsledky.
Pri automatizovanom testovaní šedej skrinky je proces zaznamenávania automatický, pričom manuálni testeri si sami zaznamenávajú všetky vstupy a výstupy.
Ak môžete, pred spustením celého toku naraz otestujte všetky čiastkové funkcie jednotlivo, aby ste skontrolovali, či každá funkcia funguje nezávisle.
6. Overenie výsledkov
Po získaní údajov z testovacieho prípadu začnite tieto výsledky overovať.
To znamená, že sa pozriete na výstupy, ktoré dostanete zo softvéru, a porovnáte ich s výstupmi, ktoré ste očakávali na začiatku procesu.
Ak je medzi nimi nejaký rozdiel, znamená to, že v softvéri môže byť chyba, pretože nefunguje tak, ako ste pôvodne predpokladali.
7. Vytvorenie správy
Na konci procesu testovania šedej skrinky vytvorte správu o výsledkoch testu.
Zahŕňa to základné zhrnutie problémov so softvérom, posúdenie niektorých potenciálnych riešení problémov a, ak je to možné, všetky údaje, ktoré testy vygenerovali.
Použitím tejto štruktúry sa čitateľovi poskytne úvodné poučenie pred poskytnutím všetkých potrebných dôkazov, čo v konečnom dôsledku predstavuje ucelený dokument, ktorý ponúka množstvo usmernení.
Osvedčené postupy pre Greybox testovanie
Osvedčené postupy sa vzťahujú na procesy, úlohy a zásady, ktoré zamestnanci vykonávajú pri testovaní kvality, aby dosiahli čo najvyššie štandardy.
Niektoré z týchto osvedčených postupov pre tímy QA, ktoré chcú zvýšiť štandard svojej práce, zahŕňajú:
1. Pracujte starostlivo
Ako pri každej testovacej metóde, aj tu si nájdite čas a pracujte opatrne. Jediná chyba môže znehodnotiť test, takže pomalá a dôsledná práca na zabezpečenie presnosti vám z dlhodobého hľadiska ušetrí čas a zároveň zlepší úroveň softvéru. Platí to najmä pri testovaní šedej skrinky, pretože neviete, s ktorými časťami zdrojového kódu pracujete v danom okamihu.
2. Neustále komunikujte
Medzi vývojármi a testermi šedej skrinky by mala prebiehať neustála komunikácia. Vývojári tak majú okamžitú spätnú väzbu o všetkých chybách, ktoré testovací tím odhalí, a testeri vedia, na čo si majú dávať pozor.
Ak je chyba súčasťou viditeľného aspektu sivého poľa, oznámte vývojárom, kde presne sa nachádza.
3. Stanovte prísne limity
Ak sa pri testovaní šedej škatuľky používajú umelé obmedzenia informácií, pričom spoločnosť sama rozhoduje o tom, aké informácie poskytne testerom, uistite sa, že máte prísne obmedzenia.
Dajte tímu QA len tie oprávnenia, ktoré potrebuje, inak riskujete, že sa “pozrú za oponu” a uvidia niektoré časti zdrojového kódu alebo vývojových dokumentov, ktoré sa snažíte udržať skryté.
7 chýb a nástrah pri implementácii testov šedej škatule
Keďže procesom testovania každoročne prejdú státisíce aplikácií, existujú chyby a nástrahy, do ktorých sa tímy QA dostávajú.
Ak o nich viete, môžete sa im účinne vyhnúť, zlepšiť svoju prácu a znížiť pravdepodobnosť plytvania zdrojmi na zlé stratégie testovania.
Medzi najčastejšie chyby a nástrahy pri testoch šedej škatule patria:
1. Testovanie distribuovaných systémov
Testovanie šedej skrinky si vyžaduje prístup k zdrojovému kódu a distribuované servery používajú kód z iných miest. To spôsobuje problémy pri testovaní šedej škatule, pretože to znamená, že existujú problémy, ktoré testeri nemusia vidieť.
2. Dokončenie nekonzistentného testovania
Nekonzistentné testovanie sa vzťahuje na situáciu, keď sa testovací prípad medzi jednotlivými spusteniami líši. To môže spôsobiť nepresné výsledky, pričom vývojári sa potom zamerajú na zlepšenie výkonu na základe falošných metrík.
Ak je to možné, urobte každý test identický, aby ste zvýšili presnosť a správnosť testovania.
3. Rýchle absolvovanie testov
Ak sa blíži navrhovaný dátum vydania produktu, tímy QA môžu byť v pokušení urýchliť procesy testovania šedej škatule.
To je však znakom zlého plánovania a nemalo by sa na to reagovať ďalšími zlými rozhodnutiami. Urýchlené testovanie vedie k nepresným výsledkom a k strate času v neskoršej fáze vývoja.
4. Nezavedenie manuálnej a automatickej prevádzky spoločne
Ani manuálne testovanie, ani automatizované testovanie nie sú dokonalé metódy testovania šedej skrinky.
Ich vzájomné používanie znamená, že môžete zohľadniť problémy každého z nich a v konečnom dôsledku pracovať efektívnejšie.
Prinajmenšom zvážte kombináciu týchto dvoch metód na lepšie testovanie.
5. Práca bez náradia
Testovacie nástroje sú navrhnuté tak, aby čo najviac uľahčili prácu testera šedej skrinky. Práca bez akýchkoľvek nástrojov zbytočne obmedzuje vaše vlastné možnosti.
Dôkladne preskúmajte a získajte všetky nástroje, ktoré by vám mohli pomôcť pri vývoji, aby ste zvýšili efektivitu a znížili možnosť vzniku chýb.
6. Zlá komunikácia
Interná komunikácia medzi oddeleniami môže byť problém, ale čo najjasnejšia komunikácia medzi oddeleniami testovania a vývoja je nevyhnutná.
Lepšia komunikácia znamená, že vývojári vedia, aké vylepšenia treba okamžite vykonať, a riešia problémy bez toho, aby boli zavádzaní zlými internými správami.
7. Aktívne hľadanie chýb
Testy šedej škatule slúžia na hľadanie prípadných chýb, ale aj na preskúmanie všeobecného výkonu softvéru.
Príliš dlhé hľadanie chýb môže zabrať veľa času a odvádzať pozornosť od hlavného cieľa, ktorým je zlepšenie fungovania aplikácie.
Typy výstupov z testov šedej skrinky
Testy šedej skrinky generujú na konci procesu niekoľko rôznych typov informácií. Nejde o výstupy zo samotného softvéru, ale skôr o údaje, ktoré môžu vývojári použiť na zlepšenie softvéru.
Hlavné typy výstupov sú:
1. Správy PASS/FAIL
Jednoduchá správa PASS/FAIL, ktorá informuje vývojára o tom, či bola softvérová operácia úspešná.
Tento typ výstupu neposkytuje vývojárovi veľa informácií, ale použitie testovania šedej škatule znamená, že tester môže zistiť, v ktorom konkrétnom bode softvér zlyhal a prečo, čo mu pomôže vyriešiť problém.
2. Metriky
Metriky sa vzťahujú na jednoduché štatistiky, ktoré zobrazujú udalosť, napríklad čas potrebný na dokončenie konkrétnej úlohy s presnosťou na milisekundy. Tie sú bežné pri automatizovanom testovaní šedej skrinky, pričom počítačové platformy automaticky zhromažďujú tieto informácie s vyššou úrovňou presnosti, ako by to dokázal manuálny tester.
Tieto informácie sú užitočné na zistenie výkonu aplikácie.
3. Kvalitatívne údaje
Popisné informácie, ktoré získate od testera šedej skrinky na základe jeho skúseností so softvérom. Nedá sa kvantifikovať, čo sťažuje analýzu, ale poskytuje lepšiu úroveň prehľadu o používateľskej skúsenosti a zvyšuje spokojnosť zákazníkov so softvérom.
Príklady testov šedej škatuľky
V niektorých prípadoch znalosť teórie týkajúcej sa určitej formy testovania neposkytuje dostatočný prehľad a neposkytuje správne pochopenie. Znalosť niektorých príkladov testov šedej škatule je nevyhnutná na lepšie pochopenie spôsobu fungovania metodiky testovania.
Nižšie si pozrite niekoľko príkladov testov šedej škatule, ktoré poskytujú podrobnejšie informácie o testoch v reálnom svete a o tom, ako sa teória uplatňuje na praktických pracoviskách.
1. Príklad úspešného testovania bezpečnosti
Spoločnosť vytvára databázu s množstvom osobných údajov a plánuje testovanie zabezpečenia, aby sa uistila, že údaje používateľov sú chránené.
Manuálny tester prechádza procesom a hľadá potenciálne chyby v kóde a možnosti prístupu k častiam aplikácie.
Po nájdení slabého miesta tester informuje vývojára o tom, kde sa slabé miesto nachádza a ako ho využil.
Keď je softvér opravený, tester znova vykoná rovnaký test, aby sa uistil, že je systém bezpečný.
2. Príklad neúspešného testovania databázy
Vývojári, ktorí vytvárajú databázu, majú krátky termín vydania a potrebujú rýchlo testovať.
Testeri sa ponáhľajú s niekoľkými základnými testovacími prípadmi a rýchlo ich dokončia, pričom pri ich vykonávaní robia chyby, nepripravujú predpovede výstupov a neskúmajú čiastkové funkcie.
Keďže nepripravujú výstupné predpovede, neuvedomujú si problémy s výstupom a dodávajú produkt, ktorý v dôsledku toho nefunguje správne.
Typy chýb a nedostatkov zistených pri testovaní šedej škatule
Jedným z hlavných cieľov testovania šedej škatule je nájsť chyby a nedostatky v programe, pričom spoločnosti sa snažia dodávať špičkové aplikácie, na ktoré sa ich zákazníci môžu spoľahnúť, kedykoľvek je to možné.
Existuje niekoľko špecifických typov chýb a nedostatkov, ktoré môžu testeri nájsť v procese testovania šedej škatule, pričom každý z nich môže indikovať iný problém s kódom.
Medzi typy chýb a nedostatkov zistených pri testovaní šedého boxu patria:
1. Zlyhanie procesu
Prvou formou chyby je zlyhanie procesu.
Ide o prípad, keď test nevráti žiadny výsledok a jednoducho sa zrúti.
Existuje niekoľko potenciálnych príčin týchto problémov a v ideálnom prípade môže tester šedej škatule zistiť, odkiaľ problém pochádza a ako môže vývojár nakódovať odpoveď.
2. Nesprávny výstup
Niektoré chyby pri testovaní šedej skrinky sa vyskytnú vtedy, keď výstup procesu nie je taký, ako vývojári predpokladali.
To je vážny problém v prípadoch, ako je databáza, v ktorej je bezpečné uchovávanie správnych informácií nevyhnutnosťou.
3. Bezpečnostné chyby
Chyby zabezpečenia vznikajú vtedy, keď je aplikácia spoločnosti do určitej miery nezabezpečená a umožňuje prístup tretích strán k informáciám, ktoré sú v nej uložené.
Chyby v zabezpečení aplikácie môžu byť problémom GDPR a spôsobiť, že aplikácia nebude v súlade s viacerými medzinárodnými predpismi.
Bežné metriky testovania šedej škatuľky
Metriky sa vzťahujú na neustále merania, ktoré skúmajú určitú udalosť alebo sériu udalostí, zvyčajne vo forme kvantitatívnych údajov.
Pomocou metrík môžu testeri a tímy zabezpečujúce kvalitu preskúmať softvér, ktorý sa testuje v šedej skrinke, a presne zistiť, čo sa deje zle, či už vo forme väčšieho počtu chýb alebo dlhšieho načítavania rôznych funkcií.
Medzi najbežnejšie metriky testovania šedej škatule, ktoré testeri QA používajú pri hodnotení softvéru, patria:
– Čas do výstupu:
Čas, za ktorý aplikácia vytvorí výstup po spustení testu.
– Čas do reakcie:
Čas, za ktorý softvér zareaguje na vstup používateľa, či už vo forme výsledku alebo len potvrdenia vstupu.
– Počet chýb:
Čistý počet chýb, ktoré má softvér vo svojich procesoch.
– Chyby na funkciu:
Počet existujúcich chýb vydelený počtom funkcií v softvéri, ktorý sa používa na stanovenie hustoty chýb.
Najlepšie nástroje na testovanie sivej škatule
Pri testovaní sivej škatule sa môžete spoliehať na externé nástroje, ktoré zlepšia kvalitu vašej práce, automatizujú niektoré procesy a podporia vás pri vytváraní opravy nájdených chýb.
Čím lepší testovací nástroj použijete, tým viac problémov odhalíte a tým lepšia bude úroveň vášho finálneho produktu, a to všetko pri úspore času a zdrojov počas testovania.
Nižšie nájdete niektoré z najlepších nástrojov na testovanie šedej skrinky a výhody a nevýhody používania jednotlivých platforiem.
5 najlepších bezplatných nástrojov na testovanie šedej škatuľky
Ak chce menšia spoločnosť začať s testovaním šedej škatule, je nevyhnutné mať k dispozícii správne nástroje, ale rovnako dôležité je mať ich za rozumnú cenu. V malej firme sa počíta každý cent a vývojári aplikácií na tom nie sú inak, pretože obmedzené rozpočty vedú k ťažkým rozhodnutiam.
Používanie bezplatných nástrojov na testovanie šedej skrinky je ideálne na zabezpečenie kvality s minimálnymi zdrojmi.
Medzi najlepšie bezplatné nástroje na testovanie šedej skrinky patria:
1. ZAPTEST FREE EDITION
Bezplatná edícia ZAPTEST ponúka používateľom vysokokvalitný zážitok z automatizácie s plnohodnotnou automatizáciou softvéru, ktorá podporuje testovanie od samého začiatku vývoja.
Vďaka paralelnému vykonávaniu môžete dokončiť niekoľko testov naraz a urýchliť tak svoje procesy, a keď ste pripravení prejsť na vyššiu úroveň, edícia Enterprise vám tento prechod maximálne zjednoduší. Ako dodatočnú výhodu ponúka ZAPTEST aj najmodernejšiu technológiu RPA, a to bez ďalších nákladov.
Ideálna voľba pre osoby na začiatku testovania.
2. Appium
Appium je dôkladný testovací nástroj, ktorý má pomôcť zabezpečiť, aby mobilné aplikácie spĺňali štandardy, má aktívnu komunitu podporovateľov, ale testy vykonáva pomerne pomaly. V spojení s náročným nastavením to nie je najlepší bezplatný nástroj pre mnohé spoločnosti.
3. Nástroje Chrome Dev Tools
Google Chrome ponúka celý rad nástrojov na vývoj webových aplikácií a vďaka integrácii do najpopulárnejšieho prehliadača sa zdá byť nevyhnutnosťou.
Je však obmedzený na testovanie prvkov boxu, čo z neho robí obmedzujúci testovací nástroj.
4. JUnit
JUnit je open-source framework, ktorý umožňuje používateľom opakovane vykonávať opakovateľné testy v jazyku Java a obmedzuje ich na jeden jediný jazyk.
Toto obmedzenie samo o sebe nepredstavuje problém, ale absencia jednoduchého rozhrania API a rozhrania môže odradiť novších testerov.
5. DBUnit
DBUnit sa zameriava na podporu projektov orientovaných na databázy, pričom využíva známe stavy na presné overenie výsledkov a komplexné preskúmanie výsledkov.
To je ideálne pre databázy a podobné aplikácie, ale nedostatočná podpora integrácie znamená, že má problémy s úlohami medzi platformami.
5 najlepších nástrojov na testovanie šedej škatule v podniku
S rastom vývojára sa zvyšujú aj jeho požiadavky na testovanie, pričom väčšie spoločnosti majú väčšie aplikácie a v dôsledku toho vyžadujú komplexnejšie testovacie balíky.
Na podporu spoločností v tejto situácii existujú podnikové nástroje na testovanie šedej skrinky, ktoré poskytujú väčší prístup k pokročilým funkciám, ktoré amatérski a malí vývojári nemusia potrebovať.
Medzi najlepšie testovacie nástroje podnikovej triedy pri vykonávaní testov šedej škatule patria:
1. ZAPTEST ENTERPRISE EDITION
Podniková verzia ZAPTEST poskytuje väčšie možnosti testovania ako bezplatná verzia, pričom jednou z hlavných výhod je stály prístup k expertovi ZAP. Expert ZAP pôsobí ako poradca a člen vášho tímu na diaľku a podporuje všetky potreby vašej spoločnosti v oblasti testovania.
Vývojári, ktorí investujú do edície ZAPTEST Enterprise, môžu zaznamenať až desaťnásobnú návratnosť svojej investície vďaka pokročilým technológiám počítačového videnia, 1SCRIPT, multiplatformnému vykonávaniu, vykonávaniu naprieč zariadeniami a prehliadačmi a predovšetkým neobmedzeným licenciám.
Neobmedzený počet licencií spolu s najmodernejšou technológiou testovania a RPA znamená, že podniky profitujú z fixných nákladov bez ohľadu na to, ako rýchlo a ako veľmi rastú.
2. TestRail
Riešenie na správu testovacích prípadov, ktoré vám umožňuje rozdeliť všetky testy, ktoré dokončíte, podľa testovacích prípadov, čím sa presnejšie zaznamenávajú údaje.
TestRail však nie je nevyhnutne ideálny na testovanie šedej skrinky, pretože sa snaží vyvážiť manuálne testovanie s automatizovaným zaznamenávaním testov.
3. Testovanie
Testovacia platforma, ktorá sa zameriava na ponuku stabilných testov na mieru, implementáciu kódovaných testovacích prípadov aj nekódovaných alternatív.
Keďže táto platforma je bezplatná len pre určitý počet testov mesačne, väčšie organizácie môžu mať problém ju čo najlepšie využiť.
4. TestRigor
TestRigor je všeobecne uznávaná platforma, ktorá na vykonávanie testov využíva motor umelej inteligencie, pričom jednou z najatraktívnejších funkcií je údržba testov pomocou umelej inteligencie.
Je to však spojené so značnou cenou, pretože iné platformy poskytujú lepšiu návratnosť investícií.
5. Kobiton
Kobiton je testovacia platforma, ktorá je relatívne flexibilná, pokiaľ ide o ceny, a po dokončení bezplatnej skúšobnej verzie automatizuje testy na základe počtu používateľov.
Jednou z obáv, ktoré majú niektorí používatelia v súvislosti s Kobitonom, je relatívny nedostatok podpory zo strany Kobitonu, pokiaľ ide o riešenie otázok testerov.
Kedy by ste mali používať nástroje Enterprise vs. Freemium Grey box?
Podnikové aj bezplatné nástroje šedej skrinky poskytujú svojim používateľom množstvo výhod. Spoločnosti ideálne začínajú s bezplatným produktom, aby sa naučili proces testovania, a potom, keď sa ich potreby zvýšia, prejdú na podnikovú verziu.
Tým sa do projektu zavádza určitá úroveň kontinuity, čím sa obmedzuje množstvo preškolení, ktorými zamestnanci prechádzajú.
Bod prechodu sa líši od podniku k podniku, ale v určitom okamihu sa návratnosť investícií do podnikového produktu stáva nevyhnutnou.
Kontrolný zoznam, tipy a triky pre testovanie šedej škatule
Dokončenie testovania šedej škatuľky je pomerne zložitý proces, preto vám kontrolný zoznam, na základe ktorého môžete pracovať, pomôže uistiť sa, že ste pri testovaní urobili všetko potrebné.
Medzi hlavné vlastnosti kontrolného zoznamu šedej škatule, okrem niekoľkých tipov na zlepšenie kvality vášho testovania, patria:
1. Dôkladné plánovanie
Komplexné plánovanie je jednou z prvých vecí, ktoré je potrebné pri teste odškrtnúť, pretože je nevyhnutné naplánovať úplne všetky aspekty testu.
Čím viac plánujete, tým je testovanie štruktúrovanejšie, pretože ľudia vedia, aké testy vykonávajú a kedy ich vykonávajú.
To tiež vedie k získaniu konzistentných údajov, ktoré sú ideálne pre lepšie vývojárske riešenia.
2. Okamžité vykazovanie údajov
Pri práci na procese testovania šedej skrinky sa snažte okamžite nahlasovať údaje. Čo najskorším vytvorením výkazov zvýšite presnosť svojich procesov vykazovania, pretože všetky informácie máte ešte v čerstvej pamäti.
Týka sa to najmä kvalitatívnych informácií, pretože tie musí tester napísať, a nie iba uložiť na testovaciu platformu.
3. Stanovenie zodpovednosti
Počas testovacích procesov zabezpečte, aby sa každý na pracovisku sústredil na svoje špecifické povinnosti. Vďaka takto nastaveným povinnostiam každý vie, aká je jeho úloha na pracovisku, a chápe, ako má plniť svoje úlohy produktívne a s minimálnym vyrušovaním.
Hoci ide skôr o koncepciu riadenia ako o kontrolný bod testovania, má to veľký vplyv na výsledky.
4. Neustále porovnávanie
Porovnávajte svoje výsledky s viacerými vecami takmer nepretržite. Medzi porovnávacie body patrí počiatočná projektová dokumentácia, výsledky predchádzajúceho testovania a časový plán organizácie na dokončenie projektu.
Tieto referenčné rámce vás neustále informujú o tom, ako prebieha proces vývoja softvéru, o oblastiach, ktoré je potrebné zlepšiť, a o možných úpravách.
Záver
Na záver možno konštatovať, že testovanie šedej skrinky je jednou z najuniverzálnejších foriem testovania, ktorá kombinuje funkčnosť bielej skrinky s obmedzením zaujatosti testov čiernej skrinky.
Kombináciou manuálnych a automatizovaných metód testovania v rámci sivej škatuľky môžu spoločnosti začať výrazne znižovať vplyv chýb na svoj softvér zavedením opráv, ktoré vedú k lepšiemu produktu.
Testovanie šedej škatuľky je dokonalým nástrojom pre každého vývojára a vyššie uvedené tipy vám pomôžu zabezpečiť jeho správne používanie.
Často kladené otázky a zdroje
Ak máte otázky o testovaní šedej škatule, pozrite si niektoré z našich často kladených otázok, aby ste sa dozvedeli viac a lepšie pochopili tento typ testovania:
1. Najlepšie kurzy o automatizácii testovania šedej škatule
Existuje relatívne málo kurzov, ktoré sa špecificky zameriavajú na automatizáciu testovania šedej škatule, pričom tieto všeobecné kurzy testovania softvéru sú ideálnym spôsobom, ako začať:
– “Software Testing Foundation with Exam” – ponuky školení
– “6-týždňové školenie o základoch testovania softvéru” – Futuretrend Technologies Ltd
– “Software Testing Course”- Royal Course
– “Black-box a White-box testovanie”- Coursera
– “Testovanie softvéru – stratégie Black-Box a testovanie White-Box” – NPTEL
2. Akých je 5 najčastejších otázok na pohovore o testovaní šedej škatuľky?
– Aké máte skúsenosti s testovaním šedej škatule a ako sa vám osvedčilo?
– Prečo spoločnosti používajú testovanie šedej škatule a v ktorej fáze procesu?
– Porovnanie testovania bielej skrinky, sivej skrinky a čiernej skrinky
– Aké sú najväčšie problémy pri testovaní šedej škatule a ako ich môžete prekonať?
– Ako funguje automatizácia testovania?
3. Najlepšie návody na testovanie šedej škatuľky na YouTube
– “Čo je testovanie šedej škatule? Aké techniky sa používajú pri testovaní šedej skrinky? S vysvetlením príkladu”- Software Testing Hacks
– “Testovanie šedej skrinky | softvérové inžinierstvo |” – Education 4u
– “Testovanie čiernej skrinky, bielej skrinky a sivej skrinky” – Miracle Education
– “Rady pre nových manuálnych QA testerov | Spolupráca s vývojármi + veci, ktoré som sa naučila ako testerka softvéru”- Madeline Elaine
– “Čo je to testovanie šedej škatuľky? (Otázka č. 54 z rozhovoru o testovaní softvéru)”- QA Fox
4. Ako udržiavať testy šedej škatuľky?
Údržba testov šedej škatuľky je pomerne jednoduchý proces. Pri manuálnom testovaní zabezpečte, aby boli zamestnanci dobre vyškolení a aby zakaždým vykonávali rovnaké úlohy. Pri automatizovanom testovaní skontrolujte všetok kód pre testovacie prípady a skontrolujte výsledky, pričom podľa možnosti využívajte neustály dohľad nad procesmi.
5. Najlepšie knihy o testovaní šedej škatuľky
Táto sekcia obsahuje okrem kníh aj články z časopisov s cieľom poskytnúť testerom QA čo najvyššiu úroveň písomnej pomoci:
– “Grey-Box technika testovania integrácie softvéru na základe správy”- TanLi M. a kol.
– “Porovnávacia štúdia techník testovania bielej skrinky, čiernej skrinky a sivej skrinky”- Ehmer, M., Khan, F.
– “Grey-box FSM-based Testing Strategies”- Petrenko, A.
– “Softvérové inžinierstvo”- Saleh, K.A.
– “Medzinárodná konferencia o počítačových aplikáciách 2012”- Kokula Krishna Hari K.