Testování kompatibility je nedílnou součástí mnoha strategií zajišťování kvality, protože umožňuje společnostem zjistit, zda jejich software funguje správně na různých platformách. I v případě programu určeného výhradně pro stolní počítače je třeba zohlednit několik hlavních operačních systémů a stovky, ne-li tisíce hardwarových rozdílů, které mohou ovlivnit stabilitu. Pochopení procesu testování kompatibility a jeho obvyklých přínosů může pomoci zaručit efektivní uvedení produktu na trh, který dokáže oslovit co největší okruh uživatelů.
Ačkoli testování kompatibility může přinést řadu výhod, existuje také řada významných problémů, které musí tým testující software překonat, aby maximalizoval potenciál této techniky. Existují také specifické postupy, které by tato oddělení měla používat, aby dosáhla nejlepších výsledků a zajistila komplexní celkové pokrytí testováním.
V tomto článku se blíže podíváme na testování kompatibility, včetně základních kroků, které musí týmy dodržovat, a nejužitečnějších testovacích nástrojů, které jsou v současné době k dispozici.
Co je testování kompatibility v
testování softwaru a inženýrství?
Testování kompatibility zkoumá software v různých zařízeních, hardwaru a firmwaru, aby se zajistilo, že bude fungovat podle očekávání týmu. Každý uživatel může pracovat se svým programem na novém zařízení, a proto je důležité, aby společnost mohla zaručit, že všichni budou mít podobný zážitek. Testy kompatibility mohou například zahrnovat kontrolu jednotlivých funkcí aplikace, aby se ověřilo, že funguje ve všech hlavních operačních systémech.
Bez důkladného testování kompatibility se může stát, že společnost vydá aplikaci, která nebude fungovat pro některá populární zařízení. Tyto kontroly musí být zcela komplexní, protože problém může nastat různými způsoby – aplikace například nemusí fungovat s určitým typem grafické karty. Ve spojení s dalšími formami testování softwaru mohou týmy zajišťující kvalitu zajistit, aby byl jejich program připraven k vydání.
1. Kdy a proč je třeba provést testování kompatibility mobilních aplikací, webových stránek, systémů a prohlížečů?
Společnosti provádějí testování kompatibility ve fázi testování softwaru, konkrétně když mají k dispozici „stabilní“ verzi programu, která přesně odráží, jak se bude chovat pro zákazníky. Pokračuje po alfa testech, akceptačních testech a dalších formách testování, které se často zaměřují na obecnou stabilitu a problémy související s funkcemi. Pokud se aplikace během fáze testování kompatibility potýká s problémy, je to obvykle způsobeno specifickými problémy souvisejícími s kompatibilitou. Příliš brzké provedení těchto kontrol může způsobit, že se stanou zbytečnými, protože drobné změny v pozdější fázi vývojového cyklu programu mohou zásadně ovlivnit kompatibilitu.
Testování kompatibility prohlížečů a softwaru je důležité, protože pomáhá společnostem vydat aplikaci, o které vědí, že poběží adekvátně prakticky na všech možných zařízeních. Například testování kompatibility napříč prohlížeči pomáhá zajistit, aby uživatelé Opery měli stejný zážitek jako uživatelé Firefoxu a dalších hlavních prohlížečů. Tým obvykle testuje tolik variant hardwaru a softwaru, kolik mu dovolí čas a rozpočet. To znamená, že musí inteligentně upřednostňovat systémy nebo prohlížeče, které jejich zákazníci pravděpodobně používají, což jim umožní zaručit široké pokrytí testováním a životaschopný produkt.
2. Když nepotřebujete provádět testování kompatibility softwaru
Společnosti mohou vytvořit aplikaci na míru pro konkrétní operační systém nebo model, čímž se značně omezí počet nutných kontrol. Testování kompatibility mezi prohlížeči při testování softwaru může být zbytečné, pokud tento program například nevyžaduje prohlížeč. Čas může být také závažným faktorem, který může ovlivnit schopnost společnosti provést tyto testy, ačkoli testovací týmy by měly stále pracovat na tom, aby zaručily, že hlavní systémy a prohlížeče jsou se softwarem kompatibilní. Existují také určité projekty, u kterých nelze využít základní testy kompatibility.
3. Kdo se podílí na testování kompatibility?
Zde jsou hlavní osoby, které provádějí testování kompatibility při testování softwaru:
1. Vývojáři
Vývojový tým během vývoje ověřuje výkonnost aplikace na jedné platformě, která může být dokonce jediným zařízením, na kterém společnost hodlá program vydat.
2. Testery
Týmy pro zajištění kvality, ať už v rámci společnosti, nebo najaté externě, kontrolují v rámci fáze testování kompatibility aplikace mnoho možných konfigurací, včetně všech hlavních operačních systémů a prohlížečů.
3. Zákazníci
Zákazníci společnosti mohou mít hardware nebo konfigurace, které tým nemohl důkladně otestovat, a jejich uživatelská zkušenost tak může být první skutečnou kontrolou daného nastavení.
Výhody testování kompatibility
Mezi obvyklé výhody testování kompatibility softwaru patří:
1. Širší publikum
Čím důkladněji tým testuje svůj software, tím více zařízení může bez obav vydat, a zajistit tak, že jeho aplikace bude moci využívat široké publikum na mnoha platformách. To umožňuje společnostem získat více prodejů produktů v programu a může také zvýšit počet pozitivních recenzí, které tento software obdrží od uživatelů.
2. Zlepšuje stabilitu
Testování kompatibility při testování softwaru je zásadní pro odhalení problémů se stabilitou a výkonem, které mohou být na různých zařízeních často výraznější – zejména pokud vývojáři navrhli aplikaci pouze pro jednu platformu. Test kompatibility systému ukazuje společnosti, jaký celkový výkon mohou uživatelé (na široké škále zařízení) od softwaru očekávat.
3. Zpřesňuje vývoj
Tyto testy mají také významný dlouhodobý dopad na vývojový tým. Například testování kompatibility mobilních zařízení může poskytnout cenné informace o vývoji aplikací, které mohou firmy zohlednit při vytváření dalších programů. To může výrazně snížit náklady na testy kompatibility pro budoucí projekty a umožnit jim opakované využití zkušeností získaných z tohoto procesu.
4. Ověřuje další testy
Většina dosavadních forem testování má omezený rozsah a netestuje všechny možné kombinace hardwaru nebo softwaru – tyto testy by mohly tyto výsledky účinně zdvojit. Například testování kompatibility mezi prohlížeči ověřuje již existující fáze zajištění kvality tím, že ukazuje, že výsledky jsou stejné, i když má uživatel jiný prohlížeč.
5. Snižuje náklady
Testování kompatibility může také snížit náklady na současný program, protože pomáhá týmům identifikovat problémy ještě předtím, než se aplikace dostane do veřejné verze – v tomto okamžiku se oprava chyb stává nákladnější. Čím rozmanitější jsou testy týmu (a čím vyšší je míra pokrytí testů), tím levnější je odstranit případné chyby, jakmile se objeví.
Výzvy testování kompatibility
Zde jsou uvedeny běžné problémy, se kterými se společnosti mohou setkat při zavádění testování kompatibility při testování softwaru:
1. Omezený čas
Automatizační nástroje a další řešení sice mohou výrazně urychlit testy kompatibility simulací řady zařízení, ale tento proces se stále musí řídit harmonogramem vývoje společnosti. To znamená, že testovací tým musí upřednostnit nejběžnější zařízení a prohlížeče, aby zaručil, že se k nim dostane co nejširší (a nejpočetnější) publikum.
2. Nedostatek skutečných zařízení
Tyto kontroly běžně zahrnují virtuální stroje, které simulují součásti a podmínky skutečných zařízení; je to mnohem levnější (a rychlejší) než samostatné pořízení příslušných součástí a platforem. To však může ovlivnit přesnost těchto výsledků, zejména proto, že výkon často závisí na tom, jak uživatelé používají skutečné zařízení.
3. Obtížné zajištění budoucnosti
Testování kompatibility se může týkat pouze již existujících platforem, což znamená, že nemůže zaručit, že aplikace bude fungovat podle očekávání i na budoucích verzích systému Windows a prohlížeče Google Chrome. Organizace jsou schopny opravit tuto chybu až po spuštění, což je často nákladnější a aplikace může být nakonec zastaralá.
4. Údržba infrastruktury
Pokud se tým rozhodne kontrolovat značné množství platforem vlastními silami, může to vést k vysokým poplatkům za infrastrukturu. Testování kompatibility mobilních aplikací by například mohlo zahrnovat získání několika skutečných mobilních zařízení. Je to sice přesnější než simulované testování kompatibility hardwaru, ale je to nákladné a obvykle to vyžaduje pravidelnou údržbu.
5. Vysoký počet kombinací
Testování kompatibility zohledňuje mnoho vzájemně se ovlivňujících faktorů, jako je operační systém, prohlížeč, hardware, firmware a dokonce i rozlišení obrazovky. I když má testovací tým spoustu času, bylo by fakticky nemožné vyhovět všem možnostem. Testování konfigurace a kompatibility musí opět upřednostnit nejpravděpodobnější kombinace zařízení.
Charakteristika testování kompatibility
Mezi hlavní charakteristiky testů kompatibility patří:
1. Důkladné
Tyto kontroly musí být schopny izolovat případné problémy s kompatibilitou, které se objeví mezi zařízeními – jinak by tým mohl vydat vadný program. Tyto kontroly musí například zajistit, aby se každá funkce aplikace vykreslovala podle očekávání bez ohledu na rozlišení obrazovky uživatele.
2. Expanzivní
Testy by měly zachovávat rovnováhu mezi hloubkou a rozsahem a pomáhat týmům zkoumat řadu problémů v mnoha konfiguracích zařízení. Testování kompatibility napříč prohlížeči zkoumá širokou škálu kombinací operačních systémů a prohlížečů a zajišťuje vysokou úroveň pokrytí – někdy s pomocí automatizovaného řešení.
3. Obousměrný
Tento proces zahrnuje testování zpětné i dopředné kompatibility; v prvním případě tým zjistí, jak bude jeho aplikace fungovat na starším hardwaru. Ten umožňuje týmu přístup ke špičkovým platformám, což mu pomáhá zaručit úspěšnou dlouhodobou výkonnost, i když jsou jeho možnosti pro budoucnost značně omezené.
4. Opakovatelné
Problémy, které tyto kontroly odhalí, musí být pro ostatní testery a oddělení snadno opakovatelné – musí být zřejmé, že odrážejí chyby, se kterými se uživatelé pravděpodobně setkají. Pokud test kompatibility webových stránek ukáže, že určité funkce v určitém prohlížeči nefungují, opakovatelnost pomůže vývojářům problém vyřešit.
Typy testování kompatibility
Hlavní typy testování kompatibility jsou následující:
1. Testování zpětné kompatibility
Testování zpětné kompatibility zahrnuje kontrolu aplikace na starších verzích současného hardwaru – to je nezbytné, protože omezení těchto kontrol na moderní zařízení může výrazně omezit počet uživatelů. Mnoho lidí stále používá starší operační systémy, jako je například Windows 8.
2. Testování dopředné kompatibility
Testování budoucí kompatibility je podobné, ale místo toho se zabývá moderními nebo budoucími technologiemi, aby zjistilo, zda aplikace bude pravděpodobně fungovat i po letech navzdory pokroku a aktualizacím. Bez těchto testů může software přestat fungovat například při příští aktualizaci prohlížeče.
3. Testování kompatibility prohlížečů
Testy kompatibility webových stránek s prohlížeči zajišťují, aby webová aplikace nebo web fungovaly v různých prohlížečích; to je velmi důležité, protože používají různé motory rozvržení. Týmy zajišťující kvalitu dokonce testují kompatibilitu mezi prohlížeči – to znamená, že kontrolují, zda si každý prohlížeč poradí s aplikací v různých operačních systémech.
4. Testování kompatibility mobilních zařízení
Testování mobilních aplikací je podobný proces jako kontrola desktopových a webových aplikací, zejména proto, že dalším klíčovým faktorem je operační systém telefonu. Například aplikace pro Android a iOS se dodávají ve zcela odlišných formátech a vyžadují zcela samostatný proces vývoje a testování, aby se přizpůsobily oběma formátům.
5. Testování kompatibility hardwaru
Tyto kontroly se zabývají konkrétními součástmi, z nichž se stroj skládá, a jejich možným vlivem na program; to je důležité prakticky pro jakýkoli typ zařízení. Počítač může mít například grafickou kartu, která nedokáže úspěšně vykreslit rozhraní webové aplikace.
6. Testování kompatibility zařízení
Některé aplikace se připojují k externím zařízením prostřednictvím Bluetooth, širokopásmového nebo kabelového připojení. Aplikace se může například potřebovat připojit k tiskárně. Cílem těchto testů je zajistit, aby program spolupracoval s vlastními připojeními platformy a se všemi zařízeními, ke kterým má přístup.
7. Testování kompatibility sítě
Pokud aplikace vyžaduje ke svému běhu síťové funkce – například připojení k online databázi prostřednictvím firemního serveru – vyžaduje to četné kontroly kompatibility. Tím je zajištěno, že program může běžet vhodnou rychlostí při připojení k síti Wi-Fi, 4G nebo 3G.
Co testujeme v testech kompatibility?
Testy kompatibility obvykle kontrolují:
1. Výkon
Jedním z hlavních účelů testování kompatibility je zajištění stability, protože některé aspekty aplikace mohou být zcela nekompatibilní s běžnými platformami. Při kontrole celkové odezvy tohoto programu testovací tým zajišťuje, že na některých zařízeních nedochází k závažným pádům.
2. Funkčnost
Testování kompatibility také kontroluje obecné vlastnosti a funkce aplikace, aby bylo zajištěno, že software je schopen poskytovat správné výsledky. Například systém pro řízení vztahů se zákazníky nemusí uživatelům se zastaralým operačním systémem nabízet údaje o prodeji nebo obecnou analytiku.
3. Grafika
Některé prohlížeče nebo zařízení mohou mít z různých důvodů potíže s vykreslením určitých grafických prvků – s tím vám může pomoci kontrola kompatibility. Program může fungovat pouze v určitém rozlišení obrazovky, pokud vývojáři nezmění způsob, jakým program zobrazuje svůj obsah.
4. Připojení
Testy kompatibility se zaměřují také na to, jak se program konkrétně integruje se zařízením uživatele i s vlastní databází, což mu umožňuje detekovat zařízení, jako jsou tiskárny. Tyto kontroly mohou například odhalit, že se aplikace nemůže připojit ke své vlastní databázi v sítích 3G.
5. Všestrannost
Tyto kontroly zajišťují, že aplikace společnosti je dostatečně univerzální, aby mohla fungovat na starých i nových verzích stejného operačního systému prostřednictvím testů zpětné a dopředné kompatibility. Tím je zajištěno, že uživatelé nebudou z programu vyloučeni, pokud je jejich software několik let zastaralý.
Typy výstupů z testů kompatibility
Tři hlavní výstupy testů kompatibility jsou:
1. Výsledky testů
Nejčastějším výstupem těchto kontrol jsou samotné výsledky, které mohou mít různou podobu. Testování kompatibility prohlížečů může například odhalit, že webová aplikace způsobuje únik paměti v prohlížeči Microsoft Edge, zatímco stejná aplikace nemá žádné negativní účinky v prohlížečích Chrome. Případně by aplikace mohla na příslušných platformách fungovat přesně tak, jak tým očekává.
2. Zkušební protokoly
Výsledky testů se také projevují v podobě vlastních protokolů aplikace, které prostřednictvím chybových hlášení upozorňují na případné zjištěné softwarové problémy. Tyto protokoly mohou dokonce identifikovat konkrétní část programu, která tuto chybu způsobuje. Zejména při testování kompatibility musí být testeři obeznámeni s tím, jak se tyto protokoly projevují a jak se tyto problémy projevují na různých platformách.
3. Testovací případy
Testovací případy kompatibility určují, které testy tým provede, a nabízejí prostor pro zaznamenání výsledků v jednoduchém formátu. Testeři by měli využít své znalosti softwaru ve spojení s výsledky a protokoly k identifikaci příčiny problému. Čím více informací poskytnou, tím rychleji mohou vývojáři začít s opravami chyb.
Typy zjištěných závad
prostřednictvím testování kompatibility
Zde jsou uvedeny nejčastější chyby, které mohou testy kompatibility odhalit:
1. Měřítko rozvržení
Test kompatibility webových stránek může ukázat, zda se prvky, které tvoří webovou aplikaci nebo dokonce webové stránky, přizpůsobují zařízení uživatele, konkrétně rozlišení a velikosti jeho obrazovky. V důsledku toho mohou být některé grafické prvky v určitých prohlížečích špatně viditelné.
2. Pády softwaru
Testy kompatibility usnadňují zjištění, zda je aplikace vůbec schopna běžet na některých platformách. Vývojář hry by například mohl zjistit minimální systémové požadavky svého produktu tak, že by zkontroloval, která zařízení po spuštění testery spadnou kvůli nedostatečné paměti RAM a rychlosti procesoru.
3. Problémy s validací HTML/CSS
Různé prohlížeče a zařízení čtou kód různými způsoby – některé automaticky opravují jednoduché překlepy, například nesprávné uzavření značky HTML. Testování kompatibility s prohlížeči může odhalit případy neplatného CSS, které brání aplikaci generovat obsah a dokonce i základní funkce.
4. Chyby při přehrávání videa
Mnoho moderních přehrávačů videa využívá HTML5 ke streamování videí online, což může být klíčová součást webové aplikace společnosti. Týmy, které kontrolují kompatibilitu webových stránek s prohlížeči, však mohou zjistit, že funkce videa v jejich aplikaci nejsou kompatibilní se zastaralými prohlížeči.
5. Zabezpečení souborů
Testování kompatibility v softwarovém inženýrství může také odhalit problémy se zabezpečením souborů a jeho rozdíly mezi jednotlivými zařízeními. Například novější verze systému Windows mají robustnější zabezpečení vstupu a výstupu. To může vést k tomu, že aplikace (např. antivirový software) bude mít problémy s přístupem k souborům zařízení.
Proces testování kompatibility
Obvyklé kroky testování kompatibility jsou následující:
1. Sestavte plán testů
Pro testování kompatibility je zásadní komplexní plán testování, na který se tým zajišťující kvalitu může v případě potřeby při kontrolách odvolávat. Například se zde podrobně popisují zařízení, která budou testovat, a kritéria pro úspěšné nebo neúspěšné testování; musí také stanovit, zda budou používat robotickou automatizaci procesů.
2. Konfigurace testovacích případů
Podobně důležité jsou i testovací případy, které podrobně popisují konkrétní kontroly kompatibility, které týmy provádějí, a konkrétní zařízení, s nimiž pracují. Obsahuje také přesný popis kroků, které budou testeři provádět, a dostatek prostoru pro zaznamenání výsledků a všech informací, které pomohou vývojářům zajistit kompatibilitu.
3. Vytvoření testovacího prostředí
Izolované a nezávislé testovací prostředí bez vnějších vlivů je nezbytné pro zajištění přesných testů, které také umožní týmu zajišťujícímu kvalitu zjistit, odkud pocházejí odhalené problémy. Kromě toho mohou testeři provádět kontrolu aplikace, aniž by jakkoli narušili „skutečnou“ verzi.
4. Provedení testů
Když jsou testovací případy a prostředí plně připraveny, může tým zahájit testy kompatibility – i v případě automatizovaného řešení má k dispozici pouze omezené množství času. Testeři budou muset upřednostnit nejběžnější operační systémy a konfigurace zařízení, aby to zohlednili, a zajistit široké pokrytí testů i přes tato omezení.
5. Opakovaný test
Jakmile jsou testy dokončeny a vývojáři obdrží testovací případy, upraví aplikaci tak, aby se zlepšila její kompatibilita, i když to nemusí být možné pro všechna zařízení. Poté testeři aplikaci znovu zkontrolují a ověří, že dříve odhalené problémy již nejsou přítomny a nevyskytují se žádné nové závažné chyby.
Běžné metriky testování kompatibility
Zde jsou uvedeny některé běžné metriky používané pro testy kompatibility:
1. Šířka pásma
Testy kompatibility se sítí měří, jak aplikace spolupracuje s různými sítěmi, včetně širokopásmových a mobilních datových sítí. Minimální šířka pásma potřebná k tomu, aby program mohl plnit své obvyklé úkoly a připojit se k firemní databázi, může být například pro průměrné připojení 3G příliš vysoká.
2. Využití procesoru
Jedním ze způsobů, jak se problémy s výkonem projevují, je neúměrně vysoké využití procesoru – to může znamenat, že zařízení jednoduše nesplňuje minimální požadavky programu. Problémy s procesorem mohou také ovlivnit dobu odezvy aplikace, omezit její funkčnost a způsobit dostatečné zpoždění, které odradí uživatele.
3. Stupnice použitelnosti systému
Stupnice použitelnosti systému je běžný způsob měření subjektivních údajů o programu, který obsahuje deset základních otázek týkajících se použitelnosti aplikace. Výsledné skóre SUS je 100 bodů a může se na různých platformách lišit v důsledku grafických chyb.
4. Celkový počet závad
Tato metrika je konstantní pro většinu typů testování a umožňuje testerům zjistit aktuální stav programu. Tým může také porovnávat celkové počty defektů mezi různými platformami. Tímto způsobem mohou testeři upozornit na chyby, které jsou způsobeny nekompatibilitou.
5. Skóre SUPRQ
Podobně jako skóre SUS aplikace je i dotazník Standardized User Experience Percentile Rank Questionnaire způsobem, jakým testeři hodnotí aplikaci podle několika klíčových faktorů, včetně použitelnosti a vzhledu. To jim pomůže zjistit, jak mohou mít zákazníci problémy s používáním aplikace na určitých zařízeních.
7 chyb a nástrah při provádění testů kompatibility
Zde je sedm zásadních chyb, kterých je třeba se při testování kompatibility vyvarovat:
1. Nedostatek skutečných zařízení
Ačkoli by bylo nemožné testovat na všech možných kombinacích zařízení, testovací tým může i tak těžit z použití co největšího počtu skutečných zařízení, která může získat. Různé platformy nabízejí „skutečná“ zařízení prostřednictvím cloudových řešení, aby usnadnily testování kompatibility napříč prohlížeči způsobem, který může odrážet nativní výkon.
2. Vyhýbání se starším zařízením
Mnoho uživatelů stále přistupuje ke svým aplikacím na starších verzích systému Windows nebo iOS; zaměření výhradně na nové verze populárních zařízení a operačních systémů by mohlo omezit dosah produktu. Pokud tým nerozšíří své testy na „zastaralá“ zařízení, může mít značná část publika problémy s používáním programu.
3. Špatné řízení času
Často existuje velké množství zařízení a konfigurací, které vyžadují test kompatibility, což znamená, že tým musí řídit svůj čas tak, aby jich zkontroloval co nejvíce. To je důležité, protože testy obvykle probíhají ještě na konci vývoje; špatné řízení by mohlo počet kontrol značně omezit.
4. Nesprávné plánování
Stejně tak je nanejvýš důležité, aby týmy zajistily, že tyto testy provedou v přiměřené fázi vývoje programu, nejlépe po alfa testování a většině forem funkčního testování. Díky tomu je snazší zjistit, zda se jedná o obecnou závadu, nebo o závadu specifickou pro zařízení, které tým zkoumá.
5. Nezohlednění rozlišení obrazovky
Rozlišení obrazovky může být mnohem větším faktorem kompatibility, než si mnoho testovacích týmů uvědomuje – zejména proto, že je přizpůsobitelné a ovlivňuje způsob, jakým zařízení zobrazuje grafické prvky. I s blížícím se termínem pro testy kompatibility je důležité, aby se testovací týmy snažily zohlednit tuto skutečnost ve své strategii.
Nedostatek odborných znalostí
Testeři musí být vysoce kvalifikovaní, aby kromě mnoha jiných forem těchto testů mohli zkontrolovat kompatibilitu webových stránek, prohlížečů a softwaru. Pokud vedoucí testování pověří některého z členů svého týmu provedením kontroly kompatibility a ten nemá dostatečné zkušenosti, může to zpomalit testy a omezit jejich přesnost.
6. Žádná předchozí diskuse
Vzhledem k tomu, že testy kompatibility jsou často časově náročné (a mohou vyžadovat širokou škálu zařízení), musí týmy plně stanovit rozsah svých kontrol již v rané fázi zajištění kvality. Například musí mít jasnou představu o tom, která konkrétní zařízení nebo konfigurace hodlají testovat ještě před zahájením kontroly.
Osvědčené postupy pro testování kompatibility
Mezi nejlepší způsoby, jak zajistit kvalitní testy kompatibility, patří:
1. Testování v průběhu vývoje
Vzhledem k tomu, že se software z týdne na týden výrazně mění, může to ovlivnit kompatibilitu programu s určenými zařízeními. Týmy musí opakovaně provádět testování softwaru a kompatibility s různými prohlížeči, aby se ujistily, že aplikace i po vývojových změnách na těchto platformách dobře funguje.
2. Používejte skutečná zařízení
Některé nástroje pro testování kompatibility nabízejí přístup ke „skutečným“ simulovaným zařízením, která se mohou věrně podobat uživatelskému prostředí dané platformy. To umožňuje zajistit kompatibilitu s více zařízeními a zároveň zachovat vysokou úroveň přesnosti, která u některých automatizovaných řešení není k dispozici.
3. Stanovení priorit testů
Vzhledem k omezenému množství času na provedení těchto kontrol mohou mít testeři kompatibility potřebu upřednostnit nejběžnější zařízení, prohlížeče a operační systémy. Stejně tak by měl testovací tým nejprve zkontrolovat nejkritičtější funkce softwaru, aby byla zaručena základní funkčnost na těchto zařízeních.
4. Integrace agilních technik
Některé společnosti se při testování kompatibility rozhodnou pro sprintový přístup, který jim umožní snadno dosáhnout milníků testování – například zkontrolovat určitý počet zařízení. Agilní přístup podporuje komunikaci mezi jednotlivými odděleními a zároveň poskytuje nastavenou strukturu testů, která může zaručit konzistentní a rychlé zlepšování.
5. Omezte rozsah testování
Týmy zajišťující kvalitu musí vědět, kdy ukončit testování, a dokonce akceptovat případ nekompatibility. V tomto případě by vývojář nemusel měnit software a mohl by místo toho změnit minimální požadavky, pokud by bylo příliš obtížné je obejít opravou chyb.
Příklady případů a scénářů testů kompatibility
Testovací případy kompatibility stanoví vstupy testovacího týmu, strategii testování a očekávané výsledky, které porovnávají se skutečnými výsledky. Vzhledem k tomu, že se kontroly týkají mnoha zařízení a konfigurací, jedná se často o rozsáhlý proces.
Tyto případy obvykle zahrnují:
– Otestujte správné zobrazení HTML webové aplikace.
– Zkontrolujte, zda je kód JavaScriptu softwaru použitelný.
– Zjistěte, zda aplikace funguje v různých rozlišeních.
– Otestujte, zda má program přístup k adresáři souborů.
– Ujistěte se, že se aplikace připojuje ke všem použitelným sítím.
Zde jsou uvedeny konkrétní příklady testování kompatibility při testování softwaru pro různé programy:
1. Aplikace pro sociální sítě
Sociální sítě mají běžně podobu webových aplikací v prohlížečích a mobilních aplikací pro odpovídající zařízení; oba typy vyžadují stejně důkladné testování. Například tato mobilní aplikace musí být plně funkční minimálně na zařízeních se systémy iOS a Android – tým musí zkontrolovat stará a nová zařízení pod každým operačním systémem. Pokud například určitý model iPhonu nedokáže vykreslovat animované soubory GIF, musí tým zjistit, co to způsobuje, aby zajistil konzistentní uživatelský zážitek.
2. Videohra
Videohry obvykle nabízejí přizpůsobitelné grafické možnosti, které mohou uživatelé měnit tak, aby odpovídaly jejich počítači; to zahrnuje ovládání rozlišení obrazovky a zajištění vhodného měřítka uživatelského rozhraní. V závislosti na konkrétním hardwaru hráče se mohou objevit určité problémy – chyby vyhlazování vedou k zrnité grafice. Důvodem může být běžná grafická karta, která není kompatibilní s vykreslováním textur společnosti. V závislosti na konkrétním problému se to může projevit i jako pád systému při spuštění hry na určitých zařízeních.
3. Cloudový systém CRM
Řešení pro řízení vztahů se zákazníky hojně využívají databáze k získávání informací o svých transakcích, dodavatelích a dalších důležitých aspektech podnikání, a to především s pomocí cloudových úložišť. Testeři by se měli ujistit, že tato databáze a její cloudové služby fungují v různých sítích, včetně 3G a 4G, pokud k nim uživatel potřebuje přistupovat bez připojení k internetu. Tým musí také zkontrolovat širokou škálu operačních systémů, protože některé závady se mohou objevit například pouze v zařízeních se systémem Linux.
Manuální nebo automatizované testy kompatibility?
Automatizace by mohla být velmi užitečná pro testy kompatibility, protože umožňuje týmům zkontrolovat velký počet zařízení mnohem rychleji než manuální přístup. Ruční testování však může být vhodnější v případě, že se provádí kontrola v omezeném počtu prohlížečů a zařízení – například videohra je dostupná pouze na dvou platformách. Použitelnost softwaru je často klíčovým faktorem při testech kompatibility a obvykle vyžaduje lidský pohled, který může lépe identifikovat problémy s grafickým vykreslováním. S tím může pomoci automatizace robotických procesů implementací softwarových robotů, kteří mohou snadněji napodobit přístup lidského uživatele k testům kompatibility.
U programů určených pro širokou škálu zařízení, jako jsou mobilní a webové aplikace, umožňuje automatizace týmu zajistit širší pokrytí testů. Mohly by dokonce využít hyperautomatizace k inteligentnímu outsourcingu těchto kontrol způsobem, který by stále zajišťoval, že testeři budou tyto platformy kontrolovat z hlediska funkčnosti specifické pro uživatele. Testování kompatibility v rámci ručního testování je stále povinné pro některé úkoly – například pro kontrolu správného zobrazení uživatelského rozhraní na každém zařízení. To znamená, že nejlepším přístupem by mohla být smíšená strategie, která může testovat celkově více zařízení prostřednictvím automatizace, zvýšit jejich rychlost a zároveň zohlednit význam použitelnosti.
Co potřebujete k zahájení testování kompatibility?
Mezi hlavní předpoklady pro testování kompatibility obvykle patří:
1. Kvalifikovaný testovací personál
Na testery kompatibility jsou obecně kladeny vyšší požadavky na kvalifikaci než na jiné formy zajištění kvality, protože kontrolují širší škálu zařízení a často se setkávají s větším počtem chyb. To může zahrnovat řešení problémů, komunikaci a smysl pro detail. Vedoucí týmů by měli přidělit testery, kteří mají zkušenosti s testováním stejné aplikace na mnoha platformách.
2. Silná emulace zařízení
V rámci týmu může být obtížné získat a otestovat všechna fyzická zařízení, proto je emulace nezbytná pro zjištění, jak různé platformy reagují na stejný program. Tento proces je zřídkakdy dokonalý a testeři se musí podívat na mnoho dostupných emulátorů a automatizovaných testovacích nástrojů, aby zjistili, který z nich nabízí největší přesnost.
3. Jasný rozsah testování
Tým by měl mít před zahájením kontroly představu o svém rozsahu, zejména proto, že to může rozhodnout o tempu jeho práce. I když může být cílem programu pokrýt mnoho platforem, měli by testeři určit vhodný hraniční bod. Například testování operačních systémů vydaných před systémem Windows 7 může vést ke snižování návratnosti.
4. Řízení času
K testování kompatibility může dojít kdykoli během fáze zajišťování kvality, ale obvykle se nechává na konec vývoje – když je program stabilní a má všechny funkce. Testeři by však měli kompatibilitu zvážit mnohem dříve, protože je často časově náročná. Důkladné plánování předem pomáhá týmu zajistit, aby měl na každou kontrolu dostatek času.
Testování kompatibility
kontrolní seznam, tipy a triky
Zde jsou další tipy, které musí mít týmy zajišťující kvalitu při provádění testů kompatibility na paměti:
1. Nezaměřujte se na absolutní pokrytí
Každá strategie testování se snaží maximalizovat pokrytí testů, ale obvykle se zastaví před dosažením 100 %, protože se snižuje návratnost a jen velmi málo uživatelů dosáhne zlepšení. V souvislosti s kompatibilitou by týmy měly pochopit, kdy by zařízení používalo příliš málo zákazníků na to, aby se tyto kontroly vyplatily.
2. Upřednostněte kombinace napříč prohlížeči
Testování kompatibility mezi prohlížeči zahrnuje kontrolu každého prohlížeče v různých operačních systémech. Testeři musí využít komplexní analýzy o svém publiku, aby zjistili, které z nich je nejoblíbenější, a podle toho se řídit. Mohou dokonce vytvořit matici kompatibility prohlížečů, která stanoví rozsah těchto kontrol a jejich různé konfigurace.
3. Ověřte rozvržení
Základem testování kompatibility je zajištění konzistentního prostředí a tyto kontroly musí jít hlouběji než jen zjistit, zda funkce programu fungují na různých zařízeních. Týmy by také měly ověřit celkové rozvržení softwaru, včetně zarovnání všech formulářů nebo tabulek, a také integritu CSS a HTML programu.
4. Kontrola rozhraní API
Rozhraní pro programování aplikací jsou klíčovou součástí způsobu, jakým prohlížeče čtou aplikace, a proto jsou pro testování kompatibility mezi prohlížeči zásadní. Různé webové prohlížeče mají vlastní volání API a jejich aktualizace v průběhu času mohou ovlivnit kompatibilitu. Testeři je musí pravidelně kontrolovat, a to i v případě, že společnost používá pro každý program podobné rozhraní API.
5. Prozkoumejte certifikát SSL
Certifikáty SSL zvyšují bezpečnost prohlížeče – šifrují webový provoz a umožňují uživatelům využívat protokoly HTTPS. Webové stránky nebo webové aplikace mohou mít certifikát, který je nekompatibilní s některými prohlížeči. To znamená, že testeři by měli certifikát ověřit na všech hlavních platformách, aby se uživatelé na jejich webu cítili bezpečně.
6. Ověření přehrávačů videa
Programy, které zobrazují video, jako jsou streamovací služby nebo bezplatné mobilní hry podporované reklamami, by měly projít testováním, aby se zajistilo, že se tato videa zobrazí na všech zamýšlených zařízeních. U mnoha aplikací budou tyto kontroly zahrnovat jak stolní počítače, tak mobilní zařízení a mohou se zaměřit na kvalitu, rychlost a počet snímků za sekundu.
5 nejlepších nástrojů a softwaru pro testování kompatibility
Mezi nejúčinnější bezplatné i placené nástroje pro testování kompatibility patří:
1. ZAPTEST Free & Enterprise Edition
ZAPTEST nabízí vynikající funkce jak v bezplatné, tak v placené verzi Enterprise, která pomáhá firmám jakékoli velikosti (nebo rozpočtu) s kontrolou kompatibility. Společnosti, které se rozhodnou pro verzi ZAPTEST Enterprise, se mohou těšit až na desetinásobek původní investice. Funkce 1SCRIPT tohoto řešení je speciálně přizpůsobena potřebám testerů kompatibility a umožňuje jim spouštět naprosto stejné testy na různých platformách, aniž by museli upravovat kód. Přidejte nejmodernější funkce RPA bez dodatečných nákladů a získejte komplexní řešení pro automatizaci libovolných úkolů.
2. LambdaTest
LambdaTest využívá cloudový přístup k dodávce 3 000 automatizovaných zařízení – ovšem s výrazným zaměřením na webové prohlížeče, což může omezit účinnost tohoto řešení pro některé programy. Tato platforma se specializuje na průběžné testování, které těsněji propojuje proces zajištění kvality s vývojem. Kontroly v této aplikaci také umožňují uživatelům nastavit rozlišení, což výrazně usnadňuje testování kompatibility napříč prohlížeči. Toto řešení nabízí model freemium, který však zahrnuje omezené testy bez aktualizace a žádná skutečná zařízení.
3. BrowserStack
Podobně jako LambdaTest poskytuje BrowserStack přístup ke 3 000 reálných zařízení; jejich katalog zahrnuje také starší a beta verze prohlížečů. Ačkoli lidé častěji aktualizují svůj prohlížeč než operační systém, stále může existovat mnoho lidí, kteří používají starší verze – BrowserStack to zohledňuje. Uživatelé mohou také provádět geolokační testování, aby zjistili, jak vypadají webové stránky a webové aplikace v různých zemích. Neexistují však žádné bezplatné nebo freemium možnosti a testování reálných zařízení může být pomalé.
4. TestGrid
TestGrid umožňuje paralelní testování, takže týmy mohou kontrolovat několik kombinací najednou a urychlit tak proces. Toto řešení se také dobře integruje s pracovním postupem testování a vývoje – případně usnadňuje agilní přístup tím, že tvoří klíčovou součást sprintů oddělení. TestGrid má však někdy problémy s připojením ke cloudovým zařízením a prohlížečům. Kromě toho je program poměrně omezený, pokud jde o zátěžové testy, dokumentaci a přidávání nových zařízení do firemní konfigurace.
5. Browsera
Browsera se zaměřuje především na testování webových stránek, aby se zajistilo jejich správné zobrazení na různých zařízeních, prohlížečích a operačních systémech. Protože se jedná o cloudový přístup, nemusí týmy zajišťující kvalitu instalovat tuto virtuální testovací laboratoř do svých zařízení. Browsera také dokáže porovnávat výstupy a inteligentně tak odhalit problémy s rozvržením a chyby v JavaScriptu, které by mohl přehlédnout i lidský tester. Browsera však nepodporuje několik běžných prohlížečů, včetně Opery, a nabízí pouze základní testovací funkce zdarma.
Závěr
Testování kompatibility má zásadní význam pro úspěšnou strategii zajištění kvality a umožňuje týmům ověřit své aplikace na široké škále zařízení. Bez využití této techniky si společnosti nemusí být vědomy toho, že jejich software bude pro velkou část cílové skupiny fungovat až po uvedení na trh. To stojí mnoho času a peněz ve srovnání s testováním před vydáním a aplikace, jako je ZAPTEST, mohou tento proces ještě více zefektivnit. Díky 1SCRIPT a mnoha dalším funkcím, které jsou k dispozici zdarma, jako je například paralelní testování, může volba ZAPTEST jako testovacího nástroje změnit jakýkoli projekt a poskytnout týmům naprostou důvěru v jejich aplikaci.