Kombinatorisk Testing
Feb 24, 2020
Introduksjon:
i Dag er programvaresystemer varierte og komplekse og har mange mulige konfigurasjoner. Disse egenskapene og funksjonene i programvaresystemene har innviet en etterspørsel etter programvare og applikasjoner som er unikt designet og har innovative så vel som kreative funksjoner. Bortsett fra disse krever klienter og brukere også eksponentiell ytelse, funksjonalitet, kvalitet, skalerbarhet, effektivitet og mer. For å oppnå disse målene og for å oppfylle kravene til klienter og forbrukere, bruker programvareingeniører ulike innovative teknikker og metoder for å utvikle et produkt, samt utføre streng testing, da produkter utgitt med utilstrekkelig testing kan forårsake uopprettelig skade og tap for klienten, så vel som brukeren som installerer programmet eller bruker programvaren. Videre kan det også forårsake kroppslig skade, noe som kan føre til store økonomiske tap eller sikkerhetsbrudd, samt påvirke kvaliteten på det daglige livet. Imidlertid har programvaretestere ofte begrenset tid og budsjett, noe som ofte gjør det umulig å teste programvaren grundig. I tillegg tester testere ofte intuitivt for feil som de forventer, mens mindre forventede feil overses og ikke testes. Den beste måten å overvinne en slik situasjon på er å implementere Kombinatorisk Testing i programvare og applikasjoner. Kombinatorisk Testing er en tilnærming som systematisk kan undersøke systeminnstilling i et håndterbart antall tester og ved systematisk å dekke t-veis interaksjoner. Derfor er her en uttalt diskusjon Om Kombinatorisk Testing, for å definere dens betydning, metoder og andre store kvaliteter.
Beskriver Kombinatorisk Testing:
Kombinatorisk Testing er nå en praktisk tilnærming som gir høy kvalitet testing til en lavere kostnad. Den dekomponerer brute force i trinn for å angripe problemet trinnvis ved å skille analyse – og synteseaktiviteter som kan kvantifiseres og overvåkes, og delvis støttes av verktøy. Videre er kombinatorisk testing ekstremt enkel å bruke. Som en spesifikasjonsbasert teknikk krever det ingen kunnskap om implementeringen under test. Kombinatorisk testing er basert på premisset om at mange feil i programvare bare kan oppstå fra samspillet mellom to eller flere parametere. Derfor er kombinatorisk testing en effektiv teknikk for å teste programvare med flere konfigurasjonsparametere. Det brukes hovedsakelig til å oppdage interaksjonsfeil forårsaket av kombinasjonen av parametere. Typen test generert av kombinatorisk testing tar sikte på å generere dekk som dekker alle t-veis parametere kombinasjoner, hvor ‘ t ‘ er en gitt dekkstyrke. Grunnleggende kombinatorisk testing kan brukes på to måter, som enten kan brukes separat eller samtidig. Disse måtene er:
- Kombinasjoner av konfigurasjonsverdier eller parametere, der dekkarrayer brukes til å velge verdiene for konfigurerbare parametere, muligens ved hjelp av samme tester som kjører mot alle konfigurasjonskombinasjoner.
- Dekker matriser brukes til å velge inndataverdier, som deretter blir en del av komplette testtilfeller, og skaper en testdrakt for applikasjonen. Bruk av denne form for kombinatorisk testing til den virkelige verdensprogramvaren er utfordrende da den presenterer en høyere grad av interaksjoner, for hvilke svært store tester kan kreves.
Metoder Som Brukes For Å Generere Kombinatoriske Testdrakter:
populariteten kombinatorisk testing har økt utpreget de siste årene. På grunn av sine mange fordeler det er utnyttet av programvare testere på ulike testnivåer. Fra modell, enhet, integrasjon, system og aksept testing til svart, hvit, modell basert testing, og mer, testere implementerer kombinatorisk testing for å få effektive resultater til en kostnadseffektiv hastighet. Videre, for å generere testdrakter for kombinatorisk testing, bruker programvareingeniører et stort utvalg av verktøy, noe som forenkler prosessen med å teste programvare enda lenger. Disse kombinatoriske testdraktene gir høyere t-veis dekning, selv om generering av arrays med høyere t-veis dekning kan forbruke betydelige beregningsressurser og gi store resultater. I tillegg fokuserer flertallet av algoritmer for kombinatorisk testing på det spesielle tilfellet av 2-veis testing. Også, for å konstruere testdrakt for kombinatorisk testing manuelt, brukes tre metoder. Disse metodene gir forskjellige fordeler til testeren og sikrer at utgangen er så nøyaktig som mulig. Disse metodene / algoritmene er:
- Algebraisk Metode: dette gir effektive konstruksjoner i forhold til tid, men det er vanskelig å produsere nøyaktige resultater på et bredt og generelt utvalg av innganger.
- Grådig Algoritme: Dette er den godt studerte typen algoritme for bygging av dekkarrayer, da de har blitt funnet relativt effektive med hensyn til tid og nøyaktighet.
- Heuristisk Søk: Heuristisk søk spesielt om anvendelsen Av Stimulert Annealing (SA) har gitt de mest nøyaktige resultatene i flere tilfeller. Denne lokale søkemetoden har gitt mange av de minste testsuitene for forskjellige systemkonfigurasjoner; men til en kostnad for utførelsestid for å generere testsuiter.
Parvis Testing:
parvis testing Er En kombinatorisk metode for programvaretesting som for hvert par inngangsparameter til et system tester alle mulige diskrete kombinasjoner av disse parametrene. Det er en test design teknikk som leverer hundre prosent test dekning. De vanligste feilene i et program er vanligvis funnet og utløst enten av en inngangsparameter eller ved et samspill mellom par parametere. Feil som involverer interaksjoner mellom tre eller flere parametere er begge gradvis mindre vanlige, så vel som stadig dyrere å finne, slik testing har som sin grense testing av alle mulige innganger. I dette tilfellet en kombinatorisk teknikk for å plukke testtilfeller som alle par er en svært nyttig kostnadsfordel kompromiss som muliggjør en betydelig reduksjon i antall testtilfeller uten drastisk kompromittere funksjonell dekning. Derfor er parvis testteknikk utrolig nyttig i å designe test for applikasjoner som involverer flere parametere. Dens testdrakt dekker alle kombinasjoner, og derfor er den ikke uttømmende, men veldig effektiv for å finne feil. Selv om parvis testing kan dramatisk redusere kombinasjoner, er det fortsatt veldig effektivt når det gjelder feildeteksjoner og er faktisk en smart testdesign teknikk som lover beste testinnsats og eksepsjonell effektivitet.
Fordeler Med Kombinatorisk Testing:
ovennevnte diskusjon om kombinatorisk testing gjenspeiler dens betydning samt nytte. Det er en av de mest effektive programvare testing teknikk som det teste en programvare med flere konfigurerbare parametere. Videre kan man ved hjelp av kombinatorisk testing enkelt oppdage interaksjonsfeil forårsaket av kombinasjonen av parametere. En annen fordel med denne typen testing er at den produserer testing av høy kvalitet til en svært kostnadseffektiv hastighet, noe som ikke bare hjelper programvareutviklere og testere, men også fordeler organisasjonen som produktet utvikles for. Derfor er andre fordeler med denne tilnærmingen:
- Håndterer dekningsproblemer når du definerer testplanen.
- Tillater systematisk planlegging av test.
- kan praktisk talt brukes til programvare og på ulike nivåer av abstraksjoner.
- Høyere testdekning med bedre kvalitetssikring.
- Krever ingen tilgang til intern kildekode SUT.
- det maksimerer verdien av hvert testet scenario.
- Signifikant reduksjon i antall tester.
- det kan kontrollere risiko og er lett å vurdere.
Konklusjon:
Programvaresystemer er komplekse og kan medføre eksponentielle antall mulige tester. Ethvert produkt som er utgitt uten riktig testing kan være en betydelig fare for organisasjonen så vel som brukeren. Derfor, for å sikre at ingen slik situasjon eller problem oppstår etter at programvaren er utgitt, utfører programvaretestere streng testing. Videre bruker de ofte kombinatorisk testing i ulike testnivåer, da det enkelt kan teste programvare med flere konfigurerbare parametere. Kort sagt, kombinatorisk testing brukes til å oppdage interaksjonsfeil forårsaket av kombinasjonen av parametere. Nøkkelen innsikt underliggende effektiviteten av kombinatorisk testing resulterte fra en rekke studier OG forskning gjort AV NIST fra 1999-2004. Det er en utrolig nyttig tilnærming som systematisk kan undersøke systeminnstilling i et håndterbart antall tester. Det er en tilnærming som produserer og utfører testing av høy kvalitet til en svært kostnadseffektiv hastighet. Videre er det en effektiv testplanleggingsteknikk, som kan håndtere dekningsproblemer så tidlig som mulig. Derfor, hvis en programvareingeniør ønsker å få best testresultater, bør de sikkert utføre kombinatorisk testing på et tidlig stadium Av Software Development Life Cycle (SDLC).