fbpx

Get your 6-month No-Cost Opt-Out offer for Unlimited Software Automation?

Kompatibilitetstestning är en integrerad del av många kvalitetssäkringsstrategier, vilket gör det möjligt för företag att se om deras programvara fungerar korrekt på olika plattformar. Även för ett program som är exklusivt för datorer finns det flera stora operativsystem att ta hänsyn till och hundratals – om inte tusentals – hårdvaruskillnader som kan påverka stabiliteten. Att förstå kompatibilitetstestprocessen och dess vanliga fördelar kan hjälpa till att garantera en effektiv produktlansering som kan nå största möjliga publik av användare.

Även om kompatibilitetstestning kan erbjuda ett antal fördelar finns det också många betydande utmaningar som ett programvarutestteam måste övervinna för att kunna maximera denna tekniks potential. Det finns också specifika metoder som dessa avdelningar bör använda för att få bästa resultat – och säkerställa en omfattande övergripande testtäckning.

I den här artikeln tittar vi närmare på kompatibilitetstestning, inklusive de viktiga steg som teamen måste följa samt de mest användbara testverktygen som för närvarande finns tillgängliga.

Table of Contents

Vad är kompatibilitetstestning?

testning och utveckling av programvara?

Stresstestning - typer, processer, verktyg, checklistor och mer

Kompatibilitetstestning undersöker programvara på olika enheter, hårdvara och firmware för att säkerställa att den fungerar enligt teamets förväntningar. Varje användare kanske använder sitt program på en ny enhet, och då är det viktigt att företaget kan garantera att alla får en liknande upplevelse. Kompatibilitetstester kan till exempel innebära att varje funktion i en app kontrolleras för att säkerställa att den fungerar på alla större operativsystem.

Utan noggranna kompatibilitetstester är det fullt möjligt att ett företag släpper en applikation som inte fungerar för vissa populära enheter. Dessa kontroller måste vara heltäckande eftersom ett problem kan uppstå på många olika sätt – applikationen kanske inte fungerar med en mycket specifik typ av grafikkort, till exempel. I kombination med andra former av programvarutestning kan kvalitetssäkringsteam se till att deras program är redo för lansering.

 

1. När och varför behöver du göra kompatibilitetstest för mobila applikationer, webbplatser, system och cross-browser?

alfatestning vs betatestning

Företag utför kompatibilitetstest i sin programvarutestningsfas, särskilt när de har en “stabil” version av programmet som exakt återspeglar hur det kommer att fungera för kunderna. Detta fortsätter efter alpha, acceptance och de andra formerna av testning som ofta handlar om allmän stabilitet och funktionsrelaterade problem. Om en applikation stöter på problem under kompatibilitetstestfasen beror detta vanligtvis på specifika kompatibilitetsrelaterade problem. Om dessa kontroller införs för tidigt kan de i själva verket bli överflödiga, eftersom mindre ändringar senare i programmets utvecklingscykel kan påverka kompatibiliteten radikalt.

Kompatibilitetstester för webbläsare och programvara är viktiga eftersom de hjälper företag att lansera en applikation som de vet kommer att fungera tillfredsställande på praktiskt taget alla tänkbara enheter. Exempelvis bidrar tester av kompatibilitet mellan olika webbläsare till att säkerställa att personer som använder Opera får samma upplevelse som de som använder Firefox och andra större webbläsare. Teamet testar vanligtvis så många hårdvaru- och programvaruvarianter som deras tid och budget tillåter. Det innebär att de på ett intelligent sätt måste prioritera system eller webbläsare som deras kunder är mer benägna att använda, så att de kan garantera en bred testtäckning och en livskraftig produkt.

 

2. När du inte behöver utföra kompatibilitetstestning av programvara

checklista för testning av programvara

Företag kan skapa en skräddarsydd applikation för ett visst operativsystem eller en viss modell, vilket kraftigt begränsar antalet nödvändiga kontroller. Test av kompatibilitet mellan webbläsare i programvarutestning kan vara överflödigt om detta program inte kräver en webbläsare, till exempel. Tiden kan också vara en allvarlig faktor för ett företags förmåga att utföra dessa tester, även om testteamen fortfarande bör arbeta för att garantera att större system och webbläsare är kompatibla med programvaran. Det finns också vissa projekt som inte kan dra nytta av grundläggande kompatibilitetstester.

 

3. Vem är involverad i kompatibilitetstestning?

som bör arbeta med verktyg och planering för automatisering av programvarutestning

Här är de viktigaste personerna som utför kompatibilitetstestning vid programvarutestning:

 

1. Utvecklare

Utvecklingsteamet kontrollerar applikationens prestanda på en plattform under utvecklingen och detta kan till och med vara den enda enhet som företaget har för avsikt att släppa programmet på.

 

2. Testare

Kvalitetssäkringsteam, antingen inom företaget eller externt anlitade, kontrollerar många möjliga konfigurationer som en del av applikationens kompatibilitetstestningsfas, inklusive alla större operativsystem och webbläsare.

 

3. Kunder

