Mobilappstestning: Exempel på testfall och testscenarier
⚡ Smart sammanfattning
Testning av mobilapplikationer omfattar funktionalitet, prestanda, säkerhet, användbarhet, kompatibilitet och återställningsmöjligheter, och varje typ bidrar med en distinkt uppsättning exempeltestscenarier som team återanvänder när de validerar en ny version.
En vanlig fråga från våra elever är hur man testar mobilappar. Nedan följer exempel testscenarier och testfall för en mobilapplikation.
Du kan utföra några eller alla dessa testfall baserat på dina mobil testning krav. Fallen är organiserade efter mobil testtyp.
Funktionstestning av mobilapplikation
Funktionstestning av en mobilapplikation är processen att testa appens funktionalitet, inklusive användarinteraktioner och de transaktioner en användare kan utföra. Syftet är att säkerställa kvalitet, uppfylla de angivna förväntningarna, minska risken för fel och hålla kunderna nöjda.
De olika faktorer som är relevanta vid funktionstestning är:
- Typ av applikation baserad på användningen av affärsfunktioner (bank, spel, socialt eller företag)
- Target målgruppstyp (konsument, företag, utbildning)
- Distributionskanal som används för att sprida applikationen (t.ex. Apple App Store, Google Spela, direkt distribution)
Dessa faktorer avgör hur djupt varje område nedan går, som diagrammet visar.
De mest grundläggande testscenarierna inom funktionell testning kan betraktas som:
- För att validera om alla obligatoriska obligatoriska fält fungerar som krävs.
- För att validera att de obligatoriska fälten visas på skärmen på ett annat sätt än de icke-obligatoriska fälten.
- För att bekräfta om applikationen fungerar enligt kraven när den startas eller stoppas.
- För att bekräfta om applikationen går in i minimerat läge när det kommer ett inkommande telefonsamtal. För att bekräfta detta, använd en andra telefon för att ringa enheten. Detta är kärnan i avbrottstestning.
- För att validera om telefonen kan lagra, bearbeta och ta emot SMS när appen körs. För att validera detta, använd en andra telefon för att skicka ett SMS till den enhet som testas, där applikationen som testas för närvarande körs.
- För att validera att enheten kan utföra den multitasking som krävs närhelst det är nödvändigt.
- För att validera att appen tillåter nödvändiga alternativ för sociala nätverk, såsom delning, publicering och navigering.
- För att validera att applikationen stöder alla betalningsgateway-transaktioner som Visa, Mastercard eller PayPal i enlighet med applikationens krav.
- För att validera att scenarier för sidskrollning är aktiverade i applikationen efter behov.
- För att validera att navigeringen mellan relevanta moduler i applikationen är enligt kraven.
- För att validera att trunkeringsfel hålls till en överkomlig gräns.
- För att bekräfta att användaren får ett lämpligt felmeddelande, till exempel "Nätverksfel. Försök igen om en stund", när det uppstår ett nätverksfel.
- För att validera att den installerade applikationen gör att andra applikationer kan fungera tillfredsställande och att den inte förbrukar minnet hos de andra applikationerna.
- För att verifiera att applikationen återupptas vid den senaste operationen i händelse av en hård omstart eller systemkrasch.
- För att validera om installationen av applikationen kan ske smidigt förutsatt att användaren har nödvändiga resurser, och att det inte leder till några betydande fel.
- För att validera att applikationen utför automatisk start enligt kraven.
- För att validera om applikationen fungerar enligt kraven på alla generationer av mobilnät, det vill säga 3G, 4G och 5G.
- Att prestera Regressionstestning att upptäcka nya programvarufel i befintliga delar av ett system efter att ändringar har gjorts i dem. Kör även om tidigare utförda tester för att fastställa att programmets beteende inte har förändrats på grund av ändringarna.
- För att bekräfta om appen tillhandahåller en tillgänglig användarhandbok för de som inte är bekanta med appen.
Testfall för prestandatestning
När funktioner väl beter sig korrekt är frågan om de håller under belastning.
Det grundläggande målet med denna typ av testning är att säkerställa att applikationen presterar acceptabelt under vissa prestandakrav, såsom åtkomst för ett stort antal användare eller borttagning av en viktig infrastrukturdel som en databasserver.
De allmänna testscenarierna för prestandatester i en mobilapplikation är:
- För att avgöra om applikationen fungerar enligt kravet under olika belastningsförhållanden.
- För att avgöra om den nuvarande nätverkstäckningen kan stödja applikationen på topp-, medel- och lägsta användarnivåer.
- För att avgöra om den befintliga klient-serverkonfigurationen ger den erforderliga optimala prestandanivån.
- Att identifiera de olika flaskhalsar i applikationer och infrastruktur som hindrar applikationen från att prestera på de erforderliga acceptansnivåerna.
- För att kontrollera om applikationens svarstid uppfyller kraven.
- Att utvärdera produkt och/eller hårdvara för att avgöra om den kan hantera beräknade lastvolymer.
- För att utvärdera om batteriets livslängd klarar av applikationen under beräknade belastningsvolymer.
- För att validera applikationens prestanda när nätverket ändras till Wi-Fi från 4G/5G eller vice versa.
- För att validera att var och en av de nödvändiga CPU-cyklerna är optimerad.
- För att validera att batteriförbrukning, minnesläckor och resurser som GPS och kameraprestanda ligger väl inom de riktlinjer som krävs.
- För att validera applikationens livslängd närhelst användarbelastningen är rigorös.
- För att validera nätverkets prestanda när du flyttar runt med enheten.
- För att validera applikationens prestanda när endast intermittenta faser av anslutning är tillgängliga.
Säkerhetstestningstestfall
Prestanda och säkerhet överlappar varandra: den lokala lagringen som snabbar upp en app är det en angripare läser först.
Det grundläggande syftet med säkerhetstestning är att säkerställa att applikationens data- och nätverkssäkerhetskrav uppfylls enligt riktlinjerna.
Följande är de viktigaste områdena för att kontrollera säkerheten för mobila applikationer.
- För att validera att applikationen kan motstå alla brute force-attacker, vilket är en automatiserad process av trial and error som används för att gissa en persons användarnamn, lösenord eller kreditkortsnummer.
- För att validera att applikationen inte tillåter en angripare åtkomst till känsligt innehåll eller funktioner utan korrekt autentisering.
- För att validera att applikationen har ett starkt lösenordsskyddssystem och att det inte tillåter en angripare att få tag på, ändra eller återställa en annan användares lösenord.
- För att verifiera att applikationen inte lider av otillräckligt sessionsutgång.
- Att identifiera dynamiska beroenden och vidta åtgärder för att förhindra att angripare får åtkomst till dessa sårbarheter.
- Att förebygga SQL injektionsrelaterade attacker.
- För att identifiera och återställa från eventuella ohanterade kodscenarier.
- För att säkerställa att certifikaten är validerade och för att kontrollera om applikationen implementerar certifikatfästning.
- För att skydda applikationen och nätverket från överbelastningsattacker.
- Att analysera datalagring och datavalideringskrav.
- För att aktivera sessionshantering för att förhindra att obehöriga användare får åtkomst till oönskad information.
- För att kontrollera om någon kryptografikod är trasig och se till att den repareras.
- För att validera att implementeringen av affärslogiken är säker och inte sårbar för attacker utifrån.
- För att analysera filsysteminteraktioner, fastställa eventuell sårbarhet och rätta till dessa problem.
- För att validera protokollhanterarna, till exempel genom att försöka omkonfigurera standardlandningssidan för applikationen med hjälp av en skadlig iframe.
- För att skydda mot skadliga injektioner på klientsidan.
- För att skydda mot skadliga runtime-injektioner.
- För att undersöka filcachelagring och förhindra eventuella skadliga möjligheter från densamma.
- För att förhindra osäker datalagring i programmens tangentbordscache.
- För att undersöka cookies och förhindra skadliga handlingar från dem.
- Att tillhandahålla regelbundna revisioner för dataskyddsanalys.
- För att undersöka specialskapade filer och förhindra skadliga handlingar från de specialskapade filerna.
- För att förhindra buffertöverflöden och minneskorruption.
- För att analysera olika dataströmmar och förebygga eventuella sårbarheter från dessa.
Användbarhetstestningstestfall
En säker app som ingen kan använda misslyckas ändå, så användbarheten hamnar vid sidan av de tekniska kontrollerna.
Användbarhetstestprocessen för en mobilapplikation utförs för att producera en snabb och enkel applikation med färre funktioner snarare än en långsam och svår applikation med många funktioner. Huvudmålet är att slutligen få ett lättanvänt, intuitivt gränssnitt liknande de branschgodkända gränssnitten som används i stor utsträckning.
- För att säkerställa att knapparna har rätt storlek och är lämpliga för stora fingrar.
- För att säkerställa att knapparna är placerade i samma del av skärmen för att undvika att förvirra slutanvändarna.
- För att säkerställa att ikonerna är naturliga och överensstämmer med applikationen.
- För att säkerställa att knappar som har samma funktion också har samma färg.
- För att säkerställa att valideringen för kranenping zoom in och zoom ut är aktiverade.
- För att säkerställa att tangentbordsinmatningen kan minimeras på ett lämpligt sätt.
- För att säkerställa att programmet tillhandahåller en metod för att gå tillbaka eller ångra en åtgärd, vid beröring av fel objekt, inom en acceptabel tid.
- För att säkerställa att kontextmenyerna inte överbelastas, eftersom de måste användas snabbt.
- För att säkerställa att texten hålls enkel och tydlig så att den är synlig för användarna.
- För att säkerställa att korta meningar och stycken är läsbara för slutanvändarna.
- För att säkerställa att teckenstorleken är tillräckligt stor för att vara läsbar och inte för stor eller för liten.
- För att validera att applikationen uppmanar användaren varje gång användaren börjar ladda ner en stor mängd data vilket kanske inte bidrar till applikationens prestanda.
- För att validera att stängningen av applikationen utförs från olika tillstånd och verifiera om den öppnas igen i samma tillstånd.
- För att säkerställa att alla strängar konverteras till rätt språk närhelst en språköversättningsfunktion är tillgänglig.
- För att säkerställa att applikationsobjekten alltid synkroniseras enligt användarens åtgärder.
- Att säkerställa att slutanvändaren får en användarmanual som hjälper slutanvändaren att förstå och använda applikationen, ifall de inte är bekanta med hur den fungerar.
Användbarhetstestning utförs normalt av manuella användare, eftersom endast människor kan förstå andra användares känslighet och komfort.
Testfall för kompatibilitetstest
Samma version måste bete sig identiskt på hårdvara som teamet kanske aldrig har haft.
Test av kompatibilitet på mobila enheter utförs eftersom mobila enheter har olika storlekar, upplösningar, skärmar, versioner och hårdvara, så applikationen bör testas på alla enheter för att säkerställa att den fungerar som önskat.
Följande är de mest framträdande områdena för kompatibilitetstestning.
- För att validera att applikationens användargränssnitt matchar enhetens skärmstorlek och att ingen text eller kontroll är delvis osynlig eller oåtkomlig.
- För att säkerställa att texten är läsbar för alla användare av applikationen.
- För att säkerställa att samtals- och larmfunktionen är aktiverad när applikationen körs. Applikationen minimeras eller pausas vid ett samtal, och när samtalet avbryts återupptas applikationen.
Testfall för återvinningsbarhet
Återställningstestning täcker kraschåterställning och transaktionsavbrott – vad applikationen gör när enheten, batteriet eller anslutningen bryts mitt i en transaktion.
- Validering av den effektiva applikationsåterställningssituationen efter oväntade avbrott eller kraschscenarier.
- Verifiering av hur applikationen hanterar en transaktion vid ett strömavbrott (det vill säga att batteriet dör eller att enheten stängs av manuellt).
- Valideringen av processen där anslutningen avbryts och systemet behöver återupprätta den för att återställa data som direkt påverkats av den avbrutna anslutningen. Använda rätten mobila testverktyg hjälper till att säkerställa en smidig återhämtningsprocess.
Viktig checklista för testning av mobilapplikationer
En handfull kontroller täcker alla kategorier ovan och är lätta att glömma.
- Installationstestning (om applikationen kan installeras inom rimlig tid och med de kriterier som krävs)
- Avinstallationstestning (om programmet kan avinstalleras inom rimlig tid och med de nödvändiga kriterierna)
- Nätverkstestfall (validering av om nätverket presterar under den erforderliga belastningen och om nätverket kan stödja alla nödvändiga applikationer under testprocedurerna)
- Kontrollera omappade nycklar
- Kontrollera programmets välkomstskärm
- Fortsatt knappsatsinmatning under avbrott och vid andra tillfällen, till exempel vid nätverksproblem
- Metoder som handlar om att avsluta applikationen
- Laddareffekt medan en applikation körs i bakgrunden
- Lågt batteri och höga krav på prestanda
- Ta bort batteriet medan en applikation körs
- Batteriförbrukning per applikation
- Kontrollera biverkningar av applikationen



