Testovanie kompatibility je neoddeliteľnou súčasťou mnohých stratégií zabezpečenia kvality, ktoré umožňujú spoločnostiam zistiť, či ich softvér funguje správne na rôznych platformách. Dokonca aj v prípade programu určeného výlučne pre stolové počítače je potrebné zohľadniť niekoľko hlavných operačných systémov a stovky, ak nie tisíce hardvérových rozdielov, ktoré môžu ovplyvniť stabilitu. Pochopenie procesu testovania kompatibility a jeho obvyklých výhod môže pomôcť zaručiť efektívne uvedenie produktu na trh, ktorý dokáže osloviť čo najväčšie publikum používateľov.
Hoci testovanie kompatibility môže priniesť množstvo výhod, existuje aj množstvo významných výziev, ktoré musí tím testujúcich softvéru prekonať, aby maximalizoval potenciál tejto techniky. Existujú aj špecifické postupy, ktoré by tieto oddelenia mali používať, aby dosiahli najlepšie výsledky a zabezpečili komplexné celkové pokrytie testami.
V tomto článku sa bližšie pozrieme na testovanie kompatibility vrátane základných krokov, ktoré musia tímy dodržiavať, ako aj na najužitočnejšie testovacie nástroje, ktoré sú v súčasnosti k dispozícii.
Čo je testovanie kompatibility v
testovanie a inžinierstvo softvéru?
Testovanie kompatibility skúma softvér v rôznych zariadeniach, hardvéri a firmvéri, aby sa zabezpečilo, že bude fungovať podľa očakávaní tímu. Každý používateľ sa môže zapojiť do svojho programu na novom zariadení, a preto je dôležité, aby spoločnosť mohla zaručiť, že všetci budú mať podobný zážitok. Testy kompatibility môžu napríklad zahŕňať kontrolu každej funkcie aplikácie, aby sa zabezpečilo, že funguje v každom hlavnom operačnom systéme.
Bez dôkladného testovania kompatibility je celkom možné, že spoločnosť vydá aplikáciu, ktorá nebude fungovať pre niektoré populárne zariadenia. Tieto kontroly musia byť úplne komplexné, pretože problém môže vzniknúť rôznymi spôsobmi – táto aplikácia napríklad nemusí fungovať s veľmi špecifickým typom grafickej karty. Ak sa testovanie spojí s inými formami testovania softvéru, tímy zabezpečujúce kvalitu sa môžu uistiť, že ich program je pripravený na vydanie.
1. Kedy a prečo je potrebné vykonať testovanie kompatibility mobilných aplikácií, webových stránok, systémov a rôznych prehliadačov?
Spoločnosti vykonávajú testovanie kompatibility vo fáze testovania softvéru, konkrétne keď majú k dispozícii “stabilnú” verziu programu, ktorá presne odráža, ako sa bude správať pre zákazníkov. Pokračuje po alfa testovaní, akceptačnom testovaní a iných formách testovania, ktoré často hľadajú všeobecné problémy týkajúce sa stability a funkcií. Ak sa aplikácia počas fázy testovania kompatibility stretne s problémami, zvyčajne sú to špecifické problémy súvisiace s kompatibilitou. Príliš skoré spustenie týchto kontrol môže spôsobiť, že sa stanú zbytočnými, pretože drobné zmeny v neskoršej fáze vývojového cyklu programu môžu radikálne ovplyvniť kompatibilitu.
Testovanie kompatibility prehliadačov a softvéru je dôležité, pretože pomáha spoločnostiam vydať aplikáciu, o ktorej vedia, že bude fungovať primerane prakticky na každom možnom zariadení. Napríklad testovanie kompatibility medzi prehliadačmi pomáha zabezpečiť, aby používatelia prehliadača Opera mali rovnaké skúsenosti ako používatelia prehliadača Firefox a iných hlavných prehliadačov. Tím zvyčajne testuje toľko variantov hardvéru/softvéru, koľko mu čas a rozpočet dovolí. To znamená, že musia inteligentne uprednostniť systémy alebo prehliadače, ktoré budú ich zákazníci pravdepodobne používať, čo im umožní zaručiť široké pokrytie testovania a životaschopný produkt.
2. Keď nepotrebujete vykonať testovanie kompatibility softvéru
Spoločnosti môžu vytvoriť aplikáciu na mieru pre konkrétny operačný systém alebo model, čím sa výrazne obmedzí počet potrebných kontrol. Testovanie kompatibility medzi prehliadačmi pri testovaní softvéru by mohlo byť zbytočné, ak tento program napríklad nevyžaduje prehliadač. Čas by mohol byť tiež vážnym faktorom, ktorý by mohol ovplyvniť schopnosť spoločnosti vykonať tieto testy, hoci testovacie tímy by sa aj tak mali snažiť zaručiť, že hlavné systémy a prehliadače sú kompatibilné so softvérom. Existujú aj určité projekty, ktoré nemôžu využívať základné testy kompatibility.
3. Kto sa podieľa na testovaní kompatibility?
Tu sú hlavné osoby, ktoré vykonávajú testovanie kompatibility pri testovaní softvéru:
1. Vývojári
Vývojový tím počas vývoja kontroluje výkon aplikácie na jednej platforme, ktorá môže byť dokonca jediným zariadením, na ktorom chce spoločnosť program vydať.
2. Testery
Tímy zabezpečenia kvality, či už v rámci spoločnosti, alebo externe najaté, v rámci fázy testovania kompatibility aplikácie skontrolujú mnoho možných konfigurácií vrátane všetkých hlavných operačných systémov a prehliadačov.
3. Zákazníci
Zákazníci spoločnosti môžu mať hardvér alebo konfigurácie, ktoré tím nemohol dôkladne otestovať, takže ich používateľská skúsenosť môže byť prvou skutočnou kontrolou konkrétneho nastavenia.
Výhody testovania kompatibility
Medzi obvyklé výhody testovania kompatibility softvéru patria:
1. Širšie publikum
Čím dôkladnejšie tím testuje svoj softvér, tým viac zariadení môže bez obáv vydať, čím sa zabezpečí, že jeho aplikáciu bude môcť využívať široké publikum na mnohých platformách. To umožňuje spoločnostiam získať väčší predaj produktov v programe a môže tiež zvýšiť počet pozitívnych recenzií, ktoré tento softvér dostáva od používateľov.
2. Zlepšuje stabilitu
Testovanie kompatibility pri testovaní softvéru je nevyhnutné na odhalenie problémov so stabilitou a výkonom, ktoré môžu byť často výraznejšie na rôznych zariadeniach – najmä ak vývojári navrhli aplikáciu len pre jednu platformu. Test kompatibility systému ukazuje spoločnosti, aký celkový výkon môžu používatelia (na širokom spektre zariadení) od softvéru očakávať.
3. Spresňuje vývoj
Tieto testy majú tiež významný dlhodobý vplyv na vývojový tím. Napríklad testovanie kompatibility mobilných zariadení môže poskytnúť cenné informácie o vývoji aplikácií, ktoré môžu podniky zohľadniť pri vytváraní ďalších programov. To môže výrazne znížiť náklady na testy kompatibility pri budúcich projektoch a umožniť im opätovné využitie skúseností získaných z tohto procesu.
4. Overuje ostatné testy
Väčšina doterajších foriem testovania má obmedzený rozsah a netestuje všetky možné kombinácie hardvéru alebo softvéru – tieto testy by mohli tieto výsledky účinne zdvojiť. Testovanie kompatibility medzi prehliadačmi napríklad potvrdzuje predchádzajúce fázy zabezpečenia kvality tým, že ukazuje, že výsledky sú rovnaké, keď má používateľ iný prehliadač.
5. Znižuje náklady
Testovanie kompatibility môže tiež znížiť náklady na súčasný program, pretože pomáha tímom identifikovať problémy ešte predtým, ako sa aplikácia dostane do verejnej verzie – v tomto bode sa oprava chýb stáva drahšou. Čím rozmanitejšie sú testy tímu (a čím vyššia je miera pokrytia testami), tým lacnejšie je odstrániť všetky chyby, keď sa objavia.
Výzvy testovania kompatibility
Tu sú uvedené bežné problémy, ktorým môžu spoločnosti čeliť pri implementácii testovania kompatibility pri testovaní softvéru:
1. Obmedzený čas
Hoci automatizačné nástroje a iné riešenia môžu výrazne urýchliť testy kompatibility simuláciou celého radu zariadení, tento proces musí byť stále v súlade s harmonogramom vývoja spoločnosti. To znamená, že testovací tím musí uprednostniť najbežnejšie zariadenia a prehliadače, aby sa zaručilo, že sa dostane k najširšiemu (a najpočetnejšiemu) publiku.
2. Nedostatok skutočných zariadení
Tieto kontroly bežne zahŕňajú virtuálne stroje, ktoré simulujú komponenty a podmienky skutočných zariadení; je to oveľa lacnejšie (a rýchlejšie) ako samostatné obstaranie príslušných častí a platforiem. To však môže ovplyvniť presnosť týchto výsledkov, najmä preto, že výkon často závisí od toho, ako používatelia ovládajú skutočné zariadenie.
3. Ťažké zabezpečenie do budúcnosti
Testovanie kompatibility sa môže týkať len platforiem, ktoré už existujú; to znamená, že nemôže zaručiť, že aplikácia bude fungovať podľa očakávaní na budúcich verziách systémov Windows a Google Chrome. Organizácie sú schopné opraviť to až po spustení, čo je často drahšie, a aplikácia môže byť v dôsledku toho nakoniec zastaraná.
4. Údržba infraštruktúry
Ak sa tím rozhodne kontrolovať značné množstvo platforiem interne, môže to mať za následok vysoké poplatky za infraštruktúru. Testovanie kompatibility mobilných aplikácií by napríklad mohlo zahŕňať obstaranie niekoľkých skutočných mobilných zariadení. Hoci je to presnejšie ako simulované testovanie kompatibility hardvéru, je to nákladné a zvyčajne to vyžaduje pravidelnú údržbu.
5. Vysoký počet kombinácií
Testovanie kompatibility zohľadňuje mnoho vzájomne sa prelínajúcich faktorov, ako je operačný systém, prehliadač, hardvér, firmvér a dokonca aj rozlíšenie obrazovky. Aj keď má testovací tím veľa času, bolo by prakticky nemožné zohľadniť všetky možnosti. Testovanie konfigurácie a kompatibility musí opäť uprednostniť najpravdepodobnejšie kombinácie zariadení.
Charakteristika testovania kompatibility
Medzi hlavné charakteristiky testov kompatibility patria:
1. Dôkladné
Tieto kontroly musia byť schopné izolovať všetky možné problémy s kompatibilitou, ktoré sa vyskytnú medzi zariadeniami, inak by tím mohol vydať chybný program. Tieto kontroly musia napríklad zabezpečiť, aby sa každá funkcia aplikácie vykresľovala podľa očakávania bez ohľadu na rozlíšenie obrazovky používateľa.
2. Expanzívne
Testy by mali zachovávať rovnováhu medzi hĺbkou a rozsahom a pomáhať tímom skúmať množstvo problémov v mnohých konfiguráciách zariadení. Pri testovaní kompatibility medzi prehliadačmi sa skúma široká škála kombinácií operačných systémov a prehliadačov, čím sa zabezpečuje vysoká úroveň pokrytia – niekedy s pomocou automatizovaného riešenia.
3. Obojsmerný
Tento proces zahŕňa testovanie spätnej aj doprednej kompatibility; vďaka testovaniu spätnej kompatibility tím zistí, ako bude jeho aplikácia fungovať na staršom hardvéri. Tá umožňuje tímu prístup k najmodernejším platformám, čo mu pomáha zaručiť úspešnú dlhodobú výkonnosť, aj keď sú jeho možnosti zabezpečenia budúcnosti pomerne obmedzené.
4. Opakovateľné
Problémy, ktoré tieto kontroly odhalia, musia byť ľahko opakovateľné pre ostatných testerov a oddelenia – musia ukazovať, že odrážajú chyby, s ktorými sa používatelia pravdepodobne stretnú. Ak test kompatibility webovej stránky ukáže, že konkrétne funkcie nefungujú v určitom prehliadači, opakovateľnosť pomôže vývojárom vyriešiť problém.
Typy testovania kompatibility
Hlavné typy testovania kompatibility sú tieto:
1. Testovanie spätnej kompatibility
Testovanie spätnej kompatibility zahŕňa kontrolu aplikácie pomocou starších verzií súčasného hardvéru – to je nevyhnutné, pretože obmedzenie týchto kontrol na moderné zariadenia môže výrazne obmedziť počet používateľov. Mnoho ľudí stále používa staršie operačné systémy, ako je napríklad Windows 8.
2. Testovanie kompatibility dopredu
Testovanie kompatibility do budúcnosti je podobné, ale namiesto toho sa zameriava na moderné alebo pripravované technológie, aby sa zistilo, či aplikácia bude pravdepodobne fungovať aj niekoľko rokov napriek pokroku a aktualizáciám. Bez týchto testov môže softvér prestať fungovať napríklad aj pri ďalšej aktualizácii prehliadača.
3. Testovanie kompatibility prehliadačov
Testy kompatibility webových stránok s prehliadačmi zabezpečujú, aby webová aplikácia alebo stránka fungovala v rôznych prehliadačoch; to je veľmi dôležité, pretože používajú rôzne motory rozvrhnutia. Tímy zabezpečenia kvality dokonca testujú kompatibilitu medzi prehliadačmi, čo znamená, že kontrolujú, či každý prehliadač dokáže pracovať s aplikáciou v rôznych operačných systémoch.
4. Testovanie kompatibility mobilných zariadení
Testovanie mobilných aplikácií je podobný proces ako kontrola desktopových a webových aplikácií, najmä preto, že ďalším kľúčovým faktorom je operačný systém telefónu. Napríklad aplikácie pre Android a iOS sa dodávajú v úplne odlišných formátoch a vyžadujú si úplne odlišný proces vývoja a testovania, aby sa prispôsobili obom formátom.
5. Testovanie kompatibility hardvéru
Tieto kontroly sa zameriavajú na konkrétne komponenty, z ktorých sa stroj skladá, a na to, ako môžu ovplyvniť program; to je dôležité prakticky pre akýkoľvek typ zariadenia. Počítač môže mať napríklad grafickú kartu, ktorá nedokáže úspešne vykresliť rozhranie webovej aplikácie.
6. Testovanie kompatibility zariadení
Niektoré aplikácie sa pripájajú k externým zariadeniam prostredníctvom Bluetooth, širokopásmového alebo káblového pripojenia. Aplikácia sa môže napríklad potrebovať pripojiť k tlačiarni. Cieľom týchto testov je zabezpečiť, aby program spolupracoval s vlastnými pripojeniami platformy a všetkými zariadeniami, ku ktorým má prístup.
7. Testovanie kompatibility siete
Ak aplikácia vyžaduje na spustenie sieťovú funkciu – napríklad pripojenie k online databáze prostredníctvom servera spoločnosti – vyžaduje si to početné kontroly kompatibility. Tým sa zabezpečí, že program bude môcť bežať vhodnou rýchlosťou pri pripojení k sieti Wi-Fi, 4G alebo 3G.
Čo testujeme v testoch kompatibility?
Tester kompatibility zvyčajne kontroluje:
1. Výkonnosť
Jedným z hlavných účelov testovania kompatibility je zabezpečiť stabilitu, pretože niektoré aspekty aplikácie môžu byť úplne nekompatibilné s bežnými platformami. Pri skúmaní celkovej odozvy tohto programu testovací tím zabezpečuje, aby na niektorých zariadeniach nedochádzalo k závažným pádom.
2. Funkčnosť
Testovanie kompatibility tiež kontroluje všeobecné vlastnosti a funkcie aplikácie, aby sa zabezpečilo, že softvér dokáže poskytovať správne výsledky. Napríklad systém riadenia vzťahov so zákazníkmi nemusí byť schopný ponúknuť údaje o predaji alebo všeobecnú analýzu používateľom so zastaraným operačným systémom.
3. Grafika
Niektoré prehliadače alebo zariadenia môžu mať problémy s vykresľovaním určitých grafických prvkov z rôznych dôvodov – s tým vám môže pomôcť kontrola kompatibility. Program môže byť schopný fungovať len pri určitom rozlíšení obrazovky, pokiaľ vývojári nezmenia spôsob, akým program zobrazuje svoj obsah.
4. Pripojenie
Testy kompatibility sa zameriavajú aj na to, ako sa program konkrétne integruje so zariadením používateľa aj s vlastnou databázou, čo mu umožňuje zistiť zariadenia, ako sú napríklad tlačiarne. Tieto kontroly môžu napríklad odhaliť, že aplikácia sa nedokáže pripojiť k vlastnej databáze v sieťach 3G.
5. Všestrannosť
Tieto kontroly zabezpečujú, aby aplikácia spoločnosti bola dostatočne univerzálna na to, aby fungovala na starých a nových verziách toho istého operačného systému prostredníctvom testov spätnej a doprednej kompatibility. Tým sa zabezpečí, že používatelia nebudú zablokovaní v programe, ak je ich softvér niekoľko rokov zastaraný.
Typy výstupov z testov kompatibility
Tri hlavné výstupy testov kompatibility sú:
1. Výsledky testov
Najbežnejším výstupom týchto kontrol sú samotné výsledky, ktoré môžu mať rôzne podoby. Testovanie kompatibility prehliadačov môže napríklad odhaliť, že webová aplikácia spôsobuje únik pamäte v prehliadači Microsoft Edge, zatiaľ čo tá istá aplikácia nemá žiadne negatívne účinky v prehliadačoch Chrome. Prípadne by aplikácia mohla na príslušných platformách fungovať presne tak, ako tím očakáva.
2. Testovacie protokoly
Výsledky testov sa prejavujú aj vo forme vlastných protokolov aplikácie, ktoré prostredníctvom chybových hlásení upozorňujú na všetky zistené problémy so softvérom. Tieto protokoly môžu dokonca identifikovať konkrétnu časť programu, ktorá spôsobuje túto chybu. Najmä pri testovaní kompatibility musia byť testeri oboznámení s tým, ako sa tieto protokoly prejavujú a prezentujú na rôznych platformách.
3. Testovacie prípady
Testovacie prípady kompatibility stanovujú, ktoré testy tím vykoná, a ponúkajú priestor na zaznamenanie výsledkov v jednoduchom formáte. Testeri by mali využiť svoje znalosti softvéru v spojení s výsledkami a protokolmi na identifikáciu príčiny problému. Čím viac informácií poskytnú, tým rýchlejšie môžu vývojári začať opravovať chyby.
Typy zistených chýb
prostredníctvom testovania kompatibility
Tu sú najčastejšie chyby, ktoré dokážu testy kompatibility identifikovať:
1. Škálovanie rozloženia
Test kompatibility webových stránok môže ukázať, či sa prvky, ktoré tvoria webovú aplikáciu alebo dokonca webové stránky, prispôsobujú zariadeniu používateľa, konkrétne rozlíšeniu a veľkosti jeho obrazovky. V dôsledku toho môžu byť niektoré grafické prvky v konkrétnych prehliadačoch ťažko viditeľné.
2. Zlyhanie softvéru
Testy kompatibility uľahčujú zistiť, či je aplikácia vôbec schopná bežať na niektorých platformách. Vývojár hry by napríklad mohol zistiť minimálne systémové požiadavky svojho produktu tak, že by skontroloval, ktoré zariadenia po spustení hry testermi spadnú kvôli nedostatočnej pamäti RAM a rýchlosti procesora.
3. Problémy s validáciou HTML/CSS
Rôzne prehliadače a zariadenia čítajú kód rôznymi spôsobmi – niektoré automaticky opravujú jednoduché preklepy, ako napríklad nesprávne uzavretie značky HTML. Testovanie kompatibility s prehliadačom môže odhaliť prípady neplatného CSS, ktoré bránia aplikácii generovať jej obsah a dokonca aj základné funkcie.
4. Chyby pri prehrávaní videa
Mnohé moderné prehrávače videa využívajú HTML5 na streamovanie videí online, čo môže byť kľúčovou súčasťou webovej aplikácie spoločnosti. Tímy, ktoré kontrolujú kompatibilitu webových prehliadačov, však môžu zistiť, že funkcie videa v ich aplikácii nie sú kompatibilné so zastaranými prehliadačmi.
5. Zabezpečenie súborov
Testovanie kompatibility v softvérovom inžinierstve môže odhaliť aj problémy so zabezpečením súborov a ich rozdiely medzi jednotlivými zariadeniami. Napríklad novšie verzie systému Windows majú robustnejšie zabezpečenie vstupu a výstupu. To môže viesť k tomu, že aplikácia (napríklad antivírusový softvér) bude mať problémy s prístupom k súborom zariadenia.
Proces testovania kompatibility
Obvyklé kroky testovania kompatibility sú:
1. Zostavte plán testovania
Pri testovaní kompatibility je veľmi dôležitý komplexný plán testovania, na ktorý sa môže tím zabezpečenia kvality v prípade potreby odvolávať počas kontrol. Napríklad sa v ňom podrobne uvedú zariadenia, ktoré budú testovať, a kritériá na ich úspešné alebo neúspešné testovanie; musia tiež stanoviť, či budú používať automatizáciu robotických procesov.
2. Konfigurácia testovacích prípadov
Podobne dôležité sú aj testovacie prípady, ktoré podrobne opisujú konkrétne kontroly kompatibility, ktoré tímy vykonávajú, a konkrétne zariadenia, s ktorými pracujú. Obsahuje aj presné kroky, ktoré testeri vykonajú, a dostatok priestoru na zaznamenanie výsledkov a všetkých informácií, ktoré pomôžu vývojárom pri presadzovaní kompatibility.
3. Vytvorenie testovacieho prostredia
Izolované a nezávislé testovacie prostredie bez vonkajších vplyvov je potrebné na zabezpečenie presných testov, ktoré tiež umožní tímu zabezpečenia kvality identifikovať, odkiaľ pochádzajú problémy, ktoré odhalia. Okrem toho môžu testeri vykonávať kontroly aplikácie bez toho, aby akokoľvek ohrozili “skutočnú” verziu.
4. Vykonanie testov
Po úplnej príprave testovacích prípadov a prostredia môže tím začať s testovaním kompatibility – aj v prípade automatizovaného riešenia má na to len obmedzený čas. Testeri budú musieť uprednostniť najbežnejšie operačné systémy a konfigurácie zariadení, aby to zohľadnili, a zabezpečiť široké pokrytie testov napriek týmto obmedzeniam.
5. Opakovaný test
Po dokončení testov a získaní testovacích prípadov vývojári upravia aplikáciu tak, aby sa zlepšila jej kompatibilita, hoci to nemusí byť možné pre všetky zariadenia. Testeri potom aplikáciu opätovne skontrolujú a overia, či problémy, ktoré predtým odhalili, už nie sú prítomné a či sa nevyskytli nové závažné chyby.
Spoločné metriky testovania kompatibility
Tu sú niektoré bežné metriky používané pri testoch kompatibility:
1. Šírka pásma
Testy sieťovej kompatibility merajú, ako aplikácia spolupracuje s rôznymi sieťami vrátane širokopásmových a mobilných dátových sietí. Minimálna šírka pásma potrebná na to, aby program mohol vykonávať svoje bežné úlohy a pripojiť sa k podnikovej databáze, môže byť príliš vysoká napríklad pre priemerné pripojenie 3G.
2. Využitie CPU
Jedným zo spôsobov, ako sa problémy s výkonom prejavujú, je neprimerane vysoké využitie procesora – to môže znamenať, že zariadenie jednoducho nespĺňa minimálne požiadavky programu. Problémy s procesorom môžu ovplyvniť aj čas odozvy aplikácie, obmedziť jej funkčnosť a spôsobiť dostatočné oneskorenie, ktoré používateľov odradí.
3. Škála použiteľnosti systému
Škála použiteľnosti systému je bežný spôsob merania subjektívnych detailov programu, ktorý obsahuje desať základných otázok o použiteľnosti aplikácie. Výsledné skóre SUS je 100 bodov a môže sa líšiť v závislosti od platformy v dôsledku grafických chýb.
4. Celkový počet chýb
Táto metrika je konštantná pre väčšinu typov testovania a umožňuje testerom pochopiť aktuálny stav programu. Tím môže tiež porovnávať celkové počty chýb medzi rôznymi platformami. Týmto spôsobom môžu testeri upozorniť na chyby, ktoré sú spôsobené nekompatibilitou.
5. Skóre SUPRQ
Podobne ako skóre SUS aplikácie, aj dotazník Standardized User Experience Percentile Rank Questionnaire je spôsob, akým testeri hodnotia aplikáciu na základe niekoľkých kľúčových faktorov vrátane použiteľnosti a vzhľadu. To im pomáha identifikovať, aké problémy môžu mať zákazníci s používaním aplikácie na určitých zariadeniach.
7 chýb a nástrah pri implementácii testov kompatibility
Tu je sedem zásadných chýb, ktorých sa treba vyvarovať pri testovaní kompatibility:
1. Nedostatok skutočných zariadení
Hoci by bolo nemožné testovať na všetkých možných kombináciách zariadení, testovací tím môže mať prospech z používania čo najväčšieho počtu skutočných zariadení, ktoré môže získať. Rôzne platformy ponúkajú “skutočné” zariadenia prostredníctvom cloudových riešení s cieľom uľahčiť testovanie kompatibility medzi prehliadačmi spôsobom, ktorý môže odrážať prirodzený výkon.
2. Vyhýbanie sa starším zariadeniam
Mnohí používatelia stále pristupujú k svojim aplikáciám na starších verziách systému Windows alebo iOS; úplné zameranie sa na nové verzie populárnych zariadení a operačných systémov by mohlo obmedziť dosah produktu. Ak tím nerozšíri svoje testy na “zastarané” zariadenia, značná časť publika môže mať problém s používaním programu.
3. Nesprávne riadenie času
Často sa vyskytuje veľké množstvo zariadení a konfigurácií, ktoré si vyžadujú test kompatibility, čo znamená, že tím musí hospodáriť s časom, aby ich skontroloval čo najviac. Je to dôležité, pretože testy zvyčajne prebiehajú ešte na konci vývoja; nesprávne riadenie by mohlo počet kontrol výrazne obmedziť.
4. Nesprávne plánovanie
Rovnako je veľmi dôležité, aby tímy zabezpečili, že tieto testy vykonajú v primeranej fáze vývoja programu, najlepšie po alfa testovaní a väčšine foriem funkčného testovania. Vďaka tomu je ľahšie zistiť, či je problém všeobecnou chybou alebo sa týka len zariadení, ktoré tím skúma.
5. Nezohľadnenie rozlíšenia obrazovky
Rozlíšenie obrazovky môže byť oveľa väčším faktorom kompatibility, než si mnohé testovacie tímy uvedomujú – najmä preto, že je prispôsobiteľné a ovplyvňuje spôsob, akým zariadenie zobrazuje grafické prvky. Aj napriek blížiacemu sa termínu testov kompatibility je dôležité, aby sa testovacie tímy snažili zohľadniť túto skutočnosť vo svojej stratégii.
Nedostatok odborných znalostí
Testeri musia byť vysoko kvalifikovaní, aby okrem mnohých iných foriem, ktoré tieto testy môžu mať, dokázali skontrolovať kompatibilitu webových stránok, prehliadačov a softvéru. Ak vedúci testovania poverí jedného z členov svojho tímu vykonávaním kontrol kompatibility a ten nemá dostatočné skúsenosti, môže to spomaliť testy a obmedziť ich presnosť.
6. Žiadna predchádzajúca diskusia
Vzhľadom na to, že testy kompatibility sú často časovo náročné (a potenciálne si vyžadujú širokú škálu zariadení), musia tímy v plnej miere stanoviť rozsah svojich kontrol už vo fáze zabezpečenia kvality. Napríklad musia mať jasnú predstavu o tom, ktoré konkrétne zariadenia alebo konfigurácie chcú testovať ešte pred začatím kontroly.
Osvedčené postupy testovania kompatibility
Medzi najlepšie spôsoby zabezpečenia vysokokvalitných testov kompatibility patria:
1. Testovanie počas celého vývoja
Keďže sa softvér z týždňa na týždeň výrazne mení, môže to ovplyvniť kompatibilitu programu s určenými zariadeniami. Tímy musia opakovane vykonávať testovanie softvéru a kompatibility medzi prehliadačmi, aby sa uistili, že aplikácia aj po vývojových zmenách na týchto platformách dobre funguje.
2. Používajte skutočné zariadenia
Niektoré nástroje na testovanie kompatibility ponúkajú prístup k “skutočným” simulovaným zariadeniam, ktoré sa dokážu veľmi podobať skúsenostiam používateľa s danou platformou. To vám umožní zabezpečiť kompatibilitu s viacerými zariadeniami a zároveň zachovať vysokú úroveň presnosti, ktorá nie je prítomná v niektorých automatizovaných riešeniach.
3. Stanovenie priorít testov
Vzhľadom na obmedzené množstvo času na vykonanie týchto kontrol môžu testeri kompatibility uprednostniť najbežnejšie zariadenia, prehliadače a operačné systémy. Podobne by mal testovací tím najprv skontrolovať najkritickejšie funkcie softvéru, aby sa zaručila základná funkčnosť na týchto zariadeniach.
4. Integrácia agilných techník
Niektoré spoločnosti sa pri testovaní kompatibility rozhodnú pre prístup založený na šprintoch, čo im umožní ľahko dosiahnuť míľniky testovania – napríklad skontrolovať určitý počet zariadení. Agile podporuje komunikáciu medzi jednotlivými oddeleniami a zároveň poskytuje stanovenú štruktúru testov, ktorá môže zaručiť konzistentné a rýchle zlepšovanie.
5. Obmedziť rozsah testovania
Tímy zabezpečujúce kvalitu musia vedieť, kedy ukončiť svoje testy a dokonca akceptovať prípad nekompatibility. V tomto prípade by vývojár nemusel meniť softvér a namiesto toho by mohol zmeniť minimálne požiadavky, ak by bolo príliš ťažké obísť ich prostredníctvom opravy chýb.
Príklady prípadov a scenárov testov kompatibility
Testovacie prípady kompatibility stanovujú vstupy testovacieho tímu, stratégiu testovania a očakávané výsledky, ktoré sa porovnávajú so skutočnými výsledkami. Keďže kontroly sa týkajú mnohých zariadení a konfigurácií, často ide o rozsiahly proces.
Tieto prípady zvyčajne zahŕňajú:
– Otestujte správne zobrazenie HTML webovej aplikácie.
– Skontrolujte, či je kód JavaScript softvéru použiteľný.
– Skontrolujte, či aplikácia funguje v rôznych rozlíšeniach.
– Otestujte, či má program prístup k adresáru so súbormi.
– Uistite sa, že sa aplikácia pripája ku všetkým použiteľným sieťam.
Tu sú uvedené konkrétne príklady testovania kompatibility pri testovaní softvéru pre rôzne programy:
1. Aplikácia sociálnej siete
Sociálne siete majú bežne podobu webových aplikácií v prehliadačoch a mobilných aplikácií pre príslušné zariadenia; oba typy si vyžadujú rovnako dôkladné testovanie. Napríklad táto mobilná aplikácia musí byť plne funkčná minimálne na zariadeniach so systémami iOS a Android – tím musí skontrolovať staré a nové zariadenia pod každým operačným systémom. Ak napríklad konkrétny model iPhonu nedokáže vykresľovať animované súbory GIF, tím musí zistiť, čo to spôsobuje, aby sa zabezpečila konzistentná používateľská skúsenosť.
2. Videohra
Videohry zvyčajne ponúkajú prispôsobiteľné grafické možnosti, ktoré si používatelia môžu zmeniť tak, aby vyhovovali ich počítaču; to zahŕňa ovládanie rozlíšenia obrazovky a zabezpečenie vhodného škálovania používateľského rozhrania. V závislosti od konkrétneho hardvéru hráča sa môžu objaviť určité problémy – chyby antialiasingu vedú k zrnitej grafike. Môže to byť spôsobené bežnou grafickou kartou, ktorá nie je kompatibilná s vykresľovaním textúr spoločnosti. V závislosti od presného problému sa to môže prejaviť aj ako pád systému pri spustení hry na určitých zariadeniach.
3. Cloudový systém CRM
Riešenia na riadenie vzťahov so zákazníkmi vo veľkej miere využívajú databázy na získavanie informácií o svojich transakciách, dodávateľoch a ďalších dôležitých aspektoch podnikania, najmä pomocou cloudového úložiska. Testeri by sa mali uistiť, že táto databáza a jej cloudové služby fungujú v rôznych sieťach vrátane 3G a 4G, ak k nej používateľ potrebuje pristupovať bez pripojenia na internet. Tím musí tiež skontrolovať širokú škálu operačných systémov, pretože niektoré chyby sa môžu objaviť napríklad len v zariadeniach so systémom Linux.
Manuálne alebo automatizované testy kompatibility?
Automatizácia by mohla byť veľmi užitočná pri testoch kompatibility, pretože umožňuje tímom skontrolovať veľký počet zariadení oveľa rýchlejšie ako manuálny prístup. Manuálne testovanie však môže byť vhodnejšie, ak sa kontrola vykonáva v obmedzenom počte prehliadačov a zariadení – napríklad videohra je dostupná len na dvoch platformách. Použiteľnosť softvéru je často kľúčovým faktorom pri testoch kompatibility a zvyčajne si vyžaduje ľudský pohľad, ktorý dokáže lepšie identifikovať problémy s grafickým vykresľovaním. Automatizácia robotických procesov môže v tomto smere pomôcť implementáciou softvérových robotov, ktorí dokážu ľahšie napodobniť prístup ľudského používateľa k testom kompatibility.
V prípade programov určených pre širokú škálu zariadení, ako sú mobilné a webové aplikácie, umožňuje automatizácia tímu zabezpečiť širšie pokrytie testov. Mohli by dokonca použiť hyperautomatizáciu na inteligentné outsourcovanie týchto kontrol spôsobom, ktorý by stále zabezpečil, aby testeri kontrolovali tieto platformy z hľadiska funkčnosti špecifickej pre používateľa. Testovanie kompatibility v rámci manuálneho testovania je stále povinné pri niektorých úlohách – napríklad pri kontrole správneho zobrazenia používateľského rozhrania na každom zariadení. To znamená, že najlepším prístupom by mohla byť zmiešaná stratégia, ktorá môže testovať celkovo viac zariadení prostredníctvom automatizácie, čím sa zvýši ich rýchlosť a zároveň sa zohľadní význam použiteľnosti.
Čo potrebujete na začatie testovania kompatibility?
Medzi hlavné predpoklady testovania kompatibility zvyčajne patria:
1. Kvalifikovaný testovací personál
Na testerov kompatibility sa vo všeobecnosti kladú vyššie požiadavky na zručnosti ako na iné formy zabezpečenia kvality, pretože kontrolujú širší rozsah zariadení a často sa stretávajú s väčším počtom chýb. To môže zahŕňať riešenie problémov, komunikáciu a pozornosť k detailom. Vedúci tímov by mali prideliť testerov, ktorí majú skúsenosti so skúmaním tej istej aplikácie na mnohých platformách.
2. Silná emulácia zariadenia
Môže byť ťažké získať a otestovať každé fyzické zariadenie v rámci tímu, preto je emulácia nevyhnutná na zistenie, ako rôzne platformy reagujú na rovnaký program. Tento proces je zriedkakedy dokonalý a testeri musia preskúmať množstvo dostupných emulátorov a automatizovaných testovacích nástrojov, aby zistili, ktorý z nich ponúka najväčšiu presnosť.
3. Jasný rozsah testovania
Tím by mal mať pred začatím kontroly prehľad o svojom rozsahu, najmä preto, že by to mohlo rozhodnúť o tempe jeho práce. Hoci cieľom programu môže byť pokrytie mnohých platforiem, testeri by mali určiť vhodný hraničný bod. Napríklad testovanie operačných systémov vydaných pred Windows 7 môže viesť k znižovaniu návratnosti.
4. Riadenie času
Testovanie kompatibility sa môže uskutočniť v ktoromkoľvek bode fázy zabezpečenia kvality, ale zvyčajne sa ponecháva na koniec vývoja – keď je program stabilný a má všetky funkcie. Testeri by však mali zvážiť kompatibilitu oveľa skôr, pretože je to často časovo náročné. Dôkladné plánovanie vopred pomáha tímu zabezpečiť dostatok času na každú kontrolu.
Testovanie kompatibility
kontrolný zoznam, tipy a triky
Tu sú ďalšie tipy, ktoré musia mať tímy zabezpečujúce kvalitu na pamäti pri vykonávaní testov kompatibility:
1. Nezamerajte sa na absolútne pokrytie
Hoci sa každá stratégia testovania zameriava na maximalizáciu pokrytia testami, zvyčajne sa zastaví pred dosiahnutím 100 % z dôvodu klesajúcej návratnosti s len malým zlepšením pre veľmi málo používateľov. V súvislosti s kompatibilitou by tímy mali pochopiť, kedy by zariadenie používalo príliš málo ich zákazníkov na to, aby tieto kontroly mali zmysel.
2. Uprednostňovanie kombinácií medzi prehliadačmi
Testovanie kompatibility medzi prehliadačmi zahŕňa kontrolu každého prehliadača v rôznych operačných systémoch. Testeri musia využívať komplexné analytické údaje o svojom publiku, aby zistili, ktoré z nich je najobľúbenejšie, a podľa toho sa riadiť. Mohli by dokonca vypracovať maticu kompatibility prehliadačov, ktorá by stanovila rozsah týchto kontrol a ich rôzne konfigurácie.
3. Overenie rozloženia
Základom testovania kompatibility je zabezpečenie konzistentného zážitku a tieto kontroly musia byť hlbšie než len zisťovanie, či funkcie programu fungujú na rôznych zariadeniach. Tímy by mali overiť aj celkové rozloženie softvéru vrátane zarovnania všetkých formulárov alebo tabuliek, ako aj integritu CSS a HTML programu.
4. Kontrola rozhraní API
Rozhrania pre programovanie aplikácií sú základným prvkom čítania aplikácií v prehliadačoch, preto sú pre tím veľmi dôležité pri testovaní kompatibility medzi prehliadačmi. Rôzne webové prehliadače majú vlastné volania API a ich aktualizácie v priebehu času môžu ovplyvniť kompatibilitu. Testeri ich musia pravidelne kontrolovať, a to aj v prípade, že spoločnosť používa podobné API pre každý program.
5. Preskúmajte certifikát SSL
Certifikáty SSL zvyšujú bezpečnosť prehliadača – šifrujú webovú prevádzku a umožňujú používateľom využívať protokoly HTTPS. Webová lokalita alebo webová aplikácia môže mať certifikát, ktorý nie je kompatibilný s niektorými prehliadačmi. To znamená, že testeri by mali overiť certifikát na všetkých hlavných platformách, aby sa používatelia na ich webovej lokalite cítili bezpečne.
6. Overenie prehrávačov videa
Programy, ktoré zobrazujú videá, ako sú napríklad streamovacie služby alebo bezplatné mobilné hry podporované reklamami, by sa mali podrobiť testovaniu, aby sa zabezpečilo zobrazenie týchto videí na všetkých zamýšľaných zariadeniach. V prípade mnohých aplikácií budú tieto kontroly zahŕňať počítačové aj mobilné zariadenia a mohli by sa týkať kvality, rýchlosti a snímkovej frekvencie videa.
5 najlepších nástrojov a softvéru na testovanie kompatibility
Medzi najúčinnejšie bezplatné a platené nástroje na testovanie kompatibility patria:
1. ZAPTEST Free & Enterprise Edition
ZAPTEST ponúka vynikajúcu funkčnosť vo svojich bezplatných aj platených verziách, ktoré pomáhajú firmám akejkoľvek veľkosti (alebo rozpočtu) pri kontrole kompatibility. Spoločnosti, ktoré sa rozhodnú pre verziu ZAPTEST Enterprise, sa môžu tešiť až na 10-násobnú návratnosť svojich pôvodných investícií. Funkcia 1SCRIPT tohto riešenia je špeciálne prispôsobená potrebám testerov kompatibility a umožňuje im vykonávať presne tie isté testy na viacerých platformách bez toho, aby museli upravovať kód. Ak pridáte najmodernejšie funkcie RPA bez ďalších nákladov, získate komplexné riešenie na automatizáciu akejkoľvek úlohy.
2. LambdaTest
LambdaTest využíva cloudový prístup na poskytovanie 3 000 automatizovaných zariadení – aj keď s výrazným zameraním na webové prehliadače, čo môže obmedziť účinnosť tohto riešenia pre určité programy. Platforma sa špecializuje na kontinuálne testovanie, čím sa proces zabezpečenia kvality viac integruje s vývojom. Kontroly v tejto aplikácii tiež umožňujú používateľom nastaviť si rozlíšenie, čo výrazne uľahčuje testovanie kompatibility s rôznymi prehliadačmi. Toto riešenie ponúka bezplatný model, ktorý však zahŕňa obmedzené testy bez aktualizácie a žiadne skutočné zariadenia.
3. BrowserStack
Podobne ako LambdaTest, aj BrowserStack poskytuje prístup k 3 000 reálnym zariadeniam; ich katalóg obsahuje aj staršie a beta verzie prehliadačov. Hoci ľudia častejšie aktualizujú svoj prehliadač ako operačný systém, stále môže byť veľa ľudí, ktorí používajú staršie verzie – BrowserStack to zohľadňuje. Používatelia môžu tiež vykonávať geolokačné testovanie, aby zistili, ako vyzerajú webové stránky a webové aplikácie v rôznych krajinách. Neexistujú však žiadne bezplatné alebo bezplatné možnosti a testovanie skutočných zariadení môže byť pomalé.
4. TestGrid
TestGrid umožňuje paralelné testovanie, vďaka čomu môžu tímy kontrolovať viacero kombinácií súčasne a urýchliť tak proces. Toto riešenie sa tiež dobre integruje s pracovným postupom testovania a vývoja – prípadne uľahčuje agilný prístup tým, že tvorí kľúčovú súčasť šprintov oddelenia. TestGrid má však niekedy problémy s pripojením ku cloudovým zariadeniam a prehliadačom. Okrem toho je program pomerne obmedzený, pokiaľ ide o testovanie záťaže, dokumentáciu a pridávanie nových zariadení do nastavenia spoločnosti.
5. Browsera
Browsera sa zameriava najmä na testovanie webových stránok s cieľom zabezpečiť ich správne zobrazenie na rôznych zariadeniach, prehliadačoch a operačných systémoch. Keďže ide o cloudový prístup, tímy zabezpečujúce kvalitu nemusia inštalovať toto virtuálne testovacie laboratórium do svojich zariadení. Browsera dokáže tiež porovnávať výstupy s cieľom inteligentne odhaliť problémy s rozložením a chyby v JavaScripte, ktoré by mohol prehliadnuť aj ľudský tester. Browsera však nepodporuje niekoľko bežných prehliadačov vrátane prehliadača Opera a bezplatne ponúka len základné testovacie funkcie.
Záver
Testovanie kompatibility je rozhodujúce pre úspešnú stratégiu zabezpečenia kvality, pretože umožňuje tímom overiť svoje aplikácie na širokom spektre zariadení. Bez využitia tejto techniky si spoločnosti nemusia byť vedomé, že ich softvér nebude fungovať pre veľkú časť cieľovej skupiny až do uvedenia na trh. To stojí veľa času a peňazí v porovnaní s testovaním pred vydaním a aplikácie ako ZAPTEST môžu tento proces ešte viac zefektívniť. Vďaka 1SCRIPT a mnohým ďalším funkciám, ktoré sú k dispozícii zadarmo, ako napríklad paralelné testovanie, môže výber ZAPTEST ako testovacieho nástroja zmeniť akýkoľvek projekt a zároveň poskytnúť tímom úplnú dôveru v ich aplikáciu.