Företagets kunder kan ha hårdvara eller konfigurationer som teamet inte kunde testa grundligt, vilket kan göra deras användarupplevelse till den första riktiga kontrollen av den specifika konfigurationen.

 

Fördelar med kompatibilitetstestning

Vad är programvarutestning?

De vanliga fördelarna med kompatibilitetstestning av programvara inkluderar:

 

1. Bredare publik

Ju mer noggrant ett team testar sin programvara, desto fler enheter kan de med säkerhet släppa den för, vilket säkerställer att en bred publik på många plattformar kan njuta av dess tillämpning. Detta gör det möjligt för företag att få mer produktförsäljning på programmet och kan också förbättra antalet positiva recensioner som denna programvara får från användarna.

 

2. Förbättrar stabiliteten

Kompatibilitetstestning i programvarutestning är viktigt för att belysa stabilitets- och prestandaproblem, som ofta kan vara mer uttalade på olika enheter – särskilt om utvecklarna bara utformade denna applikation för en plattform. Ett systemkompatibilitetstest visar företaget vad användare (på ett brett spektrum av enheter) kan förvänta sig av programvarans övergripande prestanda.

 

3. Förfinar utvecklingen

Dessa tester har också betydande långsiktiga effekter på ett utvecklingsteam. Till exempel kan tester av mobilkompatibilitet ge värdefull information om apputveckling som företag kan ta hänsyn till när de skapar ytterligare program. Detta kan avsevärt minska kostnaderna för kompatibilitetstester för framtida projekt, så att de kan återanvända de lärdomar de dragit av denna process.

 

4. Verifierar andra tester

De flesta former av testning som hittills genomförts är begränsade i omfattning och testar inte alla möjliga kombinationer av hård- och mjukvara – dessa tester skulle effektivt kunna dubbelkontrollera dessa resultat. Test av kompatibilitet mellan webbläsare validerar till exempel de tidigare kvalitetssäkringsstegen genom att visa att resultaten är desamma när användaren har en annan webbläsare.

 

5. Minskar kostnaderna

Kompatibilitetstestning kan också sänka kostnaderna för det aktuella programmet genom att hjälpa teamen att identifiera problem innan en app släpps offentligt – vid denna tidpunkt blir det dyrare att åtgärda fel. Ju mer varierade teamets tester är (och ju högre testtäckningsgrad de har), desto billigare är det att ta bort eventuella fel när de dyker upp.

 

Utmaningar med kompatibilitetstestning

Jämförelse mellan UAT-testning och regressionstestning och annan testning.

Här är några vanliga utmaningar som företag kan ställas inför när de implementerar kompatibilitetstestning i sin programvarutestning:

 

1. Begränsad tid

Automatiseringsverktyg och andra lösningar kan visserligen göra kompatibilitetstesterna betydligt snabbare genom att simulera en rad olika enheter, men processen måste fortfarande följa företagets utvecklingsschema. Det innebär att testteamet måste prioritera de vanligaste enheterna och webbläsarna för att garantera att de når den bredaste (och mest populära) publiken.

 

2. Brist på verkliga enheter

Dessa kontroller omfattar vanligtvis virtuella maskiner som simulerar komponenterna och förhållandena hos verkliga enheter. Detta är mycket billigare (och snabbare) än att självständigt förvärva relevanta delar och plattformar. Detta kan dock påverka noggrannheten i dessa resultat, särskilt eftersom prestanda ofta beror på hur användarna använder en verklig enhet.

 

3. Svårt att framtidssäkra

Kompatibilitetstester kan bara användas för plattformar som redan finns, vilket innebär att de inte kan garantera att applikationen kommer att fungera som förväntat på framtida versioner av Windows och Google Chrome. Organisationer kan bara åtgärda detta efter lanseringen, vilket ofta är dyrare, och applikationen kan så småningom bli föråldrad som ett resultat av detta.

 

4. Underhåll av infrastruktur

Om ett team bestämmer sig för att kontrollera en betydande mängd plattformar in-house kan detta leda till höga infrastrukturavgifter. Kompatibilitetstestning av mobilapplikationer kan till exempel innebära att ett antal riktiga mobila enheter används. Även om detta är mer exakt än simulerade tester av hårdvarukompatibilitet, är det dyrt och kräver vanligtvis regelbundet underhåll.

 

5. Högt antal kombinationer

Kompatibilitetstester tar hänsyn till många faktorer som påverkar varandra, t.ex. operativsystem, webbläsare, hårdvara, firmware och till och med skärmupplösning. Även om testteamet har mycket tid skulle det vara praktiskt omöjligt att ta hänsyn till varje enskild möjlighet. Konfigurations- och kompatibilitetstestning måste återigen prioritera de mest sannolika enhetskombinationerna.

 

Kännetecken för kompatibilitetstestning

Alpha-testning - Vad är det, typer, process, vs. Beta-test, verktyg och mer!

De viktigaste egenskaperna hos kompatibilitetstest är följande

 

1. Grundlig

Dessa kontroller måste kunna isolera alla eventuella kompatibilitetsproblem som uppstår mellan enheter – annars kan det sluta med att teamet släpper ett felaktigt program. Dessa kontroller måste t.ex. säkerställa att varje enskild funktion i applikationen återges som förväntat, oavsett användarens skärmupplösning.

 

2. Expansiv

Testerna bör upprätthålla en balans mellan djup och bredd och hjälpa teamen att undersöka ett antal problem i många enhetskonfigurationer. Vid testning av kompatibilitet med flera webbläsare granskas ett stort antal kombinationer av operativsystem och webbläsare, vilket säkerställer en hög täckningsgrad – ibland med hjälp av en automatiserad lösning.

 

3. Dubbelriktad

Denna process omfattar både bakåt- och framåtriktad kompatibilitetstestning; den förstnämnda gör det möjligt för teamet att se hur deras app fungerar på äldre hårdvara. Det senare ger teamet tillgång till banbrytande plattformar, vilket hjälper dem att garantera framgångsrika långsiktiga resultat, även om deras möjligheter till framtidssäkring är ganska begränsade.

 

4. Upprepningsbar

De problem som upptäcks vid dessa kontroller måste vara lätta att upprepa för andra testare och avdelningar – vilket visar att de återspeglar fel som användarna sannolikt kommer att stöta på. Om ett kompatibilitetstest för en webbplats visar att vissa funktioner inte fungerar i en viss webbläsare, hjälper repeterbarhet utvecklarna att åtgärda problemet.

 

Typer av kompatibilitetstestning

Automatisering av webbapplikationer

De viktigaste typerna av kompatibilitetstest är följande:

 

1. Testning av bakåtkompatibilitet

Vid test av bakåtkompatibilitet kontrolleras appen med äldre versioner av dagens hårdvara – detta är viktigt eftersom en begränsning av dessa kontroller till moderna enheter kan begränsa antalet användare avsevärt. Många använder fortfarande äldre operativsystem, t.ex. Windows 8.

 

2. Kompatibilitetstestning framåt

Test av framåtkompatibilitet är liknande men tittar istället på modern eller kommande teknik för att se om appen sannolikt kommer att fortsätta fungera i flera år trots framsteg och uppdateringar. Utan dessa tester kan programvaran till och med sluta fungera med nästa uppdatering av webbläsaren, till exempel.

 

3. Test av kompatibilitet med webbläsare

Tester av webbläsarkompatibilitet säkerställer att en webbapplikation eller webbplats fungerar i olika webbläsare. Detta är viktigt eftersom de använder olika layoutmotorer. Kvalitetssäkringsteamen testar även kompatibilitet mellan webbläsare, vilket innebär att de kontrollerar att varje webbläsare kan hantera applikationen på olika operativsystem.

 

4. Testning av mobilkompatibilitet

Att testa mobilappar är en liknande process som att kontrollera desktop- och webbapplikationer, särskilt eftersom telefonens operativsystem är en annan viktig faktor. Android- och iOS-appar finns till exempel i helt olika format och kräver en helt separat utvecklings- och testprocess för att passa båda.

 

5. Test av kompatibilitet med hårdvara

Dessa kontroller tittar på de specifika komponenter som utgör maskinen och hur de kan påverka ett program; detta är kritiskt för praktiskt taget alla typer av enheter. En dator kan t.ex. ha ett grafikkort som inte klarar av att rendera gränssnittet i en webbapplikation.

 

6. Test av enhetskompatibilitet

Vissa applikationer ansluter till externa enheter via Bluetooth, bredband eller en kabelanslutning. En app kan till exempel behöva ansluta till en skrivare. Dessa tester syftar till att säkerställa att programmet interagerar med plattformens egna anslutningar och alla enheter som det kan komma åt.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

 

7. Test av nätverkskompatibilitet

Om en applikation kräver nätverksfunktionalitet för att fungera – t.ex. genom att ansluta till en onlinedatabas via företagets server – kräver detta många kompatibilitetskontroller. Detta säkerställer att programmet kan köras med lämplig hastighet med en Wi-Fi-, 4G- eller 3G-nätverksanslutning.

 

Vad testar vi i kompatibilitetstester?

reda ut en del förvirring om automatisering av programvarutestning

Kompatibilitetstestare kontrollerar vanligtvis följande:

 

1. Prestanda

Ett av huvudsyftena med kompatibilitetstestning är att säkerställa stabilitet, eftersom vissa aspekter av applikationen kan vara helt inkompatibla med vanliga plattformar. Genom att titta på programmets övergripande responsivitet säkerställer testteamet att det inte förekommer några allvarliga krascher på vissa enheter.

 

2. Funktionalitet

Kompatibilitetstestning kontrollerar också de allmänna egenskaperna och funktionerna hos en applikation för att säkerställa att programvaran kan ge rätt resultat. Ett system för hantering av kundrelationer kan t.ex. inte erbjuda försäljningsdata eller allmänna analyser för användare med ett föråldrat operativsystem.

 

3. Grafik

Vissa webbläsare eller enheter kan ha svårt att återge vissa grafiska element på grund av ett antal orsaker – och kompatibilitetskontroller kan hjälpa till med detta. Ett program kanske bara kan fungera med vissa skärmupplösningar om inte utvecklarna ändrar hur programmet visar sitt innehåll.

 

4. Anslutningsmöjligheter

Kompatibilitetstester tittar också på hur programmet specifikt integreras med både användarens enhet och sin egen databas, så att det kan upptäcka enheter som skrivare. Dessa kontroller kan t.ex. visa att appen inte kan ansluta till sin egen databas på 3G-nätverk.

 

5. Mångsidighet

Dessa kontroller säkerställer att företagets applikation är tillräckligt mångsidig för att fungera på gamla och nya versioner av samma operativsystem via bakåt- och framåtkompatibilitetstester. Detta säkerställer att användare inte stängs ute från programmet om deras programvara är några år gammal.

 

Typer av resultat från kompatibilitetstester

De tre viktigaste resultaten av kompatibilitetstesterna är

 

1. Testresultat

Det vanligaste resultatet av dessa kontroller är själva resultaten, som kan se ut på många olika sätt. Exempelvis kan tester av webbläsarkompatibilitet visa att en webbapplikation orsakar en minnesläcka i Microsoft Edge, medan samma app inte har några negativa effekter i Chrome-baserade webbläsare. Alternativt kan applikationen fungera exakt som teamet förväntar sig på de relevanta plattformarna.

 

2. Testloggar

Testresultaten visas också i form av applikationens egna loggar, där eventuella upptäckta programvaruproblem markeras med felmeddelanden. Dessa loggar kan även identifiera den specifika del av ett program som orsakar felet. För kompatibilitetstestning i synnerhet måste testarna vara bekanta med hur dessa loggar manifesterar och presenterar dessa problem på olika plattformar.

 

3. Testfall

Kompatibilitetstesterna anger vilka tester teamet ska utföra, och erbjuder en plats där de kan registrera resultaten i ett enkelt format. Testarna bör använda sin kunskap om programvaran, i kombination med resultat och loggar, för att identifiera orsaken till ett problem. Ju mer information de lämnar, desto snabbare kan utvecklarna börja åtgärda fel.

Typer av upptäckta defekter

genom kompatibilitetstestning

testning och automatisering av api

Här är de vanligaste felen som kompatibilitetstester kan identifiera:

 

1. Skalning av layout

Ett kompatibilitetstest för webbplatser kan visa om de element som ingår i en webbapp, eller till och med webbsidor, är skalbara så att de passar användarens enhet, särskilt upplösningen och storleken på skärmen. Därför kan viss grafik vara svår att se i vissa webbläsare.

 

2. Programvaran kraschar

Kompatibilitetstester gör det lättare att se om en applikation ens kan köras på vissa plattformar. En spelutvecklare kan t.ex. ta reda på vilka systemkrav som gäller för deras produkt genom att kontrollera vilka enheter som kraschar på grund av otillräckligt RAM-minne och processorhastighet när testarna startar produkten.

 

3. Problem med validering av HTML/CSS

Olika webbläsare och enheter läser kod på olika sätt – vissa korrigerar automatiskt enkla kodfel, t.ex. att en HTML-tagg inte stängs på rätt sätt. Test av webbläsarkompatibilitet kan identifiera fall av ogiltig CSS som hindrar appen från att generera sitt innehåll och även grundläggande funktioner.

 

4. Fel vid uppspelning av video

Många moderna videospelare använder HTML5 för att strömma videor online, och detta kan vara en viktig del av ett företags webbapp. Team som kontrollerar webbläsarnas kompatibilitet kan dock upptäcka att videofunktionerna i deras app inte är kompatibla med föråldrade webbläsare.

 

5. Säkerhet för filer

Kompatibilitetstestning inom programvaruteknik kan också hitta problem med filsäkerhet och hur detta varierar mellan olika enheter. Nyare versioner av Windows har t.ex. en mer robust säkerhet för in- och utdata. Detta kan leda till att applikationen (t.ex. ett antivirusprogram) har svårt att komma åt enhetens filer.

 

Process för testning av kompatibilitet

Vad är automatisering av programvarutestning?

De vanliga stegen i kompatibilitetstestning är

 

1. Sammanställa en testplan

En omfattande testplan är avgörande för kompatibilitetstestning; kvalitetssäkringsteamet kan hänvisa till denna vid behov under sina kontroller. Här beskrivs till exempel vilka enheter som ska testas och kriterierna för godkänt eller underkänt; de måste också fastställa om de kommer att använda robotiserad processautomation.

 

2. Konfigurera testfall

Testfall är lika viktiga eftersom de beskriver de specifika kompatibilitetskontroller som teamen utför och de specifika enheter som de arbetar med. Detta innehåller också de exakta steg som testarna ska ta, och gott om utrymme för dem att notera resultatet och all information som hjälper utvecklarna att upprätthålla kompatibiliteten.

 

3. Upprätta testmiljön

