Kombinatorisk testning

Feb 24, 2020

introduktion:

numera är mjukvarusystem olika såväl som komplexa och har många möjliga konfigurationer. Dessa egenskaper och funktioner i mjukvarusystemen har invigt en efterfrågan på Programvara och applikationer som är unikt utformade och har innovativa såväl som kreativa funktioner. Bortsett från dessa kräver kunder och användare också exponentiell prestanda, funktionalitet, kvalitet, skalbarhet, effektivitet och mer. För att uppnå dessa mål och för att uppfylla kraven från kunder och konsumenter använder mjukvaruingenjörer olika innovativa tekniker och metoder för att utveckla en produkt, samt utföra rigorösa tester, eftersom produkter som släpps med otillräcklig testning kan orsaka irreparabel skada och förlust för klienten såväl som användaren som installerar programmet eller använder programvaran. Dessutom kan det också orsaka kroppsskada, vilket kan leda till stora ekonomiska förluster eller säkerhetsbrott, samt påverka kvaliteten på det dagliga livet. Programvarutestare har dock ofta begränsad tid och budget, vilket ofta gör det omöjligt att uttömmande testa programvara. Dessutom testar testare ofta intuitivt för defekter som de förutser, medan mindre förutsedda defekter förbises och inte testas. Det bästa sättet att övervinna en sådan situation är att genomföra kombinatorisk testning i programvara och applikationer. Kombinatorisk testning är ett tillvägagångssätt som systematiskt kan undersöka systeminställningen i ett hanterbart antal tester och genom att systematiskt täcka t-vägs interaktioner. Därför är här en expounded diskussion om kombinatorisk testning, för att definiera dess betydelse, metoder och andra viktiga egenskaper.

beskrivande kombinatorisk testning:

kombinatorisk testning är nu ett praktiskt tillvägagångssätt som ger högkvalitativ testning till en lägre kostnad. Det sönderdelas brute force i steg för att angripa problemet stegvis genom att separera analys-och syntesaktiviteter som kan kvantifieras och övervakas och delvis stöds av verktyg. Dessutom är kombinatorisk testning extremt enkel att tillämpa. Som en specifikationsbaserad teknik kräver den ingen kunskap om implementeringen som testas. Kombinatorisk testning baseras på förutsättningen att många fel i programvara endast kan uppstå genom interaktionen mellan två eller flera parametrar. Därför är kombinatorisk testning en effektiv teknik för att testa programvara med flera konfigurationsparametrar. Det används främst för att upptäcka interaktionsfel orsakade av kombinationen av parametrar. Den typ av test som genereras genom kombinatorisk testning syftar till att generera täckning som täcker alla t-vägsparametrar kombinationer, där ‘t’ är en given täckstyrka. Grundläggande kombinatorisk testning kan användas på två sätt, som antingen kan användas separat eller samtidigt. Dessa sätt är:

  • kombinationer av konfigurationsvärden eller parametrar, där täckande matriser används för att välja värden för konfigurerbara parametrar, eventuellt med hjälp av samma tester som körs mot alla konfigurationskombinationer.
  • täckande matriser används för att välja indatavärden, som sedan blir en del av kompletta testfall, vilket skapar en testdräkt för applikationen. Att tillämpa denna form av kombinatorisk testning på den verkliga världsprogramvaran är utmanande eftersom den presenterar en högre grad av interaktioner, för vilka mycket stora tester kan krävas.

metoder som används för att generera kombinatoriska Testdräkter:

populariteten kombinatorisk testning har ökat i hög grad under de senaste åren. På grund av dess många fördelar det utnyttjas av programvara testare på olika testnivåer. Från modell, enhet, integration, system och acceptanstestning till svart, vit, modellbaserad testning och mer implementerar testare kombinatorisk testning för att få effektiva resultat till en kostnadseffektiv takt. Dessutom, för att generera testdräkter för kombinatorisk testning, använder mjukvaruingenjörer ett brett utbud av verktyg, vilket förenklar processen att testa programvara ytterligare. Dessa kombinatoriska testdräkter ger högre t-vägstäckning, även om generering av matriser med högre t-vägstäckning kan konsumera betydande beräkningsresurser och ge stora resultat. Dessutom fokuserar majoriteten av algoritmerna för kombinatorisk testning på det speciella fallet med 2-vägs testning. För att konstruera testdräkt för kombinatorisk testning manuellt används tre metoder. Dessa metoder ger olika fördelar för testaren och säkerställer att utmatningen är så exakt som möjligt. Dessa metoder / algoritmer är:

  1. algebraisk metod: detta ger effektiva konstruktioner med avseende på tid, men det är svårt att producera exakta resultat på en bred och allmän mängd ingångar.
  2. Girig Algoritm: Dessa är den väl studerade typen av algoritm för konstruktion av täckande matriser, eftersom de har visat sig vara relativt effektiva när det gäller tid och noggrannhet.
  3. heuristisk sökning: heuristisk sökning särskilt om tillämpningen av stimulerad glödgning (SA) har gett de mest exakta resultaten i flera fall. Denna lokala sökmetod har gett många av de minsta testsviterna för olika systemkonfigurationer; dock till en kostnad av exekveringstid för att generera testsviter.

