Testa Mobile Enterprise Apps för SAP

Publicerad

(Alexander Ilg) (11 november , 2020)

Testning är en viktig del av alla programvaruutvecklingsprojekt – enhetstester, integrationstester, användaracceptansprov och så vidare. I den här bloggen vill jag diskutera testning av mobila företagsappar, särskilt de för offline-användning.

Ingen programvara är perfekt. Raket skickas till Mars och de kraschar på grund av buggar. Vissa flygplan stängs av om de inte ”startas om” åtminstone var 248 dagar (och du frågar mig varför jag är rädd för att flyga).

Rädd för att flyga? Titta inte på felrapporter för flygplansprogramvara!

Listan fortsätter, det finns till och med en Wikipedia-artikel som visar exempel på buggar i alla områden – https://en.wikipedia.org/wiki/List\_of\_software\_bugs .

Att ha och fixa ett fel på en central plats som en SAP-systemet kan redan vara smärtsamt (systemstart, stillestånd, olyckliga användare, förlorade data etc.). Att fixa ett fel i en applikation installerad på många datorer (som till exempel SAP GUI) är lite knepigare, men ändå hanterbar om alla maskiner är interna och anslutna till företagsnätverket.

Det blir mycket svårare att skicka en ny version av en mobil företags offline-applikation som är installerad på smartphones och surfplattor utanför företagets kontor. Även om du har en enhetshanteringslösning som Idaptive, SAP Mobile Secure, Mobile Iron eller Airwatch, är det fortfarande mycket arbete. Om användarna har en dålig nätverksanslutning är det svårt att distribuera nya versioner. Ännu värre om det finns beroenden mellan mobilapp och serverprogramvara – i så fall måste båda uppdateras samtidigt, vilket kan vara väldigt svårt om användarbasen är i flera tidszoner och distribuerad över hela världen. På grund av detta är det viktigt att testa mobila företagsappar mycket noggrant. Det spelar ingen roll vilken plattform du använder – Agentry, SMP, SCP Mobile Services, MobiLink eller något annat. Testning måste utföras på alla lager, inklusive klient, mellanprogram och backend. Följande är en lista med tester som ska utföras för varje applikation.

Funktionella tester

  • Testa all funktionalitet i båda riktningarna – skapa data i SAP och synkronisera dem till den mobila enheten. Skapa data på den mobila enheten och skicka den till SAP. Uppdatera poster på båda sidor, ta bort data och kontrollera att den också tas bort i motsatt system.
  • Testvalidering på den mobila enheten – får användaren rätt varnings- / felmeddelande när han anger fel data ?

Prestandatester – synkronisering och på enhet

  • Synkronisera med den maximala datavolym som du förväntar dig. Tänk också på att datavolymen kan öka över tid.
  • Testa med maximalt antal samtidiga enheter för att se hur systemet kan hantera belastningen.
  • Testa enheten med den maximala mängden data – hur fungerar prestanda för listor och detaljdialoger? Hur flytande är navigeringen i appen? Hur snabb är starttiden? Att testa på en simulator / emulator är aldrig tillräckligt bra, du måste testa det på den verkliga enheten som användaren kommer att hålla i sina händer senare!

Testa mot UI / UX-riktlinjerna för mobilt operativsystem

  • Om du har en inbyggd applikation, följer den UX-riktlinjerna från Apple, Google och Microsoft?
  • Om du har en hybrid- / plattformsoberoende applikation , följer det vanliga riktlinjer (till exempel SAP Fiori UX-guiden)?

Användbarhetstester

  • Ge applikationen till användarna och låt dem testa den. Är det intuitivt? Kan de ta reda på hur man använder den även utan eller med bara lite dokumentation?
  • Testa din lösning med användare som har erfarenhet av smartphones / surfplattor och med dem som inte är vana vid modern teknik.
  • Om du rullar ut internationellt, testa med användare från olika länder för att se hur de reagerar på programvaran.
  • Testa med olika språk och platsinställningar för att se till att allt visas korrekt
  • Låt översättningen granskas och testas av en inföding
  • Lyssna på dina testanvändare! Detta är den överlägset bästa feedbacken du kan få!