En isolerad och oberoende testmiljö fri från yttre påverkan är nödvändig för att säkerställa korrekta tester, vilket också gör att kvalitetssäkringsteamet kan identifiera var de problem de upptäcker kommer ifrån. Dessutom kan testarna utföra sina kontroller på applikationen utan att kompromissa med den “riktiga” versionen på något sätt.

 

4. Utför testerna

När testfallen och miljön är helt förberedda kan teamet börja med kompatibilitetstesterna – även med en automatiserad lösning har de bara en begränsad tid på sig. Testarna kommer att behöva prioritera de vanligaste operativsystemen och enhetskonfigurationerna för att ta hänsyn till detta och säkerställa en bred testtäckning trots dessa begränsningar.

 

5. Omtest

När testerna är klara och utvecklarna har fått testfallen kommer de att ändra applikationen så att den blir mer kompatibel, även om det kanske inte är möjligt för alla enheter. Testarna kontrollerar sedan appen igen och verifierar att de problem som de tidigare upptäckt inte längre finns kvar och att det inte finns några nya större fel.

 

Gemensamma mått för kompatibilitetstestning

Fördelar med att inrätta ett expertcenter för testning (TCoE).

Här är några vanliga mått som används för kompatibilitetstester:

 

1. Bandbredd

Tester av nätverkskompatibilitet mäter hur applikationen fungerar med olika nätverk, inklusive bredband och mobila datanätverk. Den minsta bandbredd som krävs för att programmet skall kunna utföra sina vanliga uppgifter och ansluta till företagets databas kan till exempel vara för hög för en genomsnittlig 3G-anslutning.

 

2. CPU-användning

Ett sätt som prestandaproblem kan visa sig på är oproportionerligt hög CPU-användning – detta kan betyda att enheten helt enkelt inte uppfyller programmets minimikrav. CPU-problem kan också påverka applikationens svarstid, begränsa dess funktionalitet och orsaka tillräckligt med fördröjning för att avaktivera användarna.

 

3. Skala för systemets användbarhet

System Usability Scale är ett vanligt sätt att mäta subjektiva detaljer i ett program och består av tio grundläggande frågor om en apps användbarhet. Den resulterande SUS-poängen är av 100 och kan skilja sig från en plattform till en annan på grund av grafiska fel.

 

4. Totalt antal defekter

Detta mått är konstant för de flesta testtyper och låter testarna förstå programmets nuvarande hälsa. Det är också möjligt för teamet att jämföra det totala antalet defekter mellan olika plattformar. Genom att göra detta kan testarna markera de fel som beror på inkompatibilitet.

 

5. SUPRQ Resultat

I likhet med en applikations SUS-poäng är Standardized User Experience Percentile Rank Questionnaire ett sätt för testare att betygsätta en applikation på flera viktiga faktorer, inklusive användbarhet och utseende. Detta hjälper dem att identifiera hur kunder kan ha svårt att använda applikationen på vissa enheter.

 

7 Misstag och fallgropar vid implementering av kompatibilitetstest

Utmaningar för belastningstestning.

Här är sju viktiga misstag som du bör undvika när du utför kompatibilitetstest:

 

1. Brist på verkliga enheter

Även om det skulle vara omöjligt att testa på alla möjliga kombinationer av enheter, kan ett testteam fortfarande dra nytta av att använda så många verkliga enheter som de kan få tag på. Olika plattformar erbjuder “riktiga” enheter via molnlösningar för att underlätta kompatibilitetstestning mellan webbläsare på sätt som kan återspegla inbyggd prestanda.

 

2. Undvik äldre enheter

Många användare har fortfarande tillgång till sina applikationer på äldre versioner av Windows eller iOS; att helt fokusera på nya utgåvor av populära enheter och operativsystem kan begränsa en produkts räckvidd. Om teamet inte breddar sina tester till “föråldrade” enheter kan en betydande del av deras målgrupp få problem med att använda programmet.

 

3. Felaktig tidshantering

Det finns ofta en stor mängd enheter och konfigurationer som kräver ett kompatibilitetstest, vilket innebär att teamet måste hantera sin tid för att kontrollera så många av dessa som möjligt. Detta är viktigt eftersom testerna vanligtvis fortfarande pågår nära slutet av utvecklingen; felaktig hantering kan kraftigt begränsa antalet kontroller.

 

4. Felaktig schemaläggning

Det är också av största vikt att teamen ser till att genomföra dessa tester i ett rimligt skede av programmets utveckling, helst efter alfatestning och de flesta former av funktionstestning. Det gör det lättare att se om ett problem är generellt eller specifikt för de enheter som teamet tittar på.

 

5. Ingen hänsyn tagen till skärmupplösning

Skärmupplösning kan vara en mycket större faktor för kompatibilitet än vad många testteam inser – särskilt eftersom den är anpassningsbar och påverkar hur en enhet visar grafiska element. Även om tidsfristen för kompatibilitetstester närmar sig är det viktigt att testteamen fortfarande arbetar för att ta hänsyn till detta i sin strategi.

 

Brist på sakkunskap

