V dnešní době, kdy většina softwaru pro mobilní aplikace je tvořena a distribuována průběžně, mnohdy do celého světa je třeba zajistit také průběžnou automatizaci testování mobilního softwaru. V případě mobilních aplikací pro Android a iOS začíná být problém, jak testovat na obrovském množství kombinací HW variant, rozměrů, edic operačních systémů různých výrobců v různých částech světa na reálných zařízení. Simulátory a emulátory nejsou většinou to pravé. Pokud již testuji, jak si udělat vlastní beta distribuci opravdovým reálným testerům napříč platformami?
Pojďme si rychle představit jedny z celosvětově nejvíce využívaných služeb, které jsou k tomuto určeny. Jedná se o Xamarin Test Cloud a HockeyApp. Obě služby jsou velmi nezávislé na vývojářských technologiích a platformách ale přesto byly nedávno koupeny společností Microsoft, poslední dobou investující do vývojářů a testerů tvořící Android a iOS aplikace. Obě služby budou součástí připravované integrované multiplatformní DevOps služby Microsoft Visual Studio Mobile Center.
Xamarin Test Cloud
Xamarin Test Cloud je vzdálená cloudová služba pro testování mobilních aplikací na reálných zařízeních. Je to vlastně serverovna plná fyzických Android a iOS zařízení a obslužný software. Je určená pro masivní exekuci automatizovaných UI testů na mnoha různých typech zařízení. Je nezávislá na Xamarin technologii, můžete testovat aplikace napsané prakticky ve všech typech technologií, spouštět je ručně nebo pro orchestraci CI/CD použít jakýkoli nástroj viz. níže.
Na začátku procesu je třeba vytvořit universální automatizované testy, které se pak množí, spouští a kontrolují a jejich výsledky přehledně reportují. Pro tvorbu – skriptování UI testů je možné použít Xamarin UI Test, Calabasch(Rubby) nebo nově také Appium Framework. Zcela jistě ale doporučuji vyzkoušet nový Xamarin Test Recoder pro Visual Studio nebo iOS – výrazně ušetří práci s tvorbou testů protože je generuje dle toho co děláte na fyzickém zařízení nebo simulátoru.
Xamarin Test Cloud podporuje gesta, hlavní fyzické senzory telefonů jako GPS, tlačítka, kameru, rotace atd. Po exekuci testů dostáváte velmi přehledné celkové reporty s detaily po zařízení. Prohlédněte si české video Začínáme s Xamarin Test Cloud.
V současné době jsou funkční již vlastně dvě verze Xamarin Test Cloudu. Nově připravovaná verze je již součástí většího balíku - Microsoft VS Mobile Center. V bezplatném trial režimu můžete vyzkoušet obě.
HockeyApp – beta distribuce pro iOS, Android, OS X, a Windows
Většinou nestačí důkladně otestovat aplikace jen na velkém množství různých fyzických zařízení. Je třeba aplikace také průběžně poskytovat omezenému množství konkrétních lidí, kteří již mají svoje vlastní telefony a tablety. Od nich pak sbírat reálné bugy a analyzovat potenciální pády, ideálně také získávat feedback z reálného používání testerem. Ano, prakticky všechny veřejné obchody beta distribuci mají, každý ale jinak a interakce s beta testery není dobře zajištěna. Zde nastupuje HockeyApp.
Cílem HockeyApp je zajištění jednoduché a kontinuální beta distribuce nových verzí, sběr informací o používání a možnost interakce beta testera s vývojovým týmem. Pokud je již aplikace finální, tak navíc unifikovaný sběr uživatelských metrik a telemetrii napříč platformami. Obecně se jedná o velmi podstatné části Mobile DevOps workflow.
Na rozdíl od UI testování je zde třeba sahat více do kódu – umět vložit instrumentaci pro sběr dat. K tomu slouží klienské SDK, které jsou veřejně dostupné včetně zdrojových kódů a to třeba i pro Unity.
Beta distribuce pak neprobíhá do různých veřejných aplikačních obchodů ale nejprve do unifikovaného privátního aplikačního místa pro testery, kde jsou pohromadě všechny platformy i aplikace, zde se také vše konfiguruje, zajišťuje spolupráce, reporting atd. Testerům se on-line pushují aplikace na jejich zařízení přímo, mají navíc dostupnou další funkčnost umožňující např. posílat feedback do dev týmu z aplikace. Vývojářský portál obsahuje různé typy reportů o chování uživatelů a aplikace. HockeyApp je možné začít používat nebo vyzkoušet zcela zdarma ve free plánu pro single uživatele.
Visual Studio Mobile Center
Jak již bylo uvedeno, obě výše uvedené služby budou také součástí připravovaného mobile DevOps balíku Visual Studio Mobile Center.
Tato cloudová služba je nyní dostupná jako preview, na vyžádání a pokrývá celý životní cyklus mobilních aplikací. V současné podobě nabízí následující služby:
- Buildy – continuous integration a Release management
- Testy – automatické testy na skutečných zařízeních (Xamarin Test Cloud)
- Crash reporting – analytika pádů aplikace v reálném čase
- Distribution – deployment uživatelům nebo testerům
- Analytics – business a usage metriky
- Authentication – integrace s autentizačními systémy
- EasyTables – jednoduché cloudové datové úložiště pro mobilní backend
Podpora je aktuálně dostupná pouze pro Android a iOS aplikace napsané v Objective-C, Swiftu, Javě, Xamarinu a React Native. Do budoucích verzí je plánována podpora UWP aplikací a Cordovy.
Všechny funkce jsou můžete kromě webového rozhraní využívat i pomocí REST API. Přečtěte si dokumentaci.
Chcete-li si přečíst více o možnostech multiplatformního vývoje, testování a distribuci? Stáhněte si zdarma e-brožuru „Microsoft platform and tools for mobile application development“.
Pokud hledáte informace, jak tvořit multiplatformní aplikace pomocí Visual Studia, pak je najdete na adrese https://www.visualstudio.com/vs/mobile-app-development/.