Testa bakom gardinen – inte bara användargränssnittet, även mellanprogrammet och backendintegrationen

  • Testklienten, middleware (om du har någon) och backend. Allt måste fungera bra tillsammans.
  • Se till att kommunikationen mellan de tre komponenterna fungerar bra.

Testa positiva och negativa fall

  • Testa din lösning med data och testa fall som du förväntar dig att fungera
  • Testa din lösning med data som du förväntar dig att misslyckas.Vi vet alla att användare kommer att ange den mest oväntade informationen och du måste se till att appen inte kraschar i ett sådant scenario.
  • Se till att båda fallen täcks framgångsrikt
  • Testa applikationen när middleware-servern är nere. Fungerar det som förväntat? Testa det när SAP inte är tillgängligt också.
  • Hård döda appen mitt i en spara- eller synkroniseringsprocess. Fungerar det fortfarande? Har du förlorat några data?
Låter bekant?

Testa utanför laboratoriet / med det verkliga nätverket

  • Testa din applikation med det riktiga nätverket som användarna kommer att använda senare. Är prestandan fortfarande tillräckligt bra med GPRS eller Edge? Är prestandan acceptabel på avlägsna platser?
  • Testa programvaran på den verkliga enheten, inte bara en simulator. Visas allt som det borde vara? Är prestanda som förväntat?
  • Testa programvaran med den verkliga enheten under verkliga förhållanden. Kan du läsa skärmen i starkt solljus? Fungerar enheten utomhus i värme eller kyla?
  • Testa lösningen med alla andra appar installerade – finns det några biverkningar? Med sandboxfilosofin för Android och iOS borde det fungera, men du kan testa det bättre.
  • Testa det i situationer med lågt minne – fungerar appen fortfarande? Hur är prestationen i det här fallet? Vad händer om appen tas bort från minnet?
  • Testa appen med äldre versioner av operativsystemet. Testa det också med betaversioner som kommer att släppas i framtiden!
Kan du arbeta med acceptabel hastighet mitt i ingenstans?

Skriv automatiska testskript

Låt dina utvecklare skapa automatiska testfall som kan köras före varje byggnad. Att göra detta kan minska testansträngningen och redan fånga de första buggarna innan de riktiga testarna börjar sina aktiviteter. Automatiserade enhetstester kan dock aldrig ersätta ”riktiga” tester, utan bara komplettera dem.

Testa på olika enheter

Om du har en BYOD-strategi (ta med din egen enhet), försök att testa applikationen på olika enheter. Fungerar appen på alla skärmupplösningar? Om det är plattformsoberoende, fungerar det på alla plattformar?

Testa installationen / uppdateringen

Testa installationen och uppgraderingen av din mobilapp. Kan APK, IPA eller XAP laddas ner via telefonanslutningen?

Testa säkerheten för appen

  • Använd en nätverkssniffer för att se om krypteringen som du slog på är aktiv.
  • Försök att öppna enhetsdatabasen för att se om den verkligen är krypterad.
  • Testa det säkra lagringsutrymmet som till exempel iOS-nyckelringen – är denna information endast lokal eller är den skicka till molnet?

Testa administrationsdelen av appen

  • Kan du skapa nya användare, enheter etc. i ditt mobillandskap?
  • Kan du avregistrera / ta bort enheter?
  • Är loggarna korrekt inställda? Har de tillräckligt med information för att analysera frågor? Är den tillräckligt låg för att loggen inte ska minska prestandan?

Oavsett hur länge och bra du testar kommer det att buggar glider genom sprickorna. Ju mer komplex appen är, desto mer sannolikt kommer det att hända. På grund av detta bör du alltid ha en reservlösning – det kan vara antingen ett Excel-ark eller bara ett papper. Helst behöver du aldrig använda den.

Testning är ett hett ämne – hur mycket testning räcker det? Hur mycket är för mycket? Man kan argumentera för att man aldrig kan testa tillräckligt, men någon måste betala för det. Som med allt måste du hitta rätt balans.

Lycka till med dina test! Och om du har några frågor eller behöver hjälp med din testning, kontakta mig på [email protected] .

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *