Valg og test af forskellige app-typer

Native app, Hybrid app, Progressive Web App eller Responsive Design webløsning

Hvordan vælger man én app-type fremfor en anden? Hvad kendetegner de enkelte app-typer, og hvilken betydning har valget for kvalitetssikring af løsningen? 

App-typer

Klik for at læse mere om de enkelte app-typer

Native app

Native apps er udviklet specifikt til en given platform, typisk Android eller iOS. Denne type app har meget få tekniske begrænsninger ift. udnyttelse af mobilens egenskaber og funktioner, men den kræver et dybdegående kendskab til kodesproget for platformen (iOS = X-code eller Swift, Android = Android Studio).

Responsive Design løsning

Ren webløsning, som via informationer om Viewport size tilpasser sig forskellige skærmstørrelser. Udnytter kun i meget begrænset omfang mobilens egenskaber og funktioner. Det kræver viden og erfaring at kunne optimere siderne til de enkelte enheder og browsere. Løsningen udvikles typisk med HTML 5, CSS og JavaScript.

Hybrid app

Basalt set en webløsning, som er indkapslet i en Native App-skal. Den kan udnytte en stor del af mobilens funktioner via App-skallen, men opleves generelt lidt langsommere. Derudover kræver den kendskab til gængse webteknologier som HTML5, CSS og JavaScript. Native kode bliver genereret automatisk til alle supporterede platforme, via udviklingsværktøjet. En hybrid app bliver ofte brugt som ‘wrapper’ for en webløsning, for på den måde at være tilgængelig som app i Google Play og App store.

Progressive Web App

Webløsning ligesom Responsive Design med samme udfordringer i.f.t optimering af sider. PWA er en videreudvikling af Responsive Design løsningen, og den primære forskel er, at den stadig i højere grad udnytter brug af mobile funktioner via HTML5 API-kald. Understøttelsen af tilgængelige API kald afhænger af de enkelte browsere.

Produktanalyse

Før udviklingen af en mobilløsning påbegyndes, udføres en produktanalyse for blandt andet, at kunne tage stilling til, hvilken teknologi (app-type) der bedst imødekommer de krav og behov, som produktanalysen afdækker

Her følger eksempler på spørgsmål, man kunne lade indgå i produktanalysen:

Tilgang til test

Produktanalysen er udgangspunkt for mange vigtige aktiviteter, heriblandt:

  • Udarbejdelse af testgrundlag
  • Valg af app-type
  • Udvælgelse af repræsentative testkonfigurationer
  • Behov for testdata og -miljøer
  • Behov for værktøjer og teknologier
  • Behov for budget og ressourcer
  • Behov for løsningens økosystem

Og herved er det essentielle grundlag for udarbejdelse af løsningens teststrategi og -plan, på plads.

Her skal man tage højde for, at valget af app-type har indflydelse på en række testrelaterede aktiviteter, da det kan være alt fra rene webløsninger, til platformspecifikke kodebaser med næsten fuld adgang til alle mobilenhedens funktioner.

Herunder nævnes nogle af de testaktiviteter og områder, som dette især kan have betydning for.

Testkonfigurationer

Valget af app-type afgør, hvilke parametre man skal vægte, når man indsamler relevant anvendelsesstatistik, og har derved afgørende indflydelse på, hvilke anbefalede testkonfigurationer den efterfølgende analyse identificerer.

F.eks. vil indsamling af statistik om browserversioner ikke være relevant i en Native app løsning, men vil i høj grad være relevant for Responsive Design, PWA, og i mange tilfælde Hybrid app -løsninger. På samme vil Ligesom OS versioner og understøttelse af teknologier som NFC og BLE ikke være relevante for responsive design løsninger, men derimod for native apps, og måske også i nogen grad for PWA og hybrid app løsninger, som gør brug af teknologierne.

App distribution og opdatering

Vælger man en Native eller Hybrid appløsning, skal man sætte sig ind i, hvilke krav den skal opfylde for at klare Google’s og Apple’s godkendelsesprocesser og efterfølgende verificere dem.

I modsætning til Responsive Design og PWA webløsningerne, hvor man blot tilgår en URL i testmiljøet, kræver Native og Hybrid løsningerne, at man opsætter et app- distribueringssystem, der også håndterer opdateringer, i både udviklings- og testmiljø.

Test scope og -metodikker

Har man valgt en overvejende webbaseret mobilløsning, håndteres størstedelen af løsningens implementering og sameksistens med platformens øvrige funktioner, af enhedens browser.

Man kan fokusere på primært at bekymre sig om løsningens integration med resten af dens eget økosystem.

Vælges en Native eller Hybrid app løsning, skal man i langt større omfang selv sørge for at app’en og dens funktioner bliver integreret gnidningsfrit på den givne platform og dens økosystem.

Man skal teste en række andre ting, som er specifikke for disse app-typer, f.eks. installering, opdatering, afinstallering, netværks- og forbindelsestestscenarier, memory leak, batteriforbrug, interruptions, notifikationer, gestures samt evt. offline funktioner.

Til disse formål findes nogle gode mobiltestmetodikker, som vi måske vil tage op i et kommende blogindlæg.

Yderligere blogindlæg