Hva er statisk testing?
Statisk testing er en type programvaretesting der programvaren blir testet uten kodeutførelse. Manuelle eller automatiserte gjennomganger av kode, kravdokumenter og dokumentdesign gjøres for å finne feilene. Hovedmålet med statisk testing er å forbedre kvaliteten på programvare ved å finne feil i de tidlige stadiene av programvareutviklingsprosessen.
Statisk testing innebærer manuell eller automatisert gjennomgang av dokumentene. Denne gjennomgangen er gjort i løpet av en innledende testfase for å fange Defect tidlig i STLC. Den undersøker arbeidsdokumenter og gir gjennomgangskommentarer. Det kalles også ikke-utførelsestesting eller verifiseringstesting.
Eksempler på arbeidsdokumenter-
- Kravspesifikasjoner
- Design dokument
- Kildekode
- Testplaner
- Test tilfeller
- Test skript
- Hjelp eller brukerdokument
- Innhold på websiden
Hva er dynamisk testing?
Under dynamisk testing kjøres en kode. Den sjekker for funksjonell oppførsel til programvaresystem, minne / CPU-bruk og systemets ytelse. Derav navnet "dynamisk"
Hovedmålet med denne testingen er å bekrefte at programvareproduktet fungerer i samsvar med forretningskravene. Denne testen kalles også en utførelsesteknikk eller valideringstesting.
Dynamisk testing utfører programvaren og validerer utdataene med forventet resultat. Dynamisk testing utføres på alle nivåer av testing, og det kan være svart eller hvit boks testing.
HOVEDFORSKJELL
- Statisk testing ble utført uten å utføre programmet, mens dynamisk testing utføres ved å utføre programmet.
- Statisk testing sjekker koden, kravdokumentene og designdokumentene for å finne feil, mens dynamisk testing kontrollerer funksjonaliteten til programvaresystemet, minne / CPU-bruk og systemets totale ytelse.
- Statisk testing handler om forebygging av mangler, mens dynamisk testing handler om å finne og fikse feilene.
- Statisk testing utfører bekreftelsesprosessen mens dynamisk testing utfører valideringsprosessen.
- Statisk testing utføres før kompilering, mens dynamisk testing utføres etter kompilering.
- Statisk testteknikk er strukturell og utsagnsdekning, mens dynamiske testteknikker er grenseverdianalyse og ekvivalenspartisjonering.
Statisk testteknikk:
- Uformelle vurderinger: Dette er en av den typen gjennomgang som ikke følger noen prosess for å finne feil i dokumentet. Under denne teknikken leser du bare dokumentet og gir uformelle kommentarer til det.
- Tekniske vurderinger: Et team bestående av dine likemenn, gjennomgår den tekniske spesifikasjonen for programvareproduktet og sjekker om det passer for prosjektet. De prøver å finne eventuelle avvik i spesifikasjonene og standardene som følges. Denne gjennomgangen konsentrerer seg hovedsakelig om den tekniske dokumentasjonen knyttet til programvaren, for eksempel teststrategi, testplan og kravspesifikasjonsdokumenter.
- Gjennomgang: Forfatteren av arbeidsproduktet forklarer produktet til teamet sitt. Deltakerne kan stille spørsmål hvis noen. Et møte ledes av forfatteren. Scribe noterer seg kommentarene
- Inspeksjon: Hovedformålet er å finne feil og møtet ledes av en utdannet moderator. Denne gjennomgangen er en formell type gjennomgang der den følger en streng prosess for å finne manglene. Kritikere har en sjekkliste for å gjennomgå arbeidsproduktene. De registrerer feilen og informerer deltakerne om å rette opp feilene.
- Statisk kode gjennomgang: Dette er en systematisk gjennomgang av programvarens kildekode uten å utføre koden. Den sjekker syntaksen til koden, kodestandarder, kodeoptimalisering, etc. Dette blir også betegnet som white box testing. Denne gjennomgangen kan gjøres når som helst under utviklingen.
Dynamiske testteknikker:
- Enhetstesting: Under Enhetstesting blir individuelle enheter eller moduler testet av utviklerne. Det innebærer testing av kildekode av utviklere.
- Integrasjonstesting: Individuelle moduler grupperes sammen og testes av utviklerne. Hensikten er å bestemme hvilke moduler som fungerer som forventet når de er integrert.
- Systemtesting: Systemtesting utføres på hele systemet ved å sjekke om systemet eller applikasjonen oppfyller kravspesifikasjonsdokumentet.
Også ikke-funksjonell testing som ytelse, sikkerhetstesting faller inn under kategorien dynamisk testing.
Forskjellen mellom statisk og dynamisk testing:
Statisk testing |
Dynamisk testing |
---|---|
Testing ble gjort uten å utføre programmet | Testing gjøres ved å utføre programmet |
Denne testen utfører bekreftelsesprosessen | Dynamisk testing utfører valideringsprosessen |
Statisk testing handler om forebygging av mangler | Dynamisk testing handler om å finne og fikse feilene |
Statisk testing gir en vurdering av kode og dokumentasjon | Dynamisk testing gir feil / flaskehalser i programvaresystemet. |
Statisk testing innebærer en sjekkliste og prosess som skal følges | Dynamisk testing innebærer testsaker for utførelse |
Denne testen kan utføres før kompilering | Dynamisk testing utføres etter kompilering |
Statisk testing dekker strukturell og uttalelsesdekningstesting | Dynamiske testteknikker er grenseverdianalyse og ekvivalenspartisjonering. |
Kostnadene ved å finne feil og fikse er mindre | Kostnadene ved å finne og fikse feil er høye |
Avkastningen på investeringen vil være høy da denne prosessen involveres på et tidlig stadium | Avkastningen på investeringen vil være lav ettersom denne prosessen innebærer etter utviklingsfasen |
Flere anmeldelser er sterkt anbefalt for god kvalitet | Flere feil anbefales på det sterkeste for god kvalitet. |
Krever masse møter | Krever forholdsvis mindre møter |