Testarna måste vara mycket skickliga på att kontrollera kompatibilitet mellan webbplatser, webbläsare och programvara, bland de många andra former som dessa tester kan ta. Om en testledare ger en av sina teammedlemmar i uppdrag att utföra kompatibilitetskontroller och denne inte har tillräcklig erfarenhet, kan det leda till att testerna blir långsammare och mindre exakta.

 

6. Ingen tidigare diskussion

Eftersom kompatibilitetstester ofta är tidskrävande (och potentiellt kräver ett stort antal enheter) måste teamen fastställa omfattningen av sina kontroller tidigt i kvalitetssäkringsfasen. Till exempel måste de ha en klar uppfattning om vilka specifika enheter eller konfigurationer de avser att testa innan deras kontroller ens börjar.

 

Bästa praxis för kompatibilitetstestning

Checklista för programvarutestning

De bästa sätten att säkerställa högkvalitativa kompatibilitetstester inkluderar:

 

1. Test under hela utvecklingsfasen

Eftersom programvaran ändras avsevärt från en vecka till nästa kan detta påverka hur kompatibelt programmet är med de avsedda enheterna. Teamen måste utföra kompatibilitetstester av programvara och webbläsare upprepade gånger för att se till att applikationen fortfarande fungerar bra på dessa plattformar efter utvecklingsändringar.

 

2. Använd verkliga enheter

Vissa verktyg för kompatibilitetstestning ger tillgång till “riktiga” simulerade enheter som på nära håll kan likna användarens upplevelse av den aktuella plattformen. På så sätt kan du säkerställa kompatibilitet mellan fler enheter och samtidigt upprätthålla en hög nivå av noggrannhet som inte finns i vissa automatiserade lösningar.

 

3. Prioritera testerna

Med en begränsad tid för att utföra dessa kontroller kan kompatibilitetstestare behöva prioritera de vanligaste enheterna, webbläsarna och operativsystemen. På samma sätt bör testteamet inspektera de mest kritiska funktionerna i programvaran först för att garantera grundläggande funktionalitet på dessa enheter.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

4. Integrera agila tekniker

Vissa företag väljer en sprintbaserad metod för sina kompatibilitetstester, vilket gör att de enkelt kan nå milstolpar i testningen – t.ex. att kontrollera ett visst antal enheter. Agile uppmuntrar kommunikation över avdelningsgränserna och ger samtidigt en fast teststruktur som kan garantera konsekventa och snabba förbättringar.

 

5. Begränsa testningens omfattning

Kvalitetssäkringsteam måste veta när de ska avsluta sina tester och till och med acceptera ett fall av inkompatibilitet. I detta fall kanske utvecklaren inte ändrar programvaran, utan istället ändrar minimikraven om detta skulle vara för svårt att kringgå genom buggfixar.

 

Exempel på testfall och scenarier för kompatibilitet

Vad är enhetstestning?

Kompatibilitetstestfall fastställer testteamets input, teststrategi och förväntade resultat, varav de senare jämförs med de faktiska resultaten. Eftersom kontrollerna omfattar många enheter och konfigurationer är detta ofta en omfattande process.

 

Dessa fall omfattar vanligtvis:

– Testa att webbapplikationens HTML visas korrekt.
– Kontrollera att programvarans JavaScript-kod är användbar.
– Se om applikationen fungerar i olika upplösningar.
– Testa att programmet kan komma åt filkatalogen.
– Kontrollera att appen är ansluten till alla fungerande nätverk.

 

Här är specifika exempel på kompatibilitetstestning i programvarutestning för olika program:

 

1. App för sociala nätverk

Sociala nätverk har ofta formen av webbappar i webbläsare och mobilappar för motsvarande enheter; båda typerna kräver lika grundliga tester. Till exempel måste denna mobilapp fungera fullt ut på iOS- och Android-enheter – och teamet måste kontrollera gamla och nya enheter under varje operativsystem. Om en viss modell av iPhone till exempel inte kan rendera animerade GIF-filer måste teamet identifiera vad som orsakar detta för att säkerställa en konsekvent användarupplevelse.

 

2. Videospel

Videospel erbjuder i allmänhet anpassningsbara grafiska alternativ som användarna kan ändra för att matcha sin maskin; detta inkluderar kontroll av skärmens upplösning och säkerställande av att användargränssnittet skalas på lämpligt sätt. Vissa problem kan uppstå beroende på spelarens specifika hårdvara – med antialiasing-fel som leder till kornig grafik. Detta kan bero på att ett vanligt grafikkort inte är kompatibelt med företagets texturrendering. Beroende på det exakta problemet kan detta till och med visa sig som en systemkrasch när vissa enheter startar spelet.

 

3. CRM molnbaserat system

Lösningar för hantering av kundrelationer använder i stor utsträckning databaser för att hämta information om transaktioner, leverantörer och andra viktiga aspekter av verksamheten, främst med hjälp av molnlagring. Testare bör se till att databasen och dess molntjänster fungerar på olika nätverk, inklusive 3G och 4G om en användare behöver komma åt den utan internetanslutning. Teamet måste också inspektera ett brett spektrum av operativsystem eftersom vissa fel kanske bara visas på Linux-enheter, till exempel.

 

