functional testing vs performance testing
Funktionell testning mot prestandatestning:
Skillnader mellan Prestandatestning, belastningstestning och stresstestning förklarades med exempel i vår senaste handledning.
Programvarutestning täcker ett brett spektrum av områden där någon verifiering eller validering av programvarufunktionalitet kan förekomma. Ibland blir icke-funktionella aspekter mindre beträffande de funktionella aspekterna. De utförs inte praktiskt; samtidigt under programvarutestning.
=> Klicka här för kompletta prestandatestningsserier
Den här artikeln förklarar de extra fördelarna med programvarans produktkvalitet under olika scenarier i programvarutestningens livscykel när både funktionella och icke-funktionella tas samtidigt.
Vad du kommer att lära dig:
- Snabb skillnad mellan prestandatestning och funktionstestning
- Varför ska funktionstestning och prestandatestning göras samtidigt?
- Fallstudie
- Slutsats
- Rekommenderad läsning
Snabb skillnad mellan prestandatestning och funktionstestning
Sl NO | Funktionell testning | Prestandatester |
---|---|---|
1 | För att verifiera programvarans noggrannhet med bestämda ingångar mot förväntad produktion | För att verifiera systemets beteende vid olika belastningsförhållanden |
två | Det kan vara manuellt eller automatiserat | Det kan utföras effektivt om det är automatiserat |
3 | En användare som utför alla åtgärder | Flera användare utför önskade åtgärder |
4 | Involvering krävs från kund, testare och utvecklare | Involvering krävs från kund, testare, utvecklare, DBA och N / W Management team |
5 | Testmiljö i produktionsstorlek är inte obligatorisk och H / W-kraven är minimala | Kräver nära produktionstestmiljön och flera H / W-anläggningar för att fylla lasten |
Varför ska funktionstestning och prestandatestning göras samtidigt?
Funktionstestning blir mycket viktigare för eventuell programversion. Faktiskt resultatbaserat verifiering och validering i den replikerade produktions- eller testmiljön är där testningen vanligtvis sker.
Defektläckage kan bli en av de största problemen:
Testare har mer ansvar än utvecklare när det gäller produktens kvalitet. I grund och botten vill de inte att den testade produkten ska ha defektläckage. Testare tenderar i allmänhet att bara utföra funktionstester för att uppnå detta.
Följande är en konversation mellan enTestchef och en testare :
(Testchef kallas 'TM' och testare 'TR')
TM : Hej kompis ... Hur mår vi i produktens A-test?
TR : Ja ... Vi går igenom på ett större sätt.
TM : Det är fantastiskt ... Och vad är vårt omfång när det gäller prestandatestning medan funktionstestning utförs?
TR : Vi täcker inte dem, våra leveranser ska bara vara i det funktionella området och inte på det icke-funktionella området. Testmiljön vi använder är inte heller en exakt kopia av produktionen.
Det finns några frågor från ovanstående samtal att överväga:
- Har funktionstestning en beroende faktor över prestanda?
- Tänk om programvarans prestanda försämras, men leveransen av produkten sker utan att kontrollera prestandan?
- Prestandatestning - existerar det samtidigt i den funktionella testprocessen?
Det har blivit en allmän praxis för testare att inte arbeta med de icke-funktionella aspekterna om de inte ombeds göra det. Det är vanligt att undvika icke-funktionell testning tills klienten har rapporterat om problem med programvarans prestanda.
Så det finns två frågor du kan tänka på:
- Prestanda - påverkar det funktionstestning?
- Håller vi prestandatestning som en separat leverans, även om det oroar kunden?
Prestandatestning är Viktig !
hur man skriver testfall i excel-ark
Mjukvara fungerar baserat på olika arkitekturer och följande modeller, inklusive:
- Nödvändiga svarsmodeller
- Transaktionsbaserade system
- Lastbaserade system
- Datareplikeringsbaserade system
Ovan nämnda systematiska modellens funktionella testbeteende beror på systemets prestanda.
Automatiseringsperspektivet kräver mycket uppmärksamhet mot prestandatestning.
Följande är en konversation mellan enklient och Test Manager.
(Klienten kallas 'CL' och testansvarig 'TM')
CL : Därför kommer jag till den lösning som vi har begärt, jag hoppas att det kommer att finnas flera iterationer av testningen som pågår just nu.
TM : Ja, detta kan göras. Som du har sagt kommer det att finnas en högre sannolikhet för iterativ testning, vi skulle vilja föreslå automatisering för att hantera funktionell (regression) testning.
CL : OK bra, skicka oss din inställning så vi kan godkänna detta. Automation kommer att ha en mycket högre effekt med minimal ansträngning.
TM : Exakt. Vi kommer att arbeta med tillvägagångssättet och komma tillbaka till dig med ett bevis på konceptet.
Av ovanstående samtal är det tydligt att kundernas behov är att optimera effektiviteten.
Fallstudie
Företaget ABC arbetar med ett projekt för att utveckla programvara A. Testning av programvaran A görs av företaget XYZ.
Kontraktet för företaget ABC och XYZ har vissa begränsningar för deras samarbete. Varje diskussion mellan de två företagen bör ske en gång i veckan eller tre gånger i månaden. Systemet fungerar på en modell av begäran-svar-läge. Utvecklingsfasen har slutförts av Company ABC.
Nu är det dags för företag XYZ att utföra den formella funktionella testningen av programvaran A. XYZ börjar arbeta med att testa programvaran A. De har gett en ren chit på programvaran och har gett 'Go' för liveimplementering efter två testcykler.
Trots kvalitetscertifikatet från testteamet gick inte liveimplementeringen bra. Det fanns massor av buggar efter produktionen. Det fanns ett stort antal problem som klienterna stod inför, inklusive ett brott i funktionaliteten för de totala affärsprocesserna.
Så vad är nu?problem?
- Är det ett problem med en begränsning av samarbetet mellan utvecklings- och testteamet?
- Är det så att kraven inte fångades 100%?
- Är det så att produkten inte testades i en korrekt testmiljö?
- Eller några andra orsaker?
Efter noggrann forskning och analys,följande slutsatser:
- Det fanns få av de beroende och ömsesidigt beroende applikationerna som hade prestandaproblem när de hämtade svaren.
- Testingångarna som användes var inte absoluta.
- Programvarans robusthet hanterades inte.
- Massor av synkroniseringsproblem mellan flera oberoende applikationer.
- Programvarutestningen hade gjort flera omarbetningar som inte beaktades.
Därav efteravhjälpande åtgärderplaneringsteam gick in, föreslogs följande:
- Samspelet mellan utvecklingsteamet och testteamet måste ökas.
- Alla beroende applikationer måste anslutas och inkluderas i systemets funktionstestning
- Värdena för begäran och svarstidsavbrott måste ökas för att ge utrymme för miljöer som inte är producerade
- Olika ingångar som sträcker sig mellan enkla och komplexa måste användas vid funktionstestning
- Icke-funktionell testning, särskilt prestanda- och belastningstestning, måste göras enligt råd från det korrigerande teamet.
- Förutom systemtestning måste systemintegrationstester utföras.
- Det måste finnas ett minimalt tidsavstånd mellan två testningsprogram. Detta är för att testa tidigare identifierade buggar.
- Alla fel som identifierats i tidigare iterationer bör fixas i den aktuella iterationen.
Testteamet genomförde alla de föreslagna åtgärderna och det upptäcktes ett stort antal defekter på kort tid.
Observationer:
- Programvarans live-implementeringsschema förbättrades avsevärt genom att optimera testcykeltiderna.
- Det gick bra framsteg i optimeringen av mjukvarukvaliteten. Därför var det en enorm minskning av supportbiljetterna efter implementeringen.
- Omarbeten minskade och det testades iterationer istället för omarbeten. Mellan olika iterationer observerades bättre förbättringar av kvaliteten.
Slutsats
Att utföra icke-funktionell testning under utförande av funktionellt test är mer fördelaktigt och kommer att ge fler fördelar till den övergripande programvarukvaliteten. Detta kommer att identifiera prestandabuggar (begränsat till testmiljön och beroendet) och kommer därmed att minska situationer med funktionella antaganden.
Tillräcklig planering för att utföra funktionell och icke-funktionell testning (till en miniminivå) måste göras för att behålla en stark relation mellan de andra intressenterna i projektet.
Om författaren: Detta är en artikel skriven av Nagarajan. Han arbetar som testledare med över 6 års testerfarenhet inom olika funktionella områden som Banking, Airlines, Telecom när det gäller både manuell och automatisering.
Vår kommande handledning kommer att förklara mer om Prestandatestplan och Teststrategi.
=> Besök här för fullständiga prestandatestningsserier
PREV-handledning | NÄSTA självstudie
Rekommenderad läsning
- Funktionell testning mot icke-funktionell testning
- Bästa verktyg för testning av programvara 2021 (QA Test Automation Tools)
- Prestandatestning mot belastningstestning vs stresstestning (skillnad)
- Georgia Tech standardiserar sin prestandatestning på RadView WebLOAD
- Skillnad mellan Desktop, Client Server Testing och Web Testing
- Testing Primer eBook Download
- Skillnaderna mellan enhetstestning, integrationstestning och funktionstestning
- Test av molnprestanda: Molnbaserade tjänsteleverantörer för belastningstest