Testovanie softvéru je neuveriteľne komplexná a intenzívna oblasť, v ktorej sa spoločnosti a nezávislí vývojári snažia zlepšiť svoje produkty pomocou rôznych testovacích metód.
Jednou z najbežnejších metód, ktoré spoločnosti používajú na testovanie, je testovanie čiernej skrinky, technika, ktorá vytvára odstup medzi vývojármi a testermi, aby sa dosiahli presné výsledky a eliminovala sa zaujatosť.
V tejto podrobnej príručke sa dozviete viac o tom, čo je to testovanie čiernych skriniek, ako testovať čierne skrinky a aké sú výhody implementácie testovania čiernych skriniek v softvérovom inžinierstve.
Čo je testovanie čiernej skrinky?
Testovanie čiernej skrinky sa vzťahuje na proces testovania systému alebo softvéru bez toho, aby sme vopred poznali spôsob jeho vnútorného fungovania. To sa netýka len neznalosti samotného zdrojového kódu, ale aj toho, že ste nevideli žiadnu projektovú dokumentáciu týkajúcu sa softvéru. Testeri jednoducho zadávajú vstupy a prijímajú výstupy ako koncoví používatelia. Hoci ide o jednoduchú definíciu testovania čiernej skrinky, stanovuje všeobecný systém.
Cieľom testovania čiernej skrinky je prinútiť používateľov, aby so softvérom komunikovali prirodzenejším spôsobom ako zvyčajne bez toho, aby mali predsudky vyplývajúce z toho, že už softvér poznajú.
V tejto metodike sú ľudia zodpovední za dokončenie testov odlišní od tých, ktorí softvér vyvinuli, čím sa vytvára oddelenie medzi týmito dvoma tímami.
1. Kedy a prečo je pri testovaní softvéru potrebné vykonávať testovanie čiernej skrinky?
Vo vývojovom cykle existuje niekoľko fáz, v ktorých je ideálne používať testovanie čiernej skrinky, pričom väčšina testovania čiernej skrinky sa uskutočňuje na konci vývoja, krátko pred vydaním.
Patria sem metódy, ako je napríklad užívateľské akceptačné testovanie, pri ktorom sa softvér pred vydaním testuje s cieľovou skupinou používateľov. Toto testovanie sa častejšie nazýva beta testovanie a je ideálnym nástrojom pre spoločnosť, pretože väčšia expozícia znamená, že ľudia s väčšou pravdepodobnosťou nájdu potenciálne chyby v softvéri.
Práca s metodikou čiernej skrinky na konci vývojového cyklu je nevyhnutná, pretože ide o verziu, ku ktorej používateľ s väčšou pravdepodobnosťou pristúpi. Mohli by ste použiť testovanie čiernej skrinky pre jednotlivé funkcie, ale tým by sa zmaril účel testovania.
2. Keď nepotrebujete vykonať testovanie čiernej skrinky
Testovanie čiernej skrinky má v prvých fázach vývoja veľmi malý význam. Keď spoločnosť vytvára základnú funkčnosť svojho softvéru, používa testovanie bielej škatule, aby vývojár mohol zistiť, v ktorom bode kódu sa vyskytujú problémy.
Testovanie čiernej skrinky nie je potrebné ani v prípade, že ide o softvér s otvoreným zdrojovým kódom, relatívne jednoduchý webový nástroj alebo nástroj určený na pomoc pri kódovaní projektov tretej strany, pretože používateľské rozhranie je relatívne holé a používateľ má aj tak prístup k zdrojovému kódu programu. Ak očakávate, že používateľ bude mať prístup k zdrojovému kódu, testovanie čiernej skrinky stráca svoj hlavný účel.
3. Kto sa podieľa na testovaní čiernej skrinky?
Do procesu testovania čiernej skrinky je zapojených mnoho úloh, pričom niektoré z nich závisia od charakteru spoločnosti, ktorá testovanie vykonáva.
Medzi významné úlohy, ktoré sa podieľajú na procese testovania čiernej skrinky, patria:
– Tester
Tester je zodpovedný za realizáciu manuálnych testovacích prípadov v spoločnosti, pričom píše dôkladné testovacie prípady, ktoré podrobne skúmajú aplikáciu pred ich vykonaním a nahlásením výsledkov. Táto úloha existuje predovšetkým v procese manuálneho testovania, pričom automatizované systémy preberajú úlohu tam, kde je zavedená automatizácia testovania.
– Analytik QA
Analytik QA je zodpovedný za programovanie testovacích prípadov v procese QA, predovšetkým ak spoločnosť používa proces automatizácie testov QA.
Tento proces zahŕňa navrhovanie dôkladných testovacích prípadov, ktoré zabezpečujú vysokú úroveň funkčnosti, ako aj vykonávanie testovacích prípadov a získavanie výsledkov po ich dokončení.
– Vývojár
Osoba zodpovedná za vývoj softvéru, ktorý testuje tím QA. Vývojár dostáva spätnú väzbu od testovacieho tímu a podľa nej aktualizuje softvér, pričom pracuje ako súčasť vývojového tímu, ale neustále komunikuje s testermi.
– Manažér QA
Manažér QA je vedúci tímu zabezpečenia kvality a je zodpovedný za riadenie všetkých úloh, ktoré vykonávajú testeri.
Patrí sem usporiadanie harmonogramu testovania, organizácia zoznamu úloh, ktoré majú zamestnanci vykonať, a riešenie prípadných konfliktov v tíme. Testovanie čiernej skrinky vysvetľujú aj na školeniach pre nových zamestnancov.
– Vedúci projektu
Vedúci projektu, osoba zodpovedná za kvalitu konečného projektu, dohliada na proces testovania, ako aj na vývoj a zabezpečuje, aby klient dostal softvérový balík, ktorý spĺňa všetky požiadavky.
Výhody testovania čiernej skrinky
Používanie testovania čiernej skrinky pri vývoji má niekoľko významných výhod. Čím viac ste si vedomí týchto výhod, tým viac ich môžete využiť a využiť čo najviac výhod tejto techniky.
Medzi hlavné výhody používania testovania čiernej skrinky pri zabezpečovaní kvality patria:
1. Nie sú potrebné technické znalosti
Prístup čiernej skrinky znamená, že pri skúmaní aplikácie nepotrebujete žiadne technické znalosti.
Cieľom testovania čiernej skrinky je preskúmať, ako aplikácia funguje pre koncového používateľa, pričom štandardný používateľ vo väčšine situácií nemá žiadne pokročilé technické znalosti. To môže znížiť náklady na testovanie a pomôcť organizácii odhaliť viac chýb pri nižších nákladoch, čím sa stane finančne efektívnejšou.
2. Presne modelovať používateľa
Konečným cieľom procesu testovania čiernej skrinky je pochopiť, aké sú problémy s aplikáciou pri každodennej interakcii používateľa s ňou.
Niektoré typy testovania čiernej skrinky, ktoré sa zameriavajú na replikáciu správania používateľa, modelujú správanie používateľa s vysokou mierou presnosti. Platí to najmä pre akceptačné testovanie používateľov, pri ktorom si koncoví používatelia vyskúšajú produkt, pričom sa správanie používateľa nielen modeluje alebo simuluje, ale aj skutočne realizuje.
Presné modelovanie pomáha odhaliť všetky chyby, ktoré ovplyvňujú skutočné pracovné postupy používateľa.
3. Možnosť testovania pomocou crowdsourcingu
Testovanie čiernej skrinky je veľmi dostupnou formou testovania vďaka relatívne nízkym požiadavkám na zručnosti.
To znamená, že spoločnosti môžu nielen zamestnávať testerov s nižšou úrovňou technických zručností, ale môžu svoje testovanie zveriť zanieteným zákazníkom. V hernom priemysle je to čoraz bežnejšie, pretože spoločnosti ponúkajú Early Access a časom hru aktualizujú, aby vyriešili problémy, ktoré používatelia nájdu.
Hľadanie chýb je v tomto prípade oveľa jednoduchšie, pretože všetky funkcie sú vystavené oveľa väčšej pozornosti.
Výzvy testovania čiernej skrinky
Okrem výhod testovania čiernej skrinky existuje niekoľko hlavných problémov, ktoré je potrebné zohľadniť. Uvedomenie si týchto výziev znamená, že sa im môžete prispôsobiť a zvýšiť úroveň svojho testovania znížením škodlivých účinkov, ktoré môže mať testovanie čiernych skriniek.
Medzi tieto výzvy patria:
1. Ťažko sa hľadajú príčiny problému
Jednou z hlavných nevýhod testovania čiernej skrinky je, že môže byť ťažšie nájsť príčinu problémov, keď testeri nemajú prístup k zdrojovému kódu.
Hoci dokážu opísať, o akú chybu ide a kedy k nej dochádza, nevedia uviesť, ktorá časť zdrojového kódu spôsobuje problémy a prečo.
Testeri môžu tento problém do istej miery zmierniť tým, že si budú dôkladne zapisovať poznámky, pričom podrobné chybové hlásenia od vývojára môžu poskytnúť aj ďalšie informácie pre prípadné budúce aktualizácie.
2. Automatizácia je zložitejšia
Keďže sa aktívne snažíte replikovať spôsob, akým používateľ komunikuje so softvérovým balíkom, môže byť veľmi ťažké automatizovať proces testovania čiernej skrinky.
Prvou príčinou je skutočnosť, že tester nemá prístup k zdrojovému kódu, čo sťažuje vytvorenie presného testovacieho prípadu. To sa spája so skutočnosťou, že testovanie je navrhnuté tak, aby čo najviac kopírovalo ľudské správanie, pričom automatizácia je špeciálne navrhnutá tak, aby sa správala roboticky.
Tento problém môžete vyvážiť automatizáciou podradnejších úloh a kombináciou automatizácie s manuálnymi testami, ak je to možné.
3. Problémy s testovaním vo veľkom rozsahu
Vyššie uvedené problémy s automatizáciou znamenajú, že testovanie vo väčšom rozsahu je komplikovanejšie. Testovanie vo veľkom meradle poskytuje spoločnostiam oveľa viac údajov o softvéri a znamená, že chyby sa dajú ľahšie nájsť a replikovať.
Požiadavka manuálneho testovania ako priority znamená, že môže byť ťažšie zorganizovať testovanie vo väčšom rozsahu. Niektoré spoločnosti proti tomu používajú systém „otvorenej beta verzie“, v rámci ktorého môže každý, kto má o produkt záujem, pomôcť s testovaním pred vydaním a podporiť spoločnosť poskytnutím spätnej väzby k prvým verziám na dobrovoľnej báze.
Charakteristiky testov čiernej skrinky
Existuje niekoľko hlavných charakteristík testov čiernej skrinky, ktoré odlišujú testovanie od akejkoľvek inej formy zabezpečenia kvality softvéru.
Medzi tieto vlastnosti patria:
1. Žiadne predchádzajúce interné znalosti
Testy čiernej skrinky nevyžadujú žiadne predchádzajúce interné znalosti softvéru. V niektorých prípadoch to môže byť zložité, pretože testeri majú určitú predstavu o aspektoch softvéru, ktorý testujú, a o niektorých funkciách, ktoré hľadajú, ale v širšom zmysle ide o to, že nemajú možnosť vidieť akúkoľvek internú dokumentáciu.
Zjednodušene povedané, ak by tieto informácie boli viditeľné pre koncového používateľa v obchode s aplikáciami alebo na stránke na stiahnutie webovej stránky, potom ich môže vidieť aj tester.
2. Oddelenie testerov a vývojárov
Fázy testovania a vývoja vykonávajú rôzni ľudia v situácii testovania čiernej skrinky. Tento rozdiel vyplýva z nedostatku znalostí, ktoré majú testeri, pretože vývojári majú znalosti o zdrojovom kóde vďaka tomu, že boli zodpovední za jeho vývoj.
Spoločnosti k tomu pristupujú niekoľkými rôznymi spôsobmi v závislosti od konkrétnej situácie, pričom niektoré sa rozhodnú využiť na testovanie externú organizáciu a väčšie spoločnosti majú na túto prácu špecializované oddelenia testerov.
3. Testovanie v neskorej fáze
Ide o štádium vývoja, v ktorom sa toto testovanie uskutočňuje. Testy čiernej skrinky sa opierajú o relatívne pokročilú verziu existujúcej aplikácie s komplexným používateľským rozhraním, ktoré umožňuje úplnú navigáciu v softvéri a prístup k prednej časti každej funkcie.
To znamená, že testy čiernej skrinky sú možné len v niektorých neskorších fázach testovacieho procesu, keď je už všetko na začiatku vyvinuté. Hoci sa používateľské rozhranie a ovládacie prvky môžu časom upravovať, musia existovať v určitej forme, aby testy čiernej skrinky umožnili prístup k funkčnosti.
Čo testujeme v testoch čiernej skrinky
Testovanie čiernej skrinky skúma špecifické aspekty softvérového balíka a poskytuje dodatočné informácie v niektorých oblastiach softvéru, ktoré vedú k aktualizáciám zvyšujúcim všeobecnú kvalitu života.
Medzi hlavné časti softvérového balíka, ktoré testeri skúmajú pri teste čiernej skrinky, patria:
1. Funkčnosť
Niektorí vývojári používajú testovanie čiernej skrinky ako prostriedok na zabezpečenie toho, aby softvér fungoval tak, ako je zamýšľané pre niekoho, kto nemá žiadne znalosti.
Drvivá väčšina ľudí, ktorí používajú akýkoľvek softvér na komerčné účely, ho používa bez toho, aby rozumeli jeho vnútornému fungovaniu, takže testovanie s týmito znalosťami znamená, že viete, ako vyriešiť všetky existujúce problémy.
Toto dôkladné testovanie funkčnosti zaručuje, že každý zažije to najlepšie, čo aplikácia ponúka, namiesto toho, aby sa stretol s chybami, ktoré sa pri testovaní bielych skríň nevidia.
2. Používateľské rozhranie
Používateľské rozhranie sa vzťahuje na každý spôsob, akým používateľ prakticky komunikuje s aplikáciou, aby ju prinútil vykonať sériu úloh. Patria sem ponuky, s ktorými používateľ pracuje, konkrétne tlačidlá, ktoré sú v aplikácii prítomné, a značky, ktoré sú v celom softvéri.
Vývojári trávia väčšinu času tým, že sa starajú o to, aby samotná aplikácia fungovala podľa ich predstáv, čo znamená, že používateľskému rozhraniu venujú menej pozornosti.
Pri testovaní čiernej skrinky sa testeri stretávajú len s používateľskými funkciami softvéru, čím sa používateľskému rozhraniu venuje viac pozornosti ako vo väčšine iných fáz testovania.
3. Výkonnosť
Okrem normálneho fungovania a dobrého vzhľadu je pre spokojnosť zákazníkov dôležité aj to, ako aplikácia funguje.
Výkon sa vzťahuje na niekoľko faktorov vrátane rýchlosti aplikácie pri reakcii na vstupy používateľa a zdrojov, ktoré využíva v danom zariadení.
Vďaka testovacím formátom, ako je napríklad testovanie end-to-end, ktoré skúma všetky funkcie softvéru, môžu vývojári zistiť, koľko pamäte aplikácia spotrebuje a ktoré funkcie najviac zaťažujú príslušné zariadenia, čo im pomôže pri aktualizáciách súvisiacich s efektivitou a výkonom v neskorších verziách aplikácie.
Vyjasnenie niektorých nejasností:
Testovanie Black box vs White box vs Greybox
Testovanie čiernej skrinky je koncept, ktorý znie podobne ako testovanie šedej skrinky a bielej skrinky, ale tieto myšlienky sa od seba v podstate veľmi líšia. Ich zámena môže spôsobiť vážne komunikačné problémy v procese vývoja a spomaliť a znížiť efektívnosť procesu aktualizácie.
Čítajte ďalej, aby ste si ujasnili niektoré nejasnosti týkajúce sa rôznych typov „box testovania“, ako sa od seba líšia a kedy ich použiť.
1. Čo je testovanie bielych polí?
Testovanie bielej skrinky sa niekedy nazýva „testovanie sklenenej skrinky“ a označuje proces testovania, pri ktorom má tester úplný prístup ku všetkým informáciám o softvéri. To zahŕňa prístup k zdrojovému kódu, návrhovej dokumentácii a klientskej dokumentácii balíka.
Ak napríklad tester pracuje v najranejších fázach vývojového procesu a skúma jednu funkciu, možnosť vidieť zdrojový kód tejto funkcie znamená, že môže okamžite nájsť príčinu problému.
Jedným z najlepších momentov na použitie white box testovania je predovšetkým interná úloha. To sa týka skorého vývoja funkčnej stránky aplikácie, pričom ideálne sú rýchle opravy, pretože nie je výhodné zakrývať kód, keď nesimulujete používateľskú skúsenosť. Testovanie bieleho kódu sa používa aj v systémoch s otvoreným zdrojovým kódom, pretože zdrojový kód je v týchto prípadoch dostupný pre všetkých používateľov.
Aké sú rozdiely medzi testovaním bielej a čiernej skrinky?
Hlavným funkčným rozdielom medzi testovaním čiernej skrinky a testovaním bielej skrinky je úroveň prístupu, ktorý má tester k softvéru, ale to má oveľa významnejší vplyv na aspekty testovania, ako je napríklad časový harmonogram.
Testovanie čiernej skrinky sa dôslednejšie využíva v neskorších fázach procesu, keď sa produkt blíži k uvedeniu na trh, pričom v základných fázach vývoja sa využíva transparentnosť a reakcie testovania bielej skrinky. Pri posudzovaní testu čiernej skrinky a testu bielej skrinky sa tieto dva testy líšia aj úrovňou potrebných odborných znalostí, keďže testovanie bielej skrinky si vyžaduje odborné znalosti v oblasti kódovania a vývoja, aby bolo efektívnejšie.
2. Čo je to testovanie šedej škatuľky?
Testovanie v sivom poli je forma testovania, pri ktorej používateľ do určitej miery rozumie kódu bez toho, aby mal úplný prístup. To znamená, že používateľ má k dispozícii zdrojový kód testovanej funkcie alebo má prístup k niektorej z projektových dokumentácií, aby pochopil celkový zámer softvérového balíka.
Ak napríklad tester skúma len jednu z funkcií softvérového balíka, môže mať prístup k zdrojovému kódu tejto jednej časti aplikácie.
Spoločnosti používajú testovanie šedej škatule predovšetkým pri skúmaní spôsobu integrácie aplikácie s nástrojom tretej strany. Prístup k zdrojovému kódu môžu mať len pre jednu časť procesu, čo obmedzuje ich schopnosť dokončiť dôkladné testovanie bielej skrinky. Namiesto toho vidia vstupy a výstupy integrácie tretích strán a zdrojový kód zodpovedný za integráciu.
Testeri pomocou nej posudzujú, či sa nejaké problémy objavujú kvôli softvéru, aplikácii tretej strany alebo integrácii medzi nimi.
Aké sú rozdiely medzi testovaním Black box a Grey box?
Hlavným rozdielom medzi testovaním čiernej skrinky a šedej skrinky je opäť úroveň prístupu k informáciám, pričom typ testovaného softvéru je jedným z hlavných rozlišovacích faktorov medzi týmito typmi testovania.
Testovanie sivej skrinky zvyčajne zahŕňa nástroje tretích strán, ako sú cloudové úložiská údajov alebo externé nástroje na spracovanie, zatiaľ čo systémy čiernej skrinky sú zvyčajne jeden ucelený celok. Mnohé testy čiernej skrinky sú neprerušované tretími stranami, zatiaľ čo integrované aplikácie majú len malú možnosť pracovať v metodike testovania šedej skrinky.
3. Záver: Čierna skrinka vs. biela skrinka vs. sivá skrinka
V konečnom dôsledku existujú zásadné rozdiely medzi testovaním čiernej, sivej a bielej skrinky, ktoré sú založené na tom, či sú testovaciemu tímu predložené zákulisné informácie.
Testovanie čiernej skrinky a bielej skrinky sú krajnými bodmi tohto spektra, pričom testovanie šedej skrinky zahŕňa všetko, čo nie je možné vidieť, okrem zdrojového kódu tretej strany, a môže byť videný len kód konkrétnej funkcie.
Všetky tieto metódy testovania však majú v oblasti testovania softvéru svoju úlohu, preto je potrebné venovať im čas a pozornosť a efektívne ich implementovať.
Typy testov čiernej skrinky
Existujú tri hlavné typy testovania čiernej skrinky, ktoré zahŕňajú všetky testy, ktoré spoločnosť vykonáva prostredníctvom metodiky čiernej skrinky. Sú to:
1. Funkčné testovanie
Funkčné testovanie zahŕňa všetko, čo sa týka mechanického fungovania aplikácie. To zahŕňa zabezpečenie správneho spracovania údajov, umožnenie používateľom prihlásiť sa pomocou správnych poverení a spracovanie informácií a vstupov podľa očakávania.
Testovanie funkčnosti je jedným z dôležitejších aspektov procesu a zahŕňa lokálnu funkčnosť aplikácie aj spôsob, akým spolupracuje s externými nástrojmi a programami, ako sú cloudové služby alebo nástroje jednotného prihlásenia.
2. Nefunkčné testovanie
Nefunkčné testovanie sa vzťahuje na testovanie, ktoré skúma akýkoľvek aspekt softvéru, ktorý výslovne nesúvisí s funkčnosťou aplikácie. Ide o zistenie, či je aplikácia použiteľná a zrozumiteľná pre používateľov, kompatibilná so širokou škálou zariadení a operačných systémov a ako funguje pri značnej záťaži (hoci v niektorých momentoch môže prejsť do funkčného testovania).
K tomu dochádza predovšetkým na konci procesu vývoja po skompilovaní celej aplikácie.
3. Regresné testovanie
Po aktualizácii testeri preskúmajú aplikáciu, aby sa uistili, že splnila zamýšľanú funkciu a nevyskytli sa žiadne neúmyselné vedľajšie účinky, ktoré by spôsobili regresiu aplikácie.
Toto testovanie sa nazýva regresné testovanie a je základnou súčasťou zabezpečenia pripravenosti aplikácie na uvedenie na trh.
Regresné testovanie sa používa po každej aktualizácii s cieľom uistiť sa, že funkčné aj nefunkčné aspekty aplikácie spĺňajú štandard, ktorý bol dosiahnutý predtým.
Techniky testovania čiernej skrinky
Pri procese testovania čiernej skrinky existuje široká škála techník, ktoré môžete použiť na zlepšenie úrovne svojej práce. Medzi najvýznamnejšie techniky testovania čiernej skrinky, ktoré sa používajú v prostredí zabezpečenia kvality, patria:
1. Párové testovanie
Párové testovanie je forma testovania, ktorá sa zameriava na vyskúšanie každej možnej kombinácie dátových vstupov v softvéri.
Ak sú napríklad všetky platné položky od 1 do 10 v jednom stĺpci a všetky znaky abecedy v inom stĺpci, párovým testovaním sa otestujú všetky možné kombinácie od 1A do 10Z. Ide o formu testovania, ktorá môže používateľovi zabrať veľa času a úsilia, čo z nej robí jednu z techník, ktoré sú najviac otvorené potenciálnej hyperautomatizácii. Táto metóda je mimoriadne dôkladná a nájde všetky potenciálne problémy pri zadávaní údajov.
2. Analýza hraničných hodnôt
Mnohé softvéry sa spoliehajú na zadávanie údajov, pričom tieto údaje majú špecifické hranice, v rámci ktorých má klient pracovať.
Napríklad systém určený na výpočet hodnôt od 1 do 100 môže mať problémy s hodnotami 0 alebo nižšími, prípadne vyššími ako 100.
Analýza hraničných hodnôt zahŕňa testovanie týchto hraníc, zadávanie čísel na hraniciach a v ich okolí, ktoré softvér testuje, aby sa preskúmalo, či sa na okraji očakávaného pracovného rozsahu softvérového balíka vyskytujú chyby. To je výhodné predovšetkým v systémoch založených na výpočtoch a môže pomôcť vývojárom buď upraviť hranice, alebo nájsť príčinu akýchkoľvek problémov.
3. Testovanie prechodov medzi stavmi
Mnohé programy sa pohybujú medzi rôznymi „stavmi“ alebo „režimami“ a vyžadujú si prechod z jednej fázy tohto procesu do druhej. Správne fungovanie týchto prechodov znamená, že stránka funguje tak, ako používateľ očakáva, a nedochádza k neočakávaným zdržaniam.
Testovanie prechodov medzi stavmi je forma testovania, ktorá skúma všetky prechody medzi stavmi v softvéri, pričom zabezpečuje ich funkčnosť a poskytuje istotu, že používateľské toky softvérom fungujú bez neočakávaných prerušení.
Testovanie čiernej skrinky v životnom cykle softvérového inžinierstva
Testovanie čiernej skrinky je disciplína, ktorá sa využíva najmä na konci životného cyklu softvérového inžinierstva. Zahŕňa to všetko od testovania spôsobu interakcie používateľov so softvérom až po poskytnutie úplného prístupu k beta verzii, pričom testovanie čiernej skrinky prichádza na rad predovšetkým vtedy, keď všetky funkcie fungujú podľa očakávaní.
V porovnaní s testovaním bielych skriniek, ktoré si vyžaduje vysokú úroveň odborných znalostí, ušetrí veľa času a úsilia a najlepšie sa realizuje vtedy, keď nepotrebujete vývojový tím, ktorý by okamžite vykonal zmeny vo fungovaní systému.
Manuálne alebo automatizované testy čiernej skrinky?
Testovanie softvéru má dve rôzne formy, pričom manuálne testovanie je tradičnou formou, ktorá využíva softvérových testerov v každej fáze procesu. To je v príkrom rozpore s automatizovaným testovaním, ktoré využíva čoraz vyššiu úroveň umelej inteligencie a strojového učenia na vykonávanie úloh bez akéhokoľvek zásahu človeka.
Prečítajte si viac informácií o tom, čo je manuálne a automatizované testovanie, aké sú s nimi spojené výzvy a ktoré z nich je pre spoločnosť ideálne.
1. Manuálne testovanie čiernej skrinky – výhody, výzvy, proces
Manuálne testovanie čiernej skrinky sa vzťahuje na proces nezávislého testovania čiernej skrinky, pri ktorom sa na vykonanie všetkých úloh využívajú zamestnanci, a nie automatizačná platforma ako súčasť súboru nástrojov spoločnosti.
Medzi hlavné výhody používania manuálneho testovania pri vývoji softvéru patrí väčšia miera flexibility pri spôsobe testovania a spôsob, akým môžu vývojári získať oveľa dôkladnejšiu spätnú väzbu, ktorá má kvalitatívny charakter.
Proces manuálneho testovania má však niekoľko prirodzených problémov. Prvým z nich je skutočnosť, že manuálne testovanie môže zabrať veľa času, keďže ľudia sú pri plnení svojich úloh pomalší ako automatizované programy.
Ďalším dôvodom je väčší potenciál chýb, pretože ľudia môžu urobiť chybné kliknutia alebo vykonať veci v nesprávnom poradí. To môže v konečnom dôsledku viesť k nepresnostiam v testovacích údajoch.
Manuálne testovanie je proces, ktorý sa začína oboznámením sa s očakávaniami spoločnosti od aplikácie, potom sa napíšu testovacie prípady, ktoré sú výzvou pre túto stručnú informáciu, vykonajú sa testovacie prípady a výsledky sa oznámia vývojovému tímu.
2. Automatizácia testovania čiernej skrinky – výhody, výzvy, proces
Automatizované testy sa vzťahujú na testy, ktoré spoločnosť vykonáva na softvérovom balíku vyplnením testovacích prípadov pomocou automatizovaného systému. Pri nich sa na automatizáciu softvérového balíka používajú platformy tretích strán, pričom všetky automatizované kroky sa riadia špeciálne pripravenými testovacími prípadmi.
Hlavnou výhodou automatizácie testovania čiernych skriniek je jej rýchlosť, pretože automatizované programy potrebujú oveľa menej času na každé spustenie testu. To znamená, že pri testovaní získate veľa času, ktorý môžete venovať vývoju aplikácie.
Ďalšou výhodou je presnosť, pretože dobrý automatizačný nástroj vždy vykonáva rovnaké úlohy v rovnakom poradí.
Nevýhody môžu stále spôsobovať problémy pri automatizácii testovania čiernych skriniek, pričom jedným z hlavných problémov je zameranie na kvantitatívne údaje. To je skvelé pre metriku, ale znamená to, že pri teste prijateľnosti pre používateľa sa získa len málo cenných informácií.
V automatizovanom testovaní je tiež relatívny nedostatok flexibility, pretože analytici musia pri každej zmene nakódovať úplne nové testovacie prípady.
Proces automatizácie testov sa začína návrhom série testovacích prípadov, ktoré sa potom zakódujú do systému pred vykonaním testov, ktoré po dokončení poskytnú správu.
3. Záver: Manuálne alebo automatizácia čiernej skrinky testov?
Výber medzi manuálnym a automatizovaným testovaním čiernej skrinky je v konečnom dôsledku zložitý a závisí od toho, čo v systéme hľadáte.
Ak hľadáte vysokokvalitné informácie, ktoré môžete použiť na vykonanie zmien v návrhu pre koncového používateľa, manuálne testovanie je zďaleka lepšou voľbou, pričom automatizované testovanie je ideálne pre funkčné a výkonnostné fázy procesu.
Premyslite si, čo hľadáte v každej fáze procesu testovania, a môžete ľahko získať riadené údaje, ktoré zlepšia váš výkon.
Čo potrebujete na začatie testovania čiernej skrinky?
Pred začatím testovania čiernej skrinky je potrebné mať k dispozícii niekoľko predpokladov, z ktorých každý pomáha vytvoriť ucelenejší proces testovania.
Niektoré z vecí, ktoré je potrebné mať pred začatím testovania čiernej skrinky, zahŕňajú:
1. Požiadavky na softvér
Požiadavky na softvér sa vzťahujú na konkrétne body v návrhu, ktoré má softvér spĺňať. To môže zahŕňať celý rad vecí, od potreby dokončiť určitý súbor úloh až po určitý vzhľad a pocit pri používaní.
Tieto informácie vám poskytnú niekoľko konkrétnych cieľov, na ktoré sa môžete pri testovaní zamerať, pričom testeri vytvoria harmonogram a plán testovania, ktorého výsledkom bude ucelenejší súbor výsledkov, ktoré budú informovať vývojárov o problémoch so softvérom.
Keďže v niektorých spoločnostiach ide o test čiernej skrinky, vývojári obmedzia prístup testera k zadaniu.
2. Zostavený softvér
Pred testovaním softvéru musí mať tím pre zabezpečenie kvality prístup k softvéru. Vývojári zvyčajne poskytujú najnovšiu verziu softvéru, pričom tím má prospech z toho, že má k dispozícii úplne čerstvo skompilovanú verziu softvéru, na ktorej môže vykonávať testy.
Najnovšia verzia znamená, že testy obsahujú niektoré z najnovších opráv, čo znamená, že poskytujú presný obraz o tom, ako softvér funguje.
3. Ciele testovania
Testeri majú tendenciu pristupovať k testovaniu s určitými konkrétnymi cieľmi. Tieto ciele testovania presne stanovujú, čo sa má v nadchádzajúcom období testovať, či už ide o prijateľnosť pre používateľov, funkčnosť end-to-end alebo dokončenie penetračného testovania.
Manažéri QA majú zvyčajne tieto ciele, pričom ďalšia fáza testovania zvyčajne závisí od toho, na čom pracoval vývojový tím, a od častí softvéru, ktoré tento vývoj ovplyvňuje.
Proces testovania čiernej skrinky
Proces testovania čiernej skrinky je relatívne presný, pričom spoločnosti profitujú z čo najpresnejšieho dodržiavania jednotlivých krokov procesu. Jednotlivé fázy procesu testovania čiernej skrinky zahŕňajú:
1. Plánovanie testov
Proces testovania čiernej skrinky začnite zložitým plánovaním. To zahŕňa diskusiu o všetkých individuálnych cieľoch, ktoré máte pre test, o konkrétnych aspektoch softvéru, ktoré skúmate, a o zdrojoch, ktoré venujete na testovanie.
Dôkladnejšie plánovanie znamená, že všetci vedia, čo majú robiť a kedy to majú robiť, vrátane metód, ktoré sú súčasťou testov.
2. Písanie testovacích prípadov
Písanie testovacích prípadov je ďalšou fázou procesu. Testovací prípad označuje sériu krokov, ktoré sa majú vykonať v rámci testu, pričom podrobnejšie testovacie prípady poskytujú používateľovi vyššiu úroveň konzistencie.
V procese automatizovaného testovania to zahŕňa aj kódovanie testovacieho prípadu v akomkoľvek automatizačnom nástroji, ktorý plánujete použiť.
Dvakrát skontrolujte všetky svoje testovacie prípady, aby ste sa uistili, že sú dôkladné a jasne uvádzajú kroky, ktoré treba vykonať.
3. Vykonanie testovacieho prípadu
Po príprave testovacích prípadov začnite s ich vykonávaním. Pri použití automatizácie to môže byť pomerne jednoduchá úloha, ktorá spočíva v nastavení programu a čakaní na výsledky. Manuálne testovanie spočíva v tom, že zamestnanci opakovane vypĺňajú testovacie prípady, pričom viac opakovaní vedie ku konzistentnejším a kvalitnejším údajom.
Každý testovací prípad vykonajte čo najpresnejšie, pretože čím presnejšie je vykonanie testovacích prípadov, tým väčšiu šancu máte, že údaje budú pre vývojový tím užitočné.
4. Záverečné hlásenie
Záverečná fáza podávania správ sa vzťahuje na časť procesu, v ktorej testovací tím podáva správy vývojárom.
Začnite jednoduchým zhrnutím získaných informácií a potom ich doplňte o všetky metriky, ktoré testeri zhromaždili. Vývojári tak dostanú prvotné usmernenie o ideálnom smerovaní pre ďalšiu sériu aktualizácií ešte predtým, ako sa im ukážu úplné údaje, čo im umožní hlbšie pochopiť problémy.
Osvedčené postupy pre testovanie čiernej skrinky
Bez ohľadu na odvetvie je dodržiavanie osvedčených postupov nevyhnutnosťou pre každú spoločnosť. Osvedčené postupy sa vzťahujú na súbor správania a techník, ktoré spoločnosť využíva pri svojej každodennej práci, čím sa zvyšuje efektívnosť spoločnosti a zlepšuje úroveň softvéru, ktorý spoločnosť používa.
Niektoré z týchto postupov, ktoré pomáhajú spoločnosti zlepšiť kvalitu testovania čiernych skriniek, zahŕňajú:
1. Zameranie na rozvoj zručností
Ak riadite spoločnosť, ktorá pracuje na viacerých softvérových produktoch, zvážte, či sa chcete zamerať na rozvoj testovacích zručností a špecializácií. Čím viac času venujete špecializácii a rozvoju príslušných zručností, tým lepšie máte šance odstrániť všetky problémy, ktoré sa vo vašich produktoch vyskytujú.
To sa spája so zamestnávaním ľudí, ktorí majú správny súbor zručností, ale je to najvhodnejšie pre spoločnosti, ktoré takmer neustále testujú softvér, pretože uplatnenie týchto schopností je vždy prínosom.
2. Vyvážiť pracovné zaťaženie
Niektoré testovacie tímy môžu byť veľmi veľké, s desiatkami alebo dokonca stovkami zamestnancov, ktorí pravidelne vypĺňajú testovacie prípady.
Najlepším postupom, ako z týchto zamestnancov vyťažiť čo najviac, je venovať im dostatok času a byť opatrný pri prideľovaní konkrétnych úloh. Vyhorenie v minulosti spôsobovalo vážne problémy v odvetví vývoja softvéru, ale je to niečo, čomu sa dá predísť lepším riadením pracovnej záťaže.
3. Vytvorenie konzistentných procesov
Spoločnosti sú založené na procesoch, ktoré ich zamestnanci denne vykonávajú, pričom procesy testovania zahŕňajú spôsob, akým spoločnosť píše svoje testovacie prípady, vykonáva výskum a interne komunikuje medzi jednotlivými oddeleniami.
Dôslednosť je v týchto prípadoch kľúčová, pretože to znamená, že ľudia sa rýchlejšie učia, keď do spoločnosti prichádzajú. To vedie k rýchlejšej adaptácii a lepším výsledkom oveľa skôr ako v spoločnosti, ktorá nemá konzistentné úlohy.
Ak môžete, vytvorte tieto procesy tak, aby boli zamestnanci zapojení do rozhodovacieho procesu, pretože sa tak uistíte, že so stratégiou súhlasia.
7 chýb a nástrah pri implementácii testov čiernej skrinky
Chyby sú prirodzené v každom odvetví, ale vedieť o nich skôr, ako ich urobíte, vám môže ušetriť veľa času a úsilia.
Medzi najčastejšie chyby a nástrahy, do ktorých sa testeri čiernych skriniek dostávajú, patria:
1. Nedostatočne definovaný rozsah testovania
Niektoré organizácie začínajú testovať svoje produkty bez riadneho plánovania procesov, čo je veľká chyba.
Neplánovaním môžu spoločnosti stratiť prehľad o rozsahu testovania. Dohodnutý rozsah pomáha testovať v správnom rozsahu a efektívne dosahovať výsledky.
Ak sa pred začatím testovania nedohodnete na jeho rozsahu, hrozí vážne riziko, že testovanie bude príliš rozsiahle a bude trvať príliš dlho, aby ste získali menej relevantné výsledky.
2. Zrýchlené testovacie procesy
Testovanie sa môže javiť ako proces, ktorý trvá veľmi dlho, najmä pri zdĺhavých testovacích prípadoch určených na preskúmanie celej aplikácie. Niektorí ľudia môžu byť v pokušení urýchliť svoje testy, najmä pri opakovaní predchádzajúcich testov. Je to vážna chyba. Uponáhľanie testovania môže viesť k chybám pri vykonávaní testovacích prípadov, čím sa zníži hodnota údajov a v konečnom dôsledku to znamená, že tie isté testy budete musieť vykonať znova.
3. Automatizácia bez procesu overovania
Automatizácia testovania sa zameriava predovšetkým na to, aby sa zabezpečilo, že zadávanie hodnoty údajov povedie k správnemu výstupu na konci procesu. Automatizácia týchto testov funguje tak, že sa overí, či výstup automatizovaného procesu zodpovedá tomu, aké by mali byť výsledky.
Niektorí testeri sa dopúšťajú významnej chyby tým, že hodnotu sami nevypočítajú, čo znamená, že nemajú možnosť overiť, či je výstup správny, a potenciálne neodhalia významné chyby v celom systéme.
4. Nepoužívanie hybridného testovania
Hybridné testovanie znamená vyváženie automatizácie s manuálnym testovaním, pretože tieto dve metódy fungujú spôsobom, ktorý dokonale pokrýva nedostatky každej z nich.
Niektoré organizácie sa však radšej zameriavajú na jednu z týchto dvoch metód. Týmto spôsobom otvárate svoje testovanie vážnym problémom a nepresnostiam.
Dokončite hybridné testovanie, aby ste dosiahli lepšiu úroveň rovnováhy pri testovaní a čo najviac znížili počet chýb.
5. Nedokončenie regresného testovania
Regresné testovanie by malo byť stálym procesom v každom účinnom systéme testovania softvéru, pričom touto formou testovania sa zisťuje, či aktualizácie softvéru nespôsobili problémy v iných častiach systému. Nedokončenie regresného testovania znamená, že funkcie, ktoré ste testovali na začiatku procesu, môžu zlyhať bez toho, aby ste si to uvedomili.
Dokončením regresného testovania zabezpečíte, že dodáte produkt vyššej kvality bez toho, aby ste do procesu zabezpečenia kvality vložili príliš veľa práce navyše.
6. Aktívne vyhľadávanie chýb
Niektorí si myslia, že cieľom testovania čiernej skrinky je nájsť chyby v softvérovom balíku a nahlásiť ich vývojovému tímu, a hoci je to jeden z aspektov, nie je to jediné zameranie. Testovanie slúži na všeobecné zlepšenie úrovne softvérového balíka.
Prílišným sústredením sa na chyby v softvéri začnete vybočovať zo štandardných pracovných postupov, dostanete sa mimo rozsah testovania a ignorujete niektoré dôležitejšie problémy softvéru výmenou za hľadanie potenciálne nepodstatných chýb v kóde.
7. Ignorovanie intuície
Pri manuálnom testovaní má tester túto úlohu, pretože má existujúci zmysel pre intuíciu a znalosť kódu, ktorá ho vedie k potenciálnym problémom a informuje ho o oblastiach, ktoré treba preskúmať pri práci.
Niektorí sa však rozhodnú túto intuíciu pri práci na testovacích prípadoch úplne ignorovať. Tým, že si všimnete všetko, čo chcete otestovať, a skontrolujete to v novom testovacom prípade, získate plný úžitok zo svojich technických znalostí a zároveň dokončíte pripravené testovacie prípady.
Typy výstupov z testov čiernej skrinky
Existuje niekoľko typov výstupov, ktoré môžete získať z testovania čiernej skrinky, pričom každý z nich poskytuje jedinečné poznatky pre spoločnosť, ktorá chce vykonať príslušné aktualizácie svojich produktov a zlepšiť kvalitu, ktorú zákazníci zažívajú.
Medzi hlavné typy výstupov z testov čiernej skrinky patria:
1. Kvalitatívne údaje
Prvou formou výstupu, ktorý môžete získať z testu čiernej skrinky, sú kvalitatívne údaje. Ide o informácie, ktoré primárne opisujú aplikáciu a ktoré pochádzajú z testov, ako sú napríklad testy end-to-end a testy použiteľnosti.
Kvalitatívne údaje zvyčajne opisujú štandard aplikácie, diskutujú o skúsenostiach ľudí s aplikáciou a vysvetľujú zmeny, ktoré by chcel tester vykonať.
Pri vytváraní týchto údajov tester zvyčajne napíše dôkladnú správu, v ktorej uvedie všetky dôkazy pre svoje body a kvalitatívne názory podporí ďalšími prvkami, napríklad snímkami obrazovky, na ktoré sa odvoláva.
2. Kvantitatívne údaje
Ide o jasné číselné údaje vo forme metrík, pričom pracovníci testovania buď zaznamenávajú konkrétne časti aplikácie, alebo dostávajú číselné údaje z protokolu automatického testovania.
Kvantitatívne informácie bývajú užitočnejšie na to, aby vývojárom poskytli zreteľné opravy, ktoré poukazujú na časti aplikácie, ako je úroveň jej výkonu, jej efektívnosť z hľadiska využívaných zdrojov a počet chýb a problémov, ktoré sa v aplikácii vyskytujú.
Kvantitatívne informácie sa analyzujú a hodnotia jednoduchšie ako ich opisné ekvivalenty, pretože nie je potrebná žiadna interpretácia.
3. Chybové hlásenia
Chybové hlásenia sa objavujú, keď funkčnosť softvéru neprebieha podľa očakávaní. Môže ísť o problémy s hardvérom alebo softvérom, pričom sa zvyčajne okrem chybového kódu uvedie aj krátky opis problému.
Vývojári vytvárajú systém kódov chýb, ktorý im pomáha presne určiť, kde sa v systéme vyskytuje problém, pričom niektoré nápady na implementáciu zahŕňajú použitie prvej číslice na zúženie funkcie, v ktorej sa vyskytol problém, druhej na opis toho, čo konkrétne zlyhalo, a tretej na uvedenie príčiny problému.
Používanie tohto systému kódov chýb znamená, že vývojári okamžite vedia, o aký problém ide, a môžu pracovať na jeho riešení.
Príklady testov čiernej skrinky
Zatiaľ čo teória testovania čiernej skrinky je pomerne jednoduchá, jej praktická realizácia môže byť zložitý proces, najmä pre začínajúceho testera. Vidieť príklad testovania čiernej skrinky v praxi vám môže pomôcť pri organizácii testovania.
Niektoré príklady metód testovania čiernej skrinky, vrátane viacerých typov testovania a rôznych stupňov úspešnosti, zahŕňajú:
1. Neefektívne užívateľské akceptačné testovanie
Spoločnosť chce v najbližších týždňoch uviesť na trh svoj produkt, pričom ešte neprebehlo akceptačné testovanie používateľov. Aplikácia je návod na pletenie pre staršie publikum.
Vývojári sa snažili tento proces urýchliť a rýchlo zhromaždiť skupinu testerov, pričom na testovanie využívali výlučne nepletiarky v polovici tridsiatky, pretože boli prístupnejšou skupinou. Táto skupina nevidí v žiadosti žiadne problémy a dá jej zelenú na zverejnenie.
Vzhľadom na protichodnú úroveň technických znalostí oboch skupín je cieľová skupina pri používaní softvéru viac zmätená a nemá prístup k mnohým funkciám. V reakcii na to je spoločnosť nútená dokončiť naliehavé aktualizácie.
Neúspechy pri testovaní, ako je tento, poukazujú na dôležitosť dôkladnej prípravy.
2. Úspešné end-to-end testovanie
End-to-end testovanie sa vzťahuje na testovanie, ktoré sa uskutočňuje po tom, ako je funkčnosť aplikácie prvýkrát kompletne skompilovaná do jedného softvérového balíka.
Spoločnosť starostlivo naplánovala dokončenie procesu testovania od začiatku do konca a zamestnala niekoľko zamestnancov špeciálne na plnenie testovacích povinností, pričom každému testovaciemu prípadu sa venujú dvaja zamestnanci.
Po dôkladnom postupe dokončia svoje testovacie prípady a zaznamenajú všetky získané údaje, pričom na konci testovania manažér QA zostaví z týchto údajov ucelenú správu.
Vývojári používajú túto správu na plánovanie ďalších sérií aktualizácií a zmien v aplikácii, čím sa produkt výrazne zlepšuje.
3. Automatizované regresné testovanie
Vývojár dokončil sériu aktualizácií svojho softvéru, ktorý pred aktualizáciami fungoval podľa očakávaní. Po aktualizáciách testovací tím prejde procesom regresného testovania, pričom sa zameria na automatizáciu a získa automatizovanú platformu na dokončenie všetkých základných funkcií.
Tím napíše kód pre testovací prípad a vykoná testovacie prípady, pričom prečíta všetky výsledky testov a zistí, kde sú potenciálne problémy.
Tým sa zabráni vzniku problémov z dôvodu, že organizácia vykoná aktualizácie a neskontroluje, či tieto aktualizácie majú alebo nemajú problém.
Typy chýb a nedostatkov zistených pri testovaní čiernej skrinky
Hoci chyby a chyby nie sú v procese testovania čiernej skrinky všetkým, sú významnou súčasťou spôsobu, akým spoločnosti testujú.
Poznanie niektorých hlavných typov chýb a bugov pri testovaní čiernej skrinky vám pomôže kategorizovať všetky problémy, na ktoré narazíte, a lepšie pochopiť, prečo sa vyskytujú.
Medzi hlavné typy chýb, ktoré sa dajú odhaliť pomocou testovania čiernej skrinky, patria:
1. Chyby použiteľnosti
Chyby použiteľnosti sa týkajú nedostatkov v programe, ktoré v skutočnosti neovplyvňujú jeho funkčnosť, ale môžu spôsobiť problémy používateľovi, ktorý sa pokúša so softvérom pracovať.
Ak má napríklad aplikácia vážnu grafickú chybu, je technicky stále funkčná, ale bez správnych ikon a textu ju koncový používateľ nemôže efektívne používať. Tieto problémy sa zvyčajne týkajú dizajnu aplikácie a spôsobu, akým sa dizajn načíta používateľovi, pričom zložitejšie aplikácie si vyžadujú viac grafiky, ktorá je zložitejšia ako v jednoduchších používateľských rozhraniach.
2. Funkčné chyby
Funkčné chyby sa vzťahujú na problémy, ktoré sa vyskytnú, keď časť programu nefunguje podľa očakávania.
Napríklad, ak používate databázový softvér a snažíte sa zoradiť informácie podľa určitej kategórie, ale zistíte, že to nefunguje. Týka sa to funkcií, ktoré vôbec nefungujú, aj tých, ktoré zdanlivo fungujú, ale nesprávne.
Môžu to byť jedny z najzávažnejších problémov aplikácie, ktoré spôsobujú používateľom značné nepríjemnosti a zhoršujú povesť vývojára, pretože produkt nefunguje tak, ako bolo inzerované.
3. Havárie
Keď sa softvér zrúti, ide o zásadný problém so softvérom, ktorý bráni jeho spusteniu. Môže dôjsť k niekoľkým rôznym formám zlyhania, vrátane prípadov, keď sa aplikácia zavrie celá alebo jednoducho zamrzne v jednom bode procesu.
Pád je jedným z najzávažnejších problémov, ktoré môžu nastať, pretože neexistuje žiadny spôsob, ako obnoviť funkčnosť aplikácie okrem jej úplného zatvorenia a opätovného otvorenia. Aj keď niektoré aplikácie majú stále procesy na pozadí, neexistuje žiadny spôsob interakcie so softvérom po tomto bode.
Spoločné metriky testovania čiernej skrinky
Manuálne testovanie čiernej skrinky je vynikajúce pri generovaní kvalitatívnych údajov, ale keď sa zameriavate na kvantitatívne údaje, musíte si byť vedomí metrík, ktoré kontrolujete. Úplné pochopenie týchto ukazovateľov vám pomôže pochopiť nedostatky platformy a určiť priority v rôznych oblastiach, na ktorých treba pracovať.
Medzi najbežnejšie metriky testovania čiernej skrinky, s ktorými sa stretávate pri svojej práci, patria:
1. Miera chybovosti
Chybovosť sa môže vzťahovať na niekoľko vecí, buď na čistý počet chýb, ktoré sa vyskytnú počas testovacieho cyklu softvéru, alebo na chyby, ktoré sa vyskytnú za hodinu testovania. Hodinové metriky sú lepšie, pretože vyjadrujú hustotu chýb v softvéri, a nie len uvádzajú číslo, pričom väčšie aplikácie môžu byť skreslené.
Vývojári sa snažia obmedziť chybovosť svojich aplikácií, pretože čím menej chýb je v softvérovom balíku, tým lepší je zážitok zákazníka z používania systému.
2. Čas odozvy
Keď sa tester snaží zistiť viac o úrovni výkonu, ktorú používateľ zažíva, čas odozvy je jedným z hlavných aspektov, ktoré treba zvážiť. Ide o čas, ktorý softvér potrebuje na dokončenie úlohy po zadaní výzvy používateľom, pričom dlhší čas odozvy svedčí o relatívne neefektívnej aplikácii. Vyšší čas odozvy je dôvodom na obavy, pretože používatelia môžu stratiť trpezlivosť s aplikáciou, ktorá trvá príliš dlho.
3. Spokojnosť používateľov
Väčšina metrík sa zameriava na čisté čísla, ktoré sú generované softvérovým balíkom a testovacím softvérom v teste, ale niektoré metriky sa zameriavajú na názor.
Ak spoločnosť dokončí beta test, ktorý využíva napríklad 1000 testerov, môže zbierať údaje o počte spokojných ľudí a premeniť ich na percentá. Je to mimoriadne užitočný ukazovateľ, ktorý je k dispozícii na konci cyklu, pričom vyššia miera spokojnosti používateľov dokazuje, že program sa páči väčšiemu počtu ľudí, a naznačuje, že je pravdepodobnejšie, že sa mu bude dariť aj v budúcnosti.
Najlepšie nástroje na testovanie čiernej skrinky
Testovanie čiernej skrinky je forma testovania, ktorá sa môže výrazne spoliehať na to, že budete mať k dispozícii nástroje na automatizáciu testovania čiernej skrinky a na organizáciu informácií získaných z testov.
Používanie správnej kombinácie nástrojov môže vám a vášmu tímu pomôcť pracovať oveľa efektívnejšie a vytvoriť efektívnejšie procesy v rámci celého oddelenia zabezpečenia kvality.
Nižšie si pozrite niektoré z najlepších nástrojov na testovanie čiernych skriniek a zistite, ako vám každý z nich môže pomôcť k úspechu:
5 najlepších bezplatných nástrojov na testovanie čiernej skrinky
Malé a vznikajúce spoločnosti, ako napríklad nezávislí vývojári, nemajú pri tvorbe softvéru k dispozícii veľký rozpočet. To môže priniesť celý rad výziev vrátane hľadania správnych nástrojov na prácu.
Nižšie sú uvedené niektoré z najlepších bezplatných nástrojov, ktoré sú k dispozícii nezávislým vývojárom, ktorí chcú zlepšiť svoje pracovné postupy s obmedzeným rozpočtom:
1. ZAPTEST FREE EDITION
Bezplatná edícia ZAPTEST je ideálnym úvodom do automatizácie testovania softvéru. Tento nástroj je špeciálne navrhnutý tak, aby podporoval automatizáciu ľubovoľnej úlohy a pomáhal vám pracovať rýchlejšie a efektívnejšie bez ohľadu na to, akú úlohu práve vykonávate.
Bezplatná verzia ZAPTESTu obsahuje obrovské množstvo funkcií na podporu automatizácie akejkoľvek aplikácie… Implementácia 1SCRIPT medzi prehliadačmi, zariadeniami, aplikáciami a paralelným vykonávaním je jednou z dostupných funkcií.
2. JIRA
Bezplatné verzie systému JIRA sú ideálnym nástrojom na zaznamenávanie chýb, pridávanie podrobností k nim do tiketov a určovanie ich priorít pri komunikácii s vývojovým tímom.
Avšak namiesto toho, aby išlo o univerzálnu pomôcku na automatizáciu, špecializuje sa výlučne na riadenie projektov v procese testovania.
3. Selenium IDE
Táto aplikácia s otvoreným zdrojovým kódom, ktorá zaznamenáva a prehráva automatizáciu testov, je dobrým nástrojom na sledovanie toho, čo vidí platforma na automatizáciu pri dokončovaní testu.
Jednou z chýb programu Selenium je relatívny nedostatok pokročilých funkcií, ako je napríklad integrácia automatizovaných úloh medzi platformami.
4. AutoHotkey
AutoHotkey je úplne bezplatný skriptovací jazyk s otvoreným zdrojovým kódom dostupný pre systém Windows, ktorý používateľom pomáha vytvárať skripty rôznych veľkostí, ktoré po zadaní jediného stlačenia klávesu vykonajú sériu úloh.
Hoci je program AutoHotkey dobrý na automatizáciu jednoduchých úloh, môže mať problémy s väčšími skriptami a požiadavkami na automatizáciu.
5. Appium
Ide o nástroj, ktorý vyniká predovšetkým pri automatizácii aplikácií pre iOS, a preto je ideálnym programom na zlepšenie kvality vašich mobilných aplikácií.
Najväčšou nevýhodou Appium je skutočnosť, že ste obmedzení na veľmi malý rozsah produktov, čo výrazne znižuje váš dostupný trh.
5 najlepších nástrojov na testovanie čiernej skrinky v podniku
Bezplatné nástroje sú dobré, ale podniky a veľké spoločnosti potrebujú viac funkcií, aby mohli dôkladne otestovať svoj softvér. Našťastie, niektoré z najlepších podnikových nástrojov na testovanie čiernych skriniek majú komplexné funkcie a pomáhajú podnikom získať významnú návratnosť investícií do ich procesov QA.
Medzi ideálne nástroje na testovanie čiernych skriniek v podnikoch, do ktorých by ste mali investovať, patria:
1. ZAPTEST ENTERPRISE EDITION
Podniková edícia ZAPTEST je jedným z najvýznamnejších automatizačných nástrojov na trhu a môže zabezpečiť až 10-násobnú návratnosť investícií do vášho produktu.
Funkcie, ako je prístup k expertovi ZAP na plný úväzok ako vzdialenej súčasti vášho tímu a neobmedzené licencie, zabezpečujú, že môžete implementovať automatizáciu testovania čiernych skriniek bez potreby strmého učenia a za fixné náklady bez ohľadu na to, ako rýchlo rastiete.
2. TestRail
TestRail je platforma zameraná na testovanie v reálnom čase, ktorej cieľom je prepojiť vaše testy so súdržnou platformou na riadenie projektov. Hoci je to ideálne na centralizáciu práce pri riadení tímu, funkcie automatizácie nie sú ani zďaleka ideálne pre vývojový tím, ktorý chce klásť veľký dôraz na automatizované testy.
3. Opkey
Opkey je platforma, ktorá sa zameriava na automatizáciu bez kódu, čo znamená, že ľudia bez technických znalostí môžu začať automatizovať svoje testovacie služby.
Jednou z hlavných chýb softvéru Opkey je nedostatok aktívnej komunity, ktorá by ho obklopovala, čo môže spôsobiť, že sa pri pokuse o automatizáciu novým spôsobom budete cítiť pomerne bezradne.
4. Perfecto
Perfecto je nástroj, ktorý sa zameriava na pomoc používateľom pri automatizácii mobilných aplikácií bez vážnejších problémov, pracuje na širokom spektre zariadení a zameriava sa na testovanie end-to-end.
Aplikácia však beží na skutočných zariadeniach, a nie na virtuálnych počítačoch, čo zvyšuje ďalšie vysoké náklady na už aj tak pomerne drahý testovací nástroj pre obmedzené platformy.
5. JIRA Enterprise
Okrem dokončenia automatizačnej stránky testovania je naďalej dôležité riadenie projektov, a tu prichádza na rad JIRA. Enterprise JIRA má viac úložiska a umožňuje prístup k platforme väčšiemu počtu používateľov, ale môže spôsobiť potenciálny zmätok s potrebou individuálnych oprávnení a prístupu pre každého používateľa. To si vyžaduje veľa administratívneho času.
Kedy by ste mali použiť
Podnikové vs. bezplatné nástroje Black Box?
Na začiatku bude väčšina spoločností využívať bezplatné nástroje čiernej skrinky. Z ekonomického hľadiska to dáva zmysel, pretože žiadna inteligentná firma nechce investovať do produktu, ktorému úplne nerozumie, či už z hľadiska riadenia projektu alebo automatizácie.
Freemium nástroje nezahŕňajú len úplne bezplatné aplikácie, ale môžu zahŕňať aj bezplatné verzie podnikových produktov, ktoré spoločnosť používa pri učení sa, ako implementovať nástroj do svojich procesov.
Ideálny čas na aktualizáciu nástroja na podnikovú verziu je vtedy, keď spoločnosť začne pociťovať trenie v testovacích procesoch kvôli bezplatnému nástroju. Či už ide o bezplatný nástroj, ktorý ponúka len vybraný počet licencií, alebo množstvo testov, v okamihu, keď začnete pociťovať neefektívnosť svojich procesov v dôsledku testovacích nástrojov, mali by ste prejsť na podnikovú verziu, ktorá vyhovuje všetkým vašim potrebám.
Kontrolný zoznam testovania čiernej skrinky, tipy a triky
Keďže testovanie čiernej skrinky je veľmi komplexná testovacia metóda s množstvom príležitostí na budovanie znalostí o softvérovom balíku, je potrebné sa zamerať na niekoľko vecí.
Medzi dôležité tipy a triky, ktoré by ste mali zahrnúť do kontrolného zoznamu testovania čiernej skrinky, patria:
– Porozumenie zadaniu
Predtým, ako začnete plánovať testovanie, uistite sa, že rozumiete širšiemu zadaniu pre obdobie testovania. To zahŕňa pochopenie softvéru, pokiaľ je to povolené, a presné zistenie, čo máte testovať.
– Korektúra testovacieho prípadu
Snažte sa, aby každý, kto sa podieľa na testovaní, posúdil testovacie prípady, ktoré používate pri testovaní čiernej skrinky. Čím viac očí uvidí testovací prípad pred implementáciou, tým väčšiu šancu máte na odstránenie prípadných chýb.
– Zostavte si zoznam vecí, ktoré treba urobiť
Netechnická stránka prípravy na testovanie čiernej skrinky môže byť rovnako dôležitá ako technická stránka. Pri plánovaní si vytvorte ucelený Zoznam vecí, ktoré treba vykonať, v ktorom bude usporiadané, kto a v akom čase bude testovať ktorú časť softvéru. Znižuje sa tým zmätok, potenciálne vyhorenie a oneskorenie v dôsledku preberania iných úloh.
– Okamžité zaznamenávanie výsledkov
Okamžite zaznamenajte všetky výsledky, ktoré test vygeneruje. Pri manuálnych testoch môžete príliš dlho čakať a nesprávne si zapamätať problémy, takže okamžité poznámky výrazne zvyšujú presnosť.
– Spolupracujte s vývojármi
Prediskutujte s vývojármi časový rámec a stratégiu testovania, aby pochopili, čo sa deje a kedy môžu očakávať prácu na nových aktualizáciách. To zahŕňa stanovenie jasných postupov, pomocou ktorých oddelenia medzi sebou komunikujú.
– Akcieschopné údaje
Pri písaní správy dbajte na to, aby všetky údaje, ktoré poskytujete vývojárovi, boli použiteľné. To pomáha tímu vyvíjať produkt, ktorý reaguje na jeho problémy, namiesto toho, aby vývojár nerozumel zmenám, ktoré musí vykonať.
– Pochopte svoje priority
Vašou prioritou ako testovacieho tímu je v konečnom dôsledku zabezpečiť, aby spoločnosť dodávala svojim používateľom vysokokvalitný produkt. Ak testovanie trvá o niečo dlhšie, ako sa očakávalo, nezabudnite, že je to cenná výmena za zvýšenie kvality, ktorú zákazník pocíti.
– Poznajte hierarchiu
V ideálnej vývojárskej spoločnosti sú vývojári a testeri na rovnakej úrovni hierarchie a majú rovnako dôležité slovo pri vývoji softvéru. Pochopte hierarchiu vo vašej organizácii a snažte sa zabezpečiť, aby každý chápal hodnotu dobrého testovania.
– Vedenie konzistentnej dokumentácie
Uchovávajte kópie všetkých údajov a správ, ktoré ste vytvorili pri testovaní. Môžete sledovať zmeny aplikácie, za ktoré je zodpovedný testovací tím, a okrem toho sa pozrieť na staré chyby a zistiť, či sa opakujú v budúcich vydaniach.
Záver
Testovanie čiernej skrinky je nakoniec jednou z najdôležitejších častí procesu testovania softvéru. Pomáha spoločnostiam uistiť sa, že to, čo dodávajú, je na najvyššej možnej úrovni, a využíva zmenu perspektívy, ktorá ponúka jedinečný pohľad na spôsob, akým aplikáciu vníma a implementuje externý používateľ.
Každá spoločnosť, ktorá do svojich procesov nezaradí automatizované aj manuálne testovanie čiernej skrinky, prichádza o možnosť výrazne zlepšiť kvalitu svojej aplikácie. Testujte inteligentne a budete žať ovocie, keď vaši zákazníci získajú prístup k vášmu produktu.
Často kladené otázky a zdroje
Bez ohľadu na to, koľko toho viete o testovaní čiernej skrinky, možno máte ďalšie otázky a chcete tejto metóde lepšie porozumieť. Pozrite si naše často kladené otázky nižšie, aby ste sa dozvedeli viac o testovaní čiernej skrinky a získali prístup k množstvu zdrojov, ktoré vám o tejto metodike povedia viac.
1. Najlepšie kurzy o automatizácii testovania čiernej skrinky
Existuje niekoľko kurzov o automatizácii testovania čiernych skriniek, ktoré môžete absolvovať, pričom každý z nich pomáha ľuďom dosiahnuť iný štandard testovania.
Medzi najpreceňovanejšie dostupné kurzy testovania čiernej skrinky patria:
– „Black-box and White-box Testing“ od Coursera
– „Séria testovania softvéru Black-Box“ od BBST
– „Úvod do techník testovania softvéru Black Box“ od Udemy
– „Testovanie automatizácie softvéru“ od London School of Emerging Technology
– „Tri kľúčové techniky testovania čiernej skrinky“ od Udemy
2. Akých je 5 najčastejších otázok na pohovore o testovaní čiernej skrinky?
Testovanie softvéru je vysoko konkurenčná oblasť, v ktorej sa na každé voľné pracovné miesto hlási množstvo uchádzačov. Ak sa uchádzate o pozíciu v oblasti testovania čiernych skriniek, môžete sa pripraviť na niektoré z otázok, na ktoré budete chcieť odpovedať na pohovore:
– Aké máte skúsenosti s testovaním čiernych skriniek?
– Aké sú hlavné rozdiely medzi testovaním čiernej skrinky a testovaním bielej skrinky?
– Máte nejaké skúsenosti s automatizáciou softvéru z predchádzajúcich pozícií?
– Môžete nám prezradiť, kedy ste zažili problémy na pracovisku a ako ste ich prekonali?
– Aká je podľa vás budúcnosť black box testovania a ako sa vaše schopnosti hodia pre dlhodobú kariéru v oblasti testovania softvéru?
3. Najlepšie návody na testovanie čiernej skrinky na Youtube
YouTube je jedným z najdôležitejších vzdelávacích zdrojov, ktoré sú k dispozícii ľuďom rozvíjajúcim svoje zručnosti v oblasti testovania softvéru, pretože poskytuje bezplatný zdroj informácií, ktoré môžete použiť na rozvoj svojej techniky.
Niektoré z najlepších tutoriálov, ktoré si môžete pozrieť pri učení sa testovania čiernej skrinky, sú:
– „Black and White Box Testing Introduction – Georgia Tech – Software Development Process“ by Udacity
– „Black Box and Glass Box Testing“ od MIT OpenCourseWare
– „7 techník testovania čiernej skrinky, ktoré by mal poznať každý QA“ od The Testing Academy
– „Black Box Testing | Čo je Black Box Testing | Naučte sa Black Box Testing“ od Intellipaat
– „Čo je testovanie bielych a šedých a čiernych skriniek?“ od ITProTV
4. Ako udržiavať testy čiernej skrinky?
Udržiavanie testov čiernej skrinky, či už ide o manuálne alebo automatizované testy, spočíva v tom, že sa testom venuje pozornosť v priebehu ich vykonávania a v prípade problémov sa neustále hľadajú opravy.
To zahŕňa uistenie sa, že všetky testovacie prípady prebiehajú vždy tak, ako očakávate, a kontrolu, či automatizované nástroje vykonávajú všetky správne kroky. Robte to čo najčastejšie, aby ste zabránili poklesu svojich štandardov, pretože dobre udržiavaný test čiernej skrinky je taký, ktorý poskytuje čo najpresnejšie výsledky.
5. Najlepšie knihy o testovaní čiernej skrinky
Hoci je testovanie čiernych skriniek a testovanie softvéru ako celok neustále sa vyvíjajúcou oblasťou, existuje niekoľko kníh, ktoré sú stále aktuálne a ponúkajú množstvo poznatkov na zlepšenie vašej testovacej práce.
Medzi najlepšie knihy o testovaní čiernej skrinky patria:
– „Testovanie čiernej skrinky: Techniky funkčného testovania softvéru a systémov“ od Borisa Beizera
– „Testovanie softvéru: Srinivasan Desikan, Gopalaswamy Ramesh
– „Essentials of Software Testing“ by Ralf Bierig, Stephen Brown, Edgar Galván
– „Úvod do testovania softvéru“ Paul Ammann, Jeff Offutt