Mobilappstestning: Exempel på testfall och testscenarier
En vanlig fråga från våra elever är Hur testar man mobilappar? I den här handledningen tillhandahåller vi exempel på testscenario/testfall för att testa en mobilapplikation.
Du kan utföra några eller alla testfall baserat på dina mobiltestkrav. Testfall är organiserade baserat på mobila testtyper.
Funktionstestning av mobilapplikation
Smakämnen Funktionstestning av mobilapplikation är en process för att testa funktioner i mobila applikationer som användarinteraktioner samt att testa de transaktioner som användare kan utföra. Huvudsyftet med funktionstestning av mobilapplikationer är att säkerställa kvaliteten, uppfylla de specificerade förväntningarna, minska risken eller felen och kundnöjdheten.
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 play, direktdistribution)
De mest grundläggande testscenarierna i funktionstestet 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 distinkt sätt än de icke-obligatoriska fälten.
- För att validera om applikationen fungerar enligt kraven när applikationen startar/stoppar.
- För att verifiera om applikationen går in i minimerat läge när det kommer ett inkommande telefonsamtal. För att validera detsamma måste vi använda en andra telefon för att ringa enheten.
- För att verifiera om telefonen kan lagra, bearbeta och ta emot SMS när appen körs. För att validera detsamma måste vi använda en andra telefon för att skicka sms till enheten som testas och där applikationen som testas för närvarande körs.
- För att validera att enheten kan utföra erforderliga multitasking-krav närhelst det är nödvändigt att göra det.
- För att validera att applikationen tillåter nödvändiga sociala nätverksalternativ som delning, inlägg och navigering etc.
- För att verifiera att applikationen stöder alla betalningsgatewaytransaktioner som Visa, Mastercard, Paypal etc som krävs av applikationen.
- För att verifiera att scenarierna för sidrullning aktiveras i programmet vid behov.
- För att verifiera att navigeringen mellan relevanta moduler i applikationen är enligt kravet.
- För att validera att trunkeringsfelen är absolut till en överkomlig gräns.
- För att verifiera att användaren får ett lämpligt felmeddelande som "Nätverksfel. Vänligen försök efter en tid" när det finns något nätverksfel.
- För att verifiera att den installerade applikationen gör att andra applikationer kan fungera tillfredsställande och att den inte äter in i 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 göras smidigt förutsatt att användaren har de nödvändiga resurserna och det inte leder till några betydande fel.
- För att validera att applikationen utför automatisk startfunktion enligt kraven.
- För att validera om applikationen fungerar enligt kravet i alla versioner av Mobile som är 2g, 3g och 4g.
- Att prestera Regressionstestning för att upptäcka nya programvarubuggar i befintliga delar av ett system efter att ändringar har gjorts i dem. Kör även tidigare utförda tester igen för att fastställa att programmets beteende inte har ändrats på grund av ändringarna.
- För att validera om applikationen tillhandahåller en tillgänglig användarguide för dem som inte är bekanta med appen
Testfall för prestandatestning
Den här typen av tests grundläggande mål är att säkerställa att applikationen fungerar acceptabelt under vissa prestandakrav, såsom åtkomst av ett stort antal användare eller borttagning av en viktig infrastrukturdel som en databasserver.
De allmänna testscenarierna för prestandatestning 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 flaskhalsarna i applikationen och infrastrukturen som hindrar applikationen att prestera på de nödvändiga acceptabilitetsnivåerna.
- För att validera om svarstiden för ansökan överensstämmer med 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 batteritiden kan stödja applikationen att prestera under beräknade belastningsvolymer.
- För att validera applikationsprestanda när nätverket ändras till WIFI från 2G/3G eller vice versa.
- För att validera var och en av de nödvändiga är CPU-cykeln optimering
- För att verifiera att batteriförbrukningen, minnesläckor, resurser som GPS, 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 krävs.
Säkerhetstestningstestfall
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 mest avgörande områdena för att kontrollera säkerheten för mobilapplikationer.
- För att verifiera att applikationen kan motstå alla brute force-attacker som är en automatiserad process av försök och fel som används för att gissa en persons användarnamn, lösenord eller kreditkortsnummer.
- För att validera om ett program inte tillåter en angripare att komma åt känsligt innehåll eller funktionalitet utan korrekt autentisering.
- För att verifiera att programmet har ett starkt lösenordsskyddssystem och att det inte tillåter en angripare att skaffa, ä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 de dynamiska beroenden och vidta åtgärder för att förhindra att någon angripare kommer åt dessa sårbarheter.
- För att förhindra från SQL injektionsrelaterade attacker.
- För att identifiera och återställa från eventuella ohanterade kodscenarier.
- För att säkerställa om certifikaten är validerade, implementerar applikationen Certificate Pinning eller inte.
- För att skydda applikationen och nätverket från överbelastningsattacker.
- Att analysera datalagring och datavalideringskrav.
- För att möjliggöra sessionshantering för att förhindra obehöriga användare att komma åt oönskad information.
- För att kontrollera om någon kryptografikod är trasig och se till att den repareras.
- För att validera om implementeringen av affärslogik ä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 att försöka konfigurera om standardmålsidan för applikationen med 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 applikationernas tangentbordscache.
- För att undersöka cookies och förhindra eventuella skadliga handlingar från cookies.
- Att tillhandahålla regelbundna revisioner för dataskyddsanalys.
- Undersök skräddarsydda filer och förhindra eventuella skadliga handlingar från de skräddarsydda filerna.
- För att förhindra buffertspill och fall av minneskorruption.
- Att analysera olika dataströmmar och förhindra eventuella sårbarheter från dessa.
Användbarhetstestningstestfall
Användbarhetstestprocessen för mobilapplikationen utförs för att ha en snabb och enkel stegapplikation med mindre funktionalitet än en långsam och svår applikation med många funktioner. Huvudsyftet är att säkerställa att vi i slutändan har ett lättanvänt, intuitivt och liknande branschaccepterade gränssnitt som används flitigt.
- För att säkerställa att knapparna ska ha önskad storlek och passa stora fingrar.
- För att säkerställa att knapparna placeras i samma sektion av skärmen för att undvika förvirring för slutanvändarna.
- För att säkerställa att ikonerna är naturliga och överensstämmer med applikationen.
- För att säkerställa att knapparna, som har samma funktion, också ska ha samma färg.
- För att säkerställa att valideringen för tappningsin- och utzoomingsfunktionerna ska vara aktiverad.
- 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 de sammanhangsberoende menyerna inte överbelastas eftersom de måste användas snabbt.
- För att säkerställa att texten hålls enkel och tydlig för att vara synlig för användarna.
- För att säkerställa att de korta meningarna och styckena ä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 applikationen uppmanas användaren varje gång användaren börjar ladda ner en stor mängd data som kanske inte gynnar applikationens prestanda.
- För att verifiera 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 lämpliga språk närhelst en översättningsmöjlighet är tillgänglig.
- För att säkerställa att applikationsobjekten alltid synkroniseras enligt användarens åtgärder.
- För att säkerställa att slutanvändaren förses med en användarmanual som hjälper slutanvändaren att förstå och använda applikationen som kanske inte är bekant med applikationens förfaranden
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
Kompatibilitetstestning på mobila enheter utförs för att säkerställa att eftersom mobila enheter har olika storlek, upplösning, skärm, version och hårdvara så bör applikationen testas över alla enheter för att säkerställa att applikationen fungerar som önskat.
Följande är de mest framträdande områdena för kompatibilitetstestning.
- För att verifiera att applikationens användargränssnitt är enligt enhetens skärmstorlek, är ingen text/kontroll delvis osynlig eller otillgänglig.
- 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-/larmfunktionen är aktiverad när applikationen körs. Applikationen minimeras eller avbryts vid händelse av ett samtal och sedan när samtalet stoppas återupptas applikationen.
Testfall för återvinningsbarhet
- Kraschåterställning och transaktionsavbrott
- Validering av den effektiva applikationsåterställningssituationen efter oväntade avbrott/kraschscenarier.
- Verifiering av hur applikationen hanterar en transaktion under ett strömavbrott (dvs. batteriet dör eller en plötslig manuell avstängning av enheten)
- Valideringen av processen där anslutningen är avstängd måste systemet återupprättas för att återställa data som direkt påverkas av den avbrutna anslutningen. Utnyttja rätten mobila testverktyg kan hjälpa till att säkerställa en sömlös återställningsprocess.
Viktig checklista
- Installationstestning (om applikationen kan installeras inom rimlig tid och med nödvändiga kriterier)
- Avinstallationstestning (om applikationen kan avinstalleras inom rimlig tid och med nödvändiga kriterier)
- Nätverkstestfall (validering av om nätverket fungerar under erforderlig belastning eller inte, om nätverket kan stödja alla nödvändiga applikationer under testprocedurerna)
- Markera Unmapped keys
- Kontrollera applikationens startskärm
- Fortsatt knappsats under avbrott och andra tider som 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
- Borttagning av batteri medan en applikation pågår
- Batteriförbrukning per applikation
- Kontrollera Applikationsbiverkningar