Manuella eller automatiska kompatibilitetstest?

datorseende för testning av programvara

Automatisering kan vara till stor hjälp för kompatibilitetstester, så att teamen kan kontrollera ett stort antal enheter mycket snabbare än med en manuell metod. Manuell testning kan dock vara lämpligare när kontroller ska utföras på ett begränsat antal webbläsare och enheter – t.ex. ett videospel som bara finns tillgängligt på två plattformar. Programvarans användbarhet är ofta en central faktor i kompatibilitetstester och kräver vanligtvis ett mänskligt perspektiv som bättre kan identifiera problem med grafisk rendering. Robotic process automation kan hjälpa till med detta genom att implementera mjukvarurobotar som lättare kan efterlikna en mänsklig användares tillvägagångssätt vid kompatibilitetstester.

För program som utformats för ett brett spektrum av enheter, t.ex. mobil- och webbappar, ger automatisering teamet möjlighet att säkerställa en bredare testtäckning. De kan till och med använda hyperautomation för att på ett intelligent sätt lägga ut dessa kontroller på entreprenad på ett sätt som fortfarande säkerställer att mänskliga testare inspekterar dessa plattformar för användarspecifik funktionalitet. Kompatibilitetstestning i manuell testning är fortfarande obligatoriskt för vissa uppgifter – som att kontrollera att användargränssnittet visas korrekt på alla enheter. Det innebär att det bästa tillvägagångssättet kan vara en blandad strategi som kan testa fler enheter totalt sett genom automatisering, öka takten och samtidigt ta hänsyn till betydelsen av användbarhet.

 

Vad behöver du för att börja med kompatibilitetstestning?

Vad är belastningstestning, testning av mobilappar och ad hoc-testning?

De viktigaste förutsättningarna för kompatibilitetstestning inkluderar vanligtvis:

 

1. Kvalificerad testpersonal

Kompatibilitetstestare har i allmänhet högre kompetenskrav än andra former av kvalitetssäkring på grund av att de kontrollerar ett bredare utbud av enheter och ofta stöter på fler fel. Det kan handla om problemlösning, kommunikation och noggrannhet. Teamledare bör utse testare som har erfarenhet av att undersöka samma applikation på många plattformar.

 

2. Stark emulering av enheter

Det kan vara svårt att hitta källor och testa alla fysiska enheter inom teamets räckvidd, vilket gör emulering nödvändig för att se hur olika plattformar reagerar på samma program. Denna process är sällan perfekt och testare måste titta på de många emulatorer och automatiserade testverktyg som finns tillgängliga för att se vilken som erbjuder mest noggrannhet.

 

3. Tydlig omfattning av testningen

Teamet bör ha en förståelse för sitt uppdrag innan kontrollerna börjar, särskilt eftersom detta kan avgöra i vilken takt de arbetar. Även om programmet kan syfta till att täcka många plattformar, bör testarna identifiera en lämplig avgränsningspunkt. Att testa operativsystem som släpptes före Windows 7 kan till exempel leda till minskad avkastning.

 

4. Tidsplanering

Kompatibilitetstestning kan utföras när som helst under kvalitetssäkringsfasen, men sparas vanligtvis till slutet av utvecklingen – när programmet är stabilt och funktionsmässigt komplett. Testare bör dock överväga kompatibilitet långt innan detta eftersom det ofta är tidskrävande. Robust planering i förväg hjälper teamet att säkerställa att de har tillräckligt med tid för varje kontroll.

Kompatibilitetstestning

checklista, tips och tricks

Här är ytterligare tips som kvalitetssäkringsteam måste ha i åtanke när de genomför kompatibilitetstester:

 

1. Rikta inte in dig på absolut täckning

Även om varje teststrategi syftar till att maximera testtäckningen, slutar de vanligtvis innan de når 100% på grund av minskande avkastning med endast små förbättringar för mycket få användare. När det gäller kompatibilitet bör teamen förstå när för få av deras kunder skulle använda en enhet för att dessa kontroller ska vara meningsfulla.

 

2. Prioritera kombinationer med flera webbläsare

Test av kompatibilitet mellan webbläsare innebär att varje webbläsare kontrolleras mot olika operativsystem. Testarna måste använda omfattande analyser om sin målgrupp för att avgöra vad som är mest populärt av båda och använda detta för att styra sin strategi. De kan till och med utveckla en matris för webbläsarkompatibilitet, som fastställer omfattningen av dessa kontroller och deras olika konfigurationer.

 

3. Kontrollera layout

Att säkerställa en konsekvent upplevelse är kärnan i kompatibilitetstestning och dessa kontroller måste gå djupare än att identifiera om programmets funktioner fungerar på olika enheter. Teamen bör också kontrollera programmets övergripande layout, inklusive anpassningen av eventuella formulär eller tabeller, samt integriteten hos programmets CSS och HTML.

 

4. Kontrollera API:er

