Skip to main content

Compatibility testing aneb jak vyhovět všem. CZ

Rozumět prohlížečům, operačním systémům a různým zařízením musí v dnešní době snad každá moderní aplikace nebo framework pro tvorbu webových stránek.

Milióny lidí v dnešní době navštěvují Internet přes různé OS a verze prohlížečů. Z důvodu očekávání, že finální produkt bude fungovat vždy a všem, musíme brát v potaz požadavky testování mobilních aplikací, webových stránek a portálů.

Je proto zcela zásadní položit si otázku "Jaké je optimální pokrytí OS a webových prohlížečů z pohledu testování kompatibility".

Na to, abychom zodpověděli tuto otázku, bude nutné jisté rozdělení problematiky, a to na jednotlivé oblasti:
  • druhy zařízení, které přistupují k aplikacím a webům, a jejich rozlišení,
  • druhy webových prohlížečů,
  • operační systémy a jejich verze.


Distribuce provozu (Q4/2019 - zdroj):
Mobilní telefony: 51,74%
Stolní PC: 45,61%
Tablety: 2,65%

Není snad žádným překvapením, že mobilní zařízení aktuálně válcují trh a budoucnost tedy nebude nejspíš jiná. Tudíž zobrazení a testování aplikací či webových stránek v těchto zařízeních bude nutností. Uživatel průměrně denně stráví na tomto typu zařízení 7 hodin, proto je zcela zásadní testovat je prioritně



Webové prohlížeče (zdroj):
Chrome 64,45%
Safari 17,57%
Firefox 4,58%
Samsung internet 3,28%
Edge Legacy 2,19%
Prohlížeč UC 2,16%

Hlavním rozdílem webových prohlížečů je různý způsob vykreslování (tzv. "rendering engine"), a můžeme je rozdělit na základní oblasti: 
·      Safari i Opera jsou postaveny na WebKitu,
·      Chrome používá Blink,
·      a Firefox běží na Gecko.

Tato různorodost implementace má zásadní dopad na koncového uživatele a vhodný výběr technologií.

V průběhu testování se potýkáme s problémem, že výrobci webových prohlížečů ne vždy důkladně implementují W3C standardy, což musíme zohlednit u některých specifických implementací knihoven.


Distribuce OS (zdroj): 
Android 38,9%
Windows 35,29%
iOS: 14,97%
OS X: 8,07%
Linux: 0,89%
Jiné: 0,83%

Top 5 světových Smartphone společností a jejich podíl na trhu (%) (zdroj)


Čtvrtletí
2019Q3
Samsung
21.8%
Huawei
18.6%
Apple
13.0%
Xiaomi
9.1%
OPPO*
8.7%
Ostatní
28.8%

Existuje tedy 6 odlišných obchodních platforem jen pro Android.
Další proměnné do toho vnáší například:
·      verze Android based OS pro zařízení těchto výrobců,
·      minimálně 5 různých distribucí "Android core"
·      a cca 9 speciálních android implementací

V rámci návrhu testů je potřeba implementovat jistou prioritizaci:
1.     zařízení,
2.     OS,
3.     prohlížečů,
4.     a rozlišení dle cílové lokality a dostupných dat s ohledem na cílovou skupinu.

Obecně je možné říci, že bude nutné pokrýt tyto oblasti testy alespoň pro zasažení cca 70% uživatelů:
  • 3 druhy zařízení - mobilní telefon/tablet, desktop/laptop
  • 2 verze iOS
  • 4 verze Android
  • 5 "custom" implementací Android 
  • 5 druhů webovych prohlížečů a minimálně jeden nejpopulárnější
  • 5 druhů rozlišení

Popular posts from this blog

Juno miluje Jiru! CZ

Není nic lepšího, než když spolu dvě složky fungují naprosto synchronně. Test Case Management systém JunoOne od společnosti Denevy je navržen a vyvinut speciálně pro správu testů a řízení testovacích incidentů a jeho zásadní předností je plná kompatibilita se systémem JIRA. Tuto možnost propojení ocenilo již mnoho spokojených zákazníků. Přečtěte si více informací o našem projektu zaměřeného na integraci JunoOne s nástrojem JIRA v naší case study zde 

Webové služby - rychlý úvod do testování WS aneb jak získat první odpověď v nástroji SoapUI CZ

DevOps tools - choose wisely!

One of ours DevOps implementation could be described like most effective and simple way to move forward. CI/CD is based on Gitlab and other activities are integrated together like this:
JunoOne - Test management system with issue tracking and much moreGit distributed version-control system for tracking changes in source code during software development
Jira - software development tool used by agile teams
Gradle - From mobile apps to microservices, from small startups to big enterprises, Gradle helps teams build, automate and deliver better software, faster.
Selenium -  If you want to create robust, browser-based regression automation suites and tests, scale and distribute scripts across many environments, then you want to use Selenium WebDriver, a collection of language specific bindings to drive a browser - the way it is meant to be driven.
Php Unit - PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.
jUnit