types software testing
Hva er de forskjellige typene programvaretester?
Vi, som testere, er klar over de forskjellige typene programvaretester som funksjonstesting, ikke-funksjonell testing, automatiseringstest, smidig testing og deres undertyper osv.
Hver av oss ville ha kommet over flere typer tester i vår testreise. Vi har kanskje hørt noen, og vi har kanskje jobbet med noen, men ikke alle har kunnskap om alle testtypene.
Hver type testing har også sine egne funksjoner, fordeler og ulemper. I denne artikkelen har jeg imidlertid dekket for det meste hver eneste type programvaretesting som vi vanligvis bruker i vårt daglige testliv.
La oss gå og se på dem.
Hva du vil lære:
- Ulike typer programvaretesting
- # 1) Alpha Testing
- # 2) Akseptprøving
- # 3) Ad-hoc testing
- # 4) Testing av tilgjengelighet
- # 5) Betatesting
- # 6) Back-end-testing
- # 7) Testing av nettleserkompatibilitet
- # 8) Bakoverkompatibilitetstesting
- # 9) Black Box Testing
- # 10) Grenseverditesting
- # 11) Grenprøving
- # 12) Sammenligningstesting
- # 13) Testing av kompatibilitet
- # 14) Komponenttesting
- # 15) End-to-End-testing
- # 16) Partisjonering av ekvivalens
- # 17) Eksempel testing
- # 18) Utforskende testing
- # 20) Funksjonstesting
- # 21) Testing av grafisk brukergrensesnitt (GUI)
- # 22) Gorilla Testing
- # 23) Happy Path Testing
- # 24) Inkrementell integrasjonstesting
- # 25) Installere / avinstallere testing
- # 26) Integrasjonstesting
- # 27) Lasttesting
- # 28) Monkey Testing
- # 29) Mutasjonstesting
- # 30) Negativ testing
- # 31) Ikke-funksjonell testing
- # 32) Ytelsestesting
- # 33) Recovery Testing
- # 34) Regresjonstesting
- # 35) Risikobasert testing (RBT)
- # 36) Sanity Testing
- # 37) Sikkerhetstesting
- # 38) Røykprøving
- # 39) Statisk testing
- # 40) Stresstesting
- # 41) Systemtesting
- # 42) Enhetstesting
- # 43) Testing av brukervennlighet
- # 44) Sårbarhetstesting
- # 45) Volumtesting
- # 46) Testing av hvit boks
- Konklusjon
- Anbefalt lesing
Ulike typer programvaretesting
Nedenfor er listen over noen vanlige typer programvaretesting:
Funksjonelle testingstyper inkluderer:
hvordan du kjører .jar-filer på Windows 10
- Enhetstesting
- Integrasjonstesting
- Systemtesting
- Sanity Testing
- Røykprøving
- Grensesnitttesting
- Regresjonstesting
- Beta / aksepttesting
Ikke-funksjonelle testtyper inkluderer:
- Ytelsestesting
- Lastetesting
- Stresstesting
- Volumtesting
- Sikkerhetstesting
- Kompatibilitetstesting
- Installer testing
- Recovery Testing
- Pålitelighetstesting
- Brukervennlighetstesting
- Testing av samsvar
- Lokaliseringstesting
La oss se mer informasjon om disse testtypene.
# 1) Alpha Testing
Det er den vanligste typen testing som brukes i programvareindustrien. Målet med denne testingen er å identifisere alle mulige problemer eller mangler før de slippes ut på markedet eller til brukeren.
Alpha Testing utføres på slutten av programvareutviklingsfasen, men før Beta Testing. Likevel kan det gjøres mindre designendringer som et resultat av slik testing.
Alpha Testing blir gjennomført på utviklerens nettsted. Internt virtuelt brukermiljø kan opprettes for denne typen testing.
# 2) Akseptprøving
An Godkjennelsestest utføres av klienten og verifiserer om slutten til å avslutte strømmen av systemet er i samsvar med forretningskravene eller ikke, og om det er i samsvar med sluttbrukerens behov. Kunden godtar bare programvaren når alle funksjonene og funksjonene fungerer som forventet.
Det er den siste fasen av testingen, hvoretter programvaren går i produksjon. Dette kalles også User Acceptance Testing (UAT).
# 3) Ad-hoc testing
Selve navnet antyder at denne testen utføres på en ad-hoc uten å referere til testsaken og uten plan eller dokumentasjon for en slik type testing.
Målet med denne testingen er å finne feilene og bryte applikasjonen ved å utføre en hvilken som helst strøm av applikasjonen eller en vilkårlig funksjonalitet.
Ad-hoc-testing er en uformell måte å finne feil på, og kan utføres av alle i prosjektet. Det er vanskelig å identifisere mangler uten en testtilfelle, men noen ganger er det mulig at feil som ble funnet under ad hoc-testing kanskje ikke har blitt identifisert ved bruk av eksisterende testtilfeller.
# 4) Testing av tilgjengelighet
Målet med Tilgjengelighetstesting er å avgjøre om programvaren eller applikasjonen er tilgjengelig for funksjonshemmede eller ikke.
Her betyr funksjonshemming døve, fargeblinde, utviklingshemmede, blinde, alderdom og andre funksjonshemmede grupper. Ulike kontroller utføres som skriftstørrelse for synshemmede, farge og kontrast for fargeblindhet, etc.
# 5) Betatesting
Betatesting er en formell type programvaretesting som utføres av kunden. Det utføres i det virkelige miljøet før du slipper produktet på markedet for de faktiske sluttbrukerne.
Betatesting utføres for å sikre at det ikke er store feil i programvaren eller produktet, og den tilfredsstiller forretningskravene fra et sluttbrukerperspektiv. Betatesting er vellykket når kunden godtar programvaren.
Vanligvis blir denne testingen vanligvis gjort av sluttbrukere eller andre. Det er den endelige testingen som er gjort før du sender ut en søknad for kommersielt formål. Vanligvis er betaversjonen av programvaren eller produktet som er utgitt begrenset til et bestemt antall brukere i et bestemt område.
Så sluttbruker bruker faktisk programvaren og deler tilbakemeldingen til selskapet. Selskapet tar deretter nødvendige tiltak før de slipper programvaren til hele verden.
# 6) Back-end-testing
Hver gang en inngang eller data legges inn i front-end-applikasjonen, lagres den i databasen, og testing av en slik database er kjent som Database Testing eller Backend Testing.
Det er forskjellige databaser som SQL Server, MySQL og Oracle, etc. Databasetesting innebærer testing av tabellstruktur, skjema, lagret prosedyre, datastruktur og så videre.
I Back-end Testing GUI er ikke involvert, testere er direkte koblet til databasen med riktig tilgang, og testere kan enkelt verifisere data ved å kjøre noen få spørsmål i databasen.
Det kan være problemer identifisert som tap av data, låsing, datakorrupsjon osv. Under denne back-end-testingen, og disse problemene er avgjørende for å fikse før systemet går live inn i produksjonsmiljøet.
# 7) Testing av nettleserkompatibilitet
Det er en undertype av kompatibilitetstesting (som forklares nedenfor) og utføres av testteamet.
Testing av nettleserkompatibilitet utføres for webapplikasjoner, og det sikrer at programvaren kan kjøres med en kombinasjon av forskjellige nettlesere og operativsystemer. Denne typen testing validerer også om webapplikasjoner kjører på alle versjoner av alle nettlesere eller ikke.
# 8) Bakoverkompatibilitetstesting
Det er en type testing som validerer om den nyutviklede programvaren eller den oppdaterte programvaren fungerer bra med den eldre versjonen av miljøet eller ikke.
Bakoverkompatibilitetstesting sjekker om den nye versjonen av programvaren fungerer som den skal med filformat opprettet av en eldre versjon av programvaren; det fungerer også bra med datatabeller, datafiler, datastruktur opprettet av den eldre versjonen av den programvaren.
Hvis noe av programvaren er oppdatert, bør den fungere bra på den forrige versjonen av programvaren.
# 9) Black Box Testing
Intern systemdesign blir ikke vurdert i denne typen testing. Testene er basert på kravene og funksjonaliteten.
Detaljert informasjon om fordeler, ulemper og typer Black Box Testing kan bli sett her .
# 10) Grenseverditesting
Denne typen testing sjekker oppførselen til applikasjonen på grensenivå.
Grenseverditesting utføres for å sjekke om mangler eksisterer ved grenseverdier. Grenseverditesting brukes til å teste et annet antall tall. Det er en øvre og nedre grense for hvert område, og testing utføres på disse grenseverdiene.
Hvis testing krever et testområde med tall fra 1 til 500, utføres grenseverditesting på verdier på 0, 1, 2, 499, 500 og 501.
# 11) Grenprøving
Det er en type test av hvite bokser og utføres under enhetstesting. Branch Testing, selve navnet antyder at koden testes grundig ved å krysse i hver gren.
# 12) Sammenligningstesting
Sammenligning av et produkts styrke og svakheter med tidligere versjoner eller andre lignende produkter kalles sammenligningstesting.
# 13) Testing av kompatibilitet
Det er en testtype der den validerer hvordan programvare oppfører seg og kjører i et annet miljø, webservere, maskinvare og nettverksmiljø.
Kompatibilitetstesting sørger for at programvare kan kjøres i en annen konfigurasjon, annen database, forskjellige nettlesere og deres versjoner. Kompatibilitetstesting utføres av testteamet.
# 14) Komponenttesting
Den utføres for det meste av utviklere etter fullføring av enhetstesting. Komponenttesting innebærer testing av flere funksjoner som en enkelt kode, og målet er å identifisere om det foreligger en mangel etter å ha koblet de flere funksjonene til hverandre.
# 15) End-to-End-testing
I likhet med systemtesting, End-to-End-testing innebærer testing av et komplett applikasjonsmiljø i en situasjon som etterligner bruk i den virkelige verden, for eksempel interaksjon med en database, bruk av nettverkskommunikasjon eller samhandling med annen maskinvare, applikasjoner eller systemer hvis det er aktuelt.
# 16) Partisjonering av ekvivalens
Det er en testteknikk og en type Black Box Testing. Under dette Ekvivalenspartisjonering , blir et sett av gruppen valgt og noen få verdier eller tall blir plukket opp for testing. Det er forstått at alle verdier fra den gruppen genererer den samme produksjonen.
Målet med denne testingen er å fjerne overflødige testtilfeller innen en bestemt gruppe som genererer samme produksjon, men ikke noen feil.
Anta at applikasjonen aksepterer verdier mellom -10 til +10, så ved bruk av ekvivalenspartisjonering er verdiene som er plukket opp for testing null, en positiv verdi, en negativ verdi. Så ekvivalenspartisjonering for denne testen er -10 til -1, 0 og 1 til 10.
# 17) Eksempel testing
Det betyr sanntidstesting. Eksempel på testing inkluderer sanntidsscenariet, det involverer også scenariene basert på testernes erfaring.
# 18) Utforskende testing
Exploratory Testing er uformell testing utført av testteamet. Målet med denne testingen er å utforske applikasjonen og lete etter mangler som finnes i applikasjonen.
Noen ganger kan det skje at større feil som oppdages under denne testingen til og med kan forårsake systemfeil.
Under Exploratory Testing anbefales det å holde oversikt over hvilken strømning du har testet og hvilken aktivitet du gjorde før starten på den spesifikke strømmen.
En utforskende testteknikk utføres uten dokumentasjon og testsaker.
# 20) Funksjonstesting
Denne typen testing ignorerer de indre delene og fokuserer bare på utgangen for å sjekke om den er i samsvar med kravet eller ikke. Det er en svart-boksteststest tilpasset funksjonskravene til en applikasjon. For detaljert informasjon om funksjonstesting, klikk her .
# 21) Testing av grafisk brukergrensesnitt (GUI)
Målet med denne GUI-testen er å validere GUI i henhold til forretningskravet. Den forventede brukergrensesnittet for applikasjonen er nevnt i skjermbildet Detaljerte designdokumenter og GUI-modeller.
GUI Testing inkluderer størrelsen på knappene og inntastingsfeltet som er tilstede på skjermen, justering av all tekst, tabeller og innhold i tabellene.
Den validerer også menyen i applikasjonen, etter å ha valgt forskjellige meny- og menyelementer, validerer den at siden ikke svinger, og justeringen forblir den samme etter at du holder musepekeren på menyen eller undermenyen.
# 22) Gorilla Testing
Gorilla Testing er en testtype utført av en tester og noen ganger av utvikleren også. I Gorilla Testing testes en modul eller funksjonaliteten i modulen grundig og tungt. Målet med denne testingen er å kontrollere applikasjonens robusthet.
# 23) Happy Path Testing
Målet med Happy Path Testing er å teste et program vellykket på en positiv flyt. Det ser ikke etter negative eller feilforhold. Fokuset er bare på gyldige og positive innganger som applikasjonen genererer forventet produksjon gjennom.
# 24) Inkrementell integrasjonstesting
Inkrementell integrasjonstesting er en bottom-up-tilnærming for testing, dvs. kontinuerlig testing av et program når ny funksjonalitet er lagt til. Applikasjonsfunksjonalitet og moduler skal være uavhengige nok til å teste separat. Dette gjøres av programmerere eller av testere.
# 25) Installere / avinstallere testing
Installasjon og avinstallasjonstesting gjøres på fullstendige, delvise eller oppgraderende installasjons- / avinstallasjonsprosesser på forskjellige operativsystemer under forskjellige maskinvare- eller programvaremiljøer.
# 26) Integrasjonstesting
Testing av alle integrerte moduler for å verifisere den kombinerte funksjonaliteten etter integrering blir betegnet som Integrasjonstesting .
Moduler er vanligvis kodemoduler, individuelle applikasjoner, klient- og serverapplikasjoner i et nettverk, etc. Denne typen testing er spesielt relevant for klient / server og distribuerte systemer.
# 27) Lasttesting
Det er en type ikke-funksjonell testing, og målet med Load Testing er å kontrollere hvor mye belastning eller maksimal arbeidsbelastning et system kan håndtere uten noen ytelsesforringelse.
Lastetesting hjelper for å finne den maksimale kapasiteten til systemet under spesifikk belastning og eventuelle problemer som forårsaker forverring av programvarens ytelse. Lastetesting utføres ved hjelp av verktøy som JMeter , LoadRunner, WebLoad, Silk performer, etc.
# 28) Monkey Testing
Monkey Testing utføres av en tester som antar at hvis apekatten bruker applikasjonen, så vil tilfeldige innganger, verdier legges inn av apekatten uten kunnskap eller forståelse av applikasjonen.
Målet med Monkey Testing er å sjekke om et program eller et system krasjer ved å levere tilfeldige inngangsverdier / data. Monkey Testing utføres tilfeldig og ingen testtilfeller er skriptet, og det er ikke nødvendig å
Monkey Testing utføres tilfeldig, og ingen testtilfeller blir skriptet, og det er ikke nødvendig å være klar over systemets fulle funksjonalitet.
# 29) Mutasjonstesting
Mutasjonstesting er en type hvit boks-test der kildekoden til et av programmet endres og verifiserer om de eksisterende testtilfellene kan identifisere disse feilene i systemet.
Endringen i programkildekoden er veldig minimal, slik at den ikke påvirker hele applikasjonen, bare det spesifikke området som har innvirkning og relaterte testtilfeller skal kunne identifisere disse feilene i systemet.
# 30) Negativ testing
Testere som har tenkemåten 'holdning til å bryte' og bruker negativ testing, bekrefter at hvis systemet eller applikasjonen går i stykker. En negativ testteknikk utføres med feil data, ugyldige data eller inndata. Det validerer at hvis systemet kaster en feil med ugyldig inndata og oppfører seg som forventet.
# 31) Ikke-funksjonell testing
Det er en type testing som alle organisasjoner har et eget team som vanligvis kalles NFT-team eller prestasjonsteam.
Ikke-funksjonell testing innebærer testing av ikke-funksjonelle krav som Load Testing, Stress Testing, Security, Volume, Recovery Testing, etc. Målet med NFT-testing er å sikre om responstiden for programvare eller applikasjon er rask nok i henhold til forretningskravet.
Det bør ikke ta mye tid å laste inn noen side eller system, og skal vare ved toppbelastning.
c ++ grunnleggende intervjuspørsmål
# 32) Ytelsestesting
Dette begrepet brukes ofte om hverandre med 'stress' og 'load' testing. Ytelsestesting er gjort for å sjekke om systemet oppfyller ytelseskravene. Forskjellige ytelses- og lastverktøy brukes til å utføre denne testingen.
# 33) Recovery Testing
Det er en type testing som validerer hvor godt programmet eller systemet gjenoppretter etter krasj eller katastrofer.
Recovery Testing avgjør om systemet er i stand til å fortsette driften etter en katastrofe. Anta at applikasjonen mottar data via nettverkskabelen og plutselig at nettverkskabelen er koblet fra.
En gang senere kobler du til nettverkskabelen; da skal systemet begynne å motta data der det mistet forbindelsen på grunn av at nettverkskabelen er koblet fra.
# 34) Regresjonstesting
Å teste et program som helhet for modifisering i en hvilken som helst modul eller funksjonalitet kalles regresjonstesting. Det er vanskelig å dekke hele systemet inn Regresjonstesting , så typisk Verktøy for automatiseringstesting brukes til denne typen testing.
# 35) Risikobasert testing (RBT)
I Risikobasert testing blir funksjonalitetene eller kravene testet ut fra deres prioritet. Risikobasert testing inkluderer testing av svært kritisk funksjonalitet, som har størst innvirkning på virksomheten og hvor sannsynligheten for svikt er veldig høy.
Prioritetsbeslutningen er basert på forretningsbehovet, så når førsteprioritet er satt for alle funksjoner, blir funksjonalitet med høy prioritet eller testtilfeller utført først etterfulgt av middels og deretter lavprioritetsfunksjonaliteter.
Funksjonen med lav prioritet kan testes eller ikke testes basert på tilgjengelig tid.
Den risikobaserte testingen utføres hvis det ikke er nok tid til å teste hele programvaren, og programvaren må implementeres i tide uten forsinkelse. Denne tilnærmingen følges bare av diskusjon og godkjenning av klienten og toppledelsen i organisasjonen.
# 36) Sanity Testing
Sanity Testing er gjort for å avgjøre om en ny programvareversjon klarer seg godt nok til å godta den for en større testinnsats eller ikke. Hvis et program krasjer for første gang, er ikke systemet stabilt nok til videre testing. Derfor tildeles en build eller et program for å fikse det.
# 37) Sikkerhetstesting
Det er en type testing utført av et spesielt testerteam. Et system kan penetreres på en hvilken som helst måte som hacking.
Sikkerhetstesting er gjort for å sjekke hvordan programvaren eller applikasjonen eller nettstedet er sikkert mot interne og eksterne trusler. Denne testingen inkluderer hvor mye programvare som er sikker fra det ondsinnede programmet, virus og hvor sikre og sterke autorisasjons- og autentiseringsprosessene er.
Den sjekker også hvordan programvare oppfører seg for hackere angrep og ondsinnede programmer, og hvordan programvare opprettholdes for datasikkerhet etter et slikt hackerangrep.
# 38) Røykprøving
Når en ny versjon leveres av utviklingsteamet, validerer programvaretesteteamet bygningen og sørger for at det ikke er noe større problem.
Testteamet sørger for at bygningen er stabil og et detaljert testnivå blir utført videre. Røykprøving kontrollerer at det ikke er noen mangel på propp i bygningen som vil forhindre testteamet i å teste applikasjonen i detalj.
Hvis testere finner ut at den viktigste kritiske funksjonaliteten er brutt ned i selve den innledende fasen, kan testteamet avvise bygningen og informere om dette til utviklingsteamet. Røykprøving utføres til et detaljert nivå av funksjons- eller regresjonstesting.
# 39) Statisk testing
Statisk testing er en type testing som utføres uten kode. Utførelsen utføres på dokumentasjonen under testfasen.
Det innebærer gjennomgang, gjennomgang og inspeksjon av prosjektets leveranser. Statisk testing utfører ikke koden i stedet for kodesyntaksen, navnekonvensjoner blir sjekket.
Statisk testing gjelder også for testsaker, testplan, designdokument. Det er nødvendig å utføre statisk testing av testteamet, da defektene som er identifisert under denne typen testing er kostnadseffektive fra prosjektperspektivet.
# 40) Stresstesting
Denne testingen gjøres når et system blir stresset utover spesifikasjonene for å sjekke hvordan og når det mislykkes. Dette utføres under tung belastning som å legge stort antall utover lagringskapasitet, komplekse databasespørsmål, kontinuerlig inngang til systemet eller databasebelastning.
# 41) Systemtesting
Under System Testing teknikk , hele systemet er testet i henhold til kravene. Det er en svart-bokstesttesting som er basert på overordnede kravspesifikasjoner og dekker alle de kombinerte delene av et system.
# 42) Enhetstesting
Testing av en individuell programvarekomponent eller -modul betegnes som Enhetstesting . Det gjøres vanligvis av programmereren og ikke av testere, da det krever detaljert kunnskap om det interne programdesignet og koden. Det kan også kreve utvikling av testdrivermoduler eller seler.
# 43) Testing av brukervennlighet
Under Brukervennlighetstesting , Er brukervennlighetskontroll utført. Søknadsflyten er testet for å vite om en ny bruker lett kan forstå applikasjonen eller ikke, riktig hjelp dokumentert hvis en bruker blir sittende fast på noe tidspunkt. I utgangspunktet blir systemnavigasjon sjekket i denne testen.
# 44) Sårbarhetstesting
Testingen som innebærer å identifisere svakhet i programvaren, maskinvaren og nettverket er kjent som Sårbarhetstesting. Ondsinnede programmer, hackeren kan ta kontroll over systemet, hvis det er sårbart for slike angrep, virus og ormer.
Så det er nødvendig å sjekke om disse systemene gjennomgår sårbarhetstesting før produksjon. Det kan identifisere kritiske feil, feil i sikkerheten.
# 45) Volumtesting
Volumtesting er en type ikke-funksjonell testing utført av Performance Testing-teamet.
Programvaren eller applikasjonen gjennomgår en enorm mengde data, og volumtesting sjekker systematferden og responstiden til applikasjonen da systemet kom over et så høyt datavolum. Dette store datamengden kan påvirke systemets ytelse og hastighet på behandlingstiden.
# 46) Testing av hvit boks
Testing av hvit boks er basert på kunnskapen om den interne logikken til applikasjonens kode.
Det er også kjent som Glass box Testing. Intern programvare og kode fungerer bør være kjent for å utføre denne typen testing. Under disse testene er de basert på dekningen av kodeuttalelser, grener, stier, forhold osv.
Konklusjon
Ovennevnte programvaretestetyper er bare en del av testingen. Imidlertid er det fremdeles en liste over mer enn 100+ typer testing, men alle testtyper brukes ikke i alle typer prosjekter. Så jeg har dekket noen vanlige typer programvaretesting som mest brukes i testets livssyklus.
Dessuten er det alternative definisjoner eller prosesser som brukes i forskjellige organisasjoner, men det grunnleggende konseptet er det samme overalt. Disse testtypene, prosessene og implementeringsmetodene deres endres når og når prosjektet, kravene og omfanget endres.
Anbefalt lesing
- Beste verktøy for testing av programvare 2021 (QA Test Automation Tools)
- Alpha Testing og Beta Testing (En komplett guide)
- Programvaretesting QA Assistant Job
- Programvare Testing Course: Hvilket programvare Testing Institute skal jeg delta?
- Velge programvaretesting som din karriere
- Programvaretesting Teknisk innhold Writer Freelancer Jobb
- Typer av risikoer i programvareprosjekter
- Beste QA Software Testing Services fra SoftwareTestingHelp