Programmeringsgränssnitt för applikationer är en viktig komponent i hur webbläsare läser appar, vilket gör dem avgörande för ett teams tester av kompatibilitet mellan webbläsare. Olika webbläsare har sina egna API-anrop, och uppdateringar över tid kan påverka kompatibiliteten. Testarna måste kontrollera dessa regelbundet, även om företaget använder ett liknande API för varje program.

 

5. Granska SSL-certifikatet

SSL-certifikat ökar säkerheten i en webbläsare genom att kryptera webbtrafik och låta användarna dra nytta av HTTPS-protokoll. En webbplats eller webbapp kan ha ett certifikat som inte är kompatibelt med vissa webbläsare. Det innebär att testare bör validera certifikatet på alla större plattformar för att se till att användarna känner sig trygga på webbplatsen.

 

6. Validera videospelare

Program som visar video, t.ex. streamingtjänster eller freemium-mobilspel som stöds av annonser, bör genomgå tester för att säkerställa att dessa videor visas på alla avsedda enheter. För många av apparna kommer dessa kontroller att omfatta både stationära och mobila enheter och kan titta på videons kvalitet, hastighet och bildfrekvens.

 

De 5 bästa verktygen och programvarorna för kompatibilitetstestning

Vanliga frågor om automatisering av funktionstestning

De mest effektiva gratis- och betalverktygen för att testa kompatibilitet inkluderar

 

1. ZAPTEST Free & Enterprise Edition

ZAPTEST erbjuder utmärkt funktionalitet i både Free och Enterprise (betalda) utgåvor, vilket hjälper företag av alla storlekar (eller budget) med sina kompatibilitetskontroller. Företag som väljer ZAPTESTs Enterprise-version kan till och med få en avkastning som är upp till 10x deras ursprungliga investeringar. Lösningens 1SCRIPT-funktion är särskilt anpassad till kompatibilitetstestares behov, så att de kan köra exakt samma tester på flera plattformar utan att ändra koden för att matcha. Lägg till toppmodern RPA-funktionalitet utan extra kostnad, så har du en helhetslösning för automatisering av alla typer av uppgifter.

 

2. LambdaTest

LambdaTest använder en molnbaserad metod för att leverera 3 000 automatiserade enheter – dock med ett betydande fokus på webbläsare, vilket kan begränsa lösningens effektivitet för vissa program. Plattformen är specialiserad på kontinuerlig testning och integrerar kvalitetssäkringsprocessen närmare utvecklingen. Kontrollerna på denna applikation låter också användarna ställa in sin upplösning, vilket gör det mycket enklare att testa kompatibilitet mellan webbläsare. Denna lösning erbjuder en freemium-modell, även om detta inkluderar begränsade tester utan uppgradering och inga riktiga enheter.

 

3. BrowserStack

I likhet med LambdaTest ger BrowserStack tillgång till 3 000 riktiga enheter; deras katalog innehåller också äldre och betaalternativ för webbläsare. Även om det är mer sannolikt att människor uppgraderar sin webbläsare än sitt operativsystem, kan det fortfarande finnas många som använder äldre versioner – BrowserStack tar hänsyn till detta. Användare kan också utföra geolokaliseringstest för att se hur webbplatser och webbappar ser ut i olika länder. Det finns dock inga gratis- eller freemiumalternativ, och testning av riktiga enheter kan vara långsamt.

 

4. TestGrid

TestGrid möjliggör parallell testning, vilket gör att teamen kan testa flera kombinationer samtidigt för att snabba upp processen. Denna lösning integreras också väl med arbetsflödet för testning och utveckling – och kan eventuellt underlätta ett agilt tillvägagångssätt genom att utgöra en viktig del av avdelningens sprintar. TestGrid har dock ibland problem med att ansluta till molnenheter och webbläsare. Dessutom är programmet ganska begränsat när det gäller belastningstester, dokumentation och att lägga till nya enheter i företagets installation.

 

5. Webbläsare

Browsera är främst inriktat på att testa webbplatser för att säkerställa att de visas korrekt på olika enheter, webbläsare och operativsystem. Eftersom det är molnbaserat behöver kvalitetssäkringsteamen inte installera det virtuella testlabbet på sina enheter. Browsera kan också jämföra utdata för att på ett intelligent sätt upptäcka layoutproblem och JavaScript-fel som även en mänsklig testare kan missa. Browsera har dock inget stöd för flera vanliga webbläsare, inklusive Opera, och erbjuder endast grundläggande testfunktioner gratis.

 

Slutsats

Kompatibilitetstestning är avgörande för en framgångsrik kvalitetssäkringsstrategi, så att teamen kan validera sina appar på ett brett spektrum av enheter. Utan att anamma denna teknik kan företag vara omedvetna om att deras programvara inte kommer att fungera för en stor del av deras målgrupp förrän efter lanseringen. Detta kostar mycket tid och pengar jämfört med testning före lansering och applikationer som ZAPTEST kan effektivisera denna process ytterligare. Med 1SCRIPT och många andra funktioner som är tillgängliga gratis, t.ex. parallell testning, kan valet av ZAPTEST som testverktyg förändra alla projekt och ge teamen total tillit till sin applikation.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post