Parvis Testning:

allmänt känd som all-pair-testning, parvis testning är en kombinatorisk metod för mjukvarutestning som för varje par inmatningsparameter till ett system testar alla möjliga diskreta kombinationer av dessa parametrar. Det är en testdesignteknik som ger hundra procent testtäckning. De vanligaste buggarna i ett program hittas vanligtvis och utlöses antingen av en inmatningsparameter eller av en interaktion mellan par parametrar. Buggar som involverar interaktioner mellan tre eller flera parametrar är både progressivt mindre vanliga och progressivt dyrare att hitta, sådan testning har som sin gräns testning av alla möjliga ingångar. I detta fall är en kombinatorisk teknik för att plocka testfall som alla par en mycket användbar kostnadsfördelskompromiss som möjliggör en betydande minskning av antalet testfall utan att drastiskt äventyra funktionell täckning. Därför är parvis testteknik oerhört användbar vid utformning av test för applikationer som involverar flera parametrar. Dess testdräkt täcker alla kombinationer och därför är den inte uttömmande men ändå mycket effektiv för att hitta buggar. Även om parvisa tester dramatiskt kan minska kombinationerna, är det fortfarande riktigt effektivt när det gäller felsökningar och är verkligen en smart testdesignteknik som lovar bästa testinsatser och exceptionell effektivitet.

fördelar med kombinatorisk testning:

ovanstående diskussion om kombinatorisk testning återspeglar dess betydelse såväl som användbarhet. Det är en av de mest effektiva mjukvarutesttekniken eftersom den testar en programvara med flera konfigurerbara parametrar. Dessutom kan man med hjälp av kombinatorisk testning enkelt upptäcka interaktionsfel orsakade av kombinationen av parametrar. En annan fördel med denna typ av testning är att den producerar högkvalitativa tester till en mycket kostnadseffektiv takt, vilket inte bara hjälper programutvecklare och testare utan också gynnar den organisation för vilken produkten utvecklas. Därför är andra fördelar med detta tillvägagångssätt:

  • hanterar täckningsproblem när du definierar testplanen.
  • Möjliggör systematisk planering av test.
  • kan praktiskt taget tillämpas på alla program och på olika nivåer av abstraktioner.
  • högre testtäckning med bättre kvalitetssäkring.
  • kräver ingen åtkomst till intern källkod SUT.
  • det maximerar värdet för varje testat scenario.
  • signifikant minskning av antalet tester.
  • det kan kontrollera risker och är lätt att granska.

slutsats:

mjukvarusystem är komplexa och kan medföra exponentiella antal möjliga tester. Varje produkt som släpps utan ordentlig testning kan vara en betydande fara för såväl organisationen som användaren. För att säkerställa att ingen sådan situation eller problem uppstår efter att programvaran släppts, utför programvarutestare rigorösa tester. Dessutom använder de ofta kombinatorisk testning i olika testnivåer, eftersom det enkelt kan testa programvara med flera konfigurerbara parametrar. Kort sagt, kombinatorisk testning används för att upptäcka interaktionsfel orsakade av kombinationen av parametrar. Den viktigaste insikten bakom effektiviteten av kombinatorisk testning berodde på en serie studier och forskning som gjordes av NIST från 1999-2004. Det är ett oerhört användbart tillvägagångssätt som systematiskt kan undersöka systeminställningen i ett hanterbart antal test. Det är ett tillvägagångssätt som producerar och utför högkvalitativa tester till en mycket kostnadseffektiv takt. Dessutom är det en effektiv testplaneringsteknik som kan hantera täckningsproblem så tidigt som möjligt. Därför, om en mjukvaruingenjör vill få bästa testresultat, bör de säkert utföra kombinatorisk testning i ett tidigt skede av mjukvaruutveckling livscykel (SDLC).

ge din feedback!

Lämna ett svar

Din e-postadress kommer inte publiceras.