Statisk vs dynamisk testing: forskjellen mellom dem
Forskjellen mellom statisk og dynamisk testing
- Statisk testing utfรธres uten รฅ kjรธre programmet, mens dynamisk testing gjรธres ved รฅ kjรธre programmet.
- Statisk testing sjekker koden, kravdokumenter og designdokumenter for รฅ finne feil, mens dynamisk testing sjekker funksjonaliteten til programvaresystemet, minne/CPU-bruk og generell ytelse til systemet.
- Statisk testing handler om forebygging av defekter, mens dynamisk testing handler om รฅ finne og fikse defektene.
- Statisk testing utfรธrer verifiseringsprosessen mens dynamisk testing utfรธrer valideringsprosessen.
- Statisk testing utfรธres fรธr kompilering, mens dynamisk testing utfรธres etter kompilering.
- Statiske testteknikker er strukturelle og uttalelsesdekning, mens dynamiske testteknikker er grenseverdianalyse og ekvivalenspartisjonering.
Hva er statisk testing?
Statisk testing er en type programvaretesting der programvare blir testet uten kodekjรธring. Manuelle eller automatiserte gjennomganger av kode, kravdokumenter og dokumentdesign gjรธres for รฅ finne feilene. Hovedmรฅlet med statisk testing er รฅ forbedre kvaliteten pรฅ programvareapplikasjoner ved รฅ finne feil i tidlige stadier av programvareutviklingsprosessen.
Statisk testing innebรฆrer manuelle eller automatiserte gjennomganger av dokumentene. Denne gjennomgangen gjรธres i en innledende testfase for รฅ fange opp feil tidlig STLC. Den undersรธker arbeidsdokumenter og gir gjennomgangskommentarer. Det kalles ogsรฅ ikke-utfรธrelsestesting eller verifikasjonstesting.
Eksempler pรฅ arbeidsdokumenter-
- Kravspesifikasjoner
- Designdokument
- Kilde Code
- Testplaner
- test Cases
- Test skript
- Hjelp eller brukerdokument
- Nettsideinnhold
Statiske testteknikker
- uformell Reviews: Dette er en type anmeldelse som ikke fรธlger noen prosess for รฅ finne feil i dokumentet. Under denne teknikken gรฅr du bare gjennom dokumentet og gir uformelle kommentarer til det.
- Teknisk Reviews: Et team bestรฅende av dine kolleger, gjennomgรฅr den tekniske spesifikasjonen til programvareproduktet og sjekker om det er egnet for prosjektet. De prรธver รฅ finne eventuelle avvik i spesifikasjonene og standardene som fรธlges. Denne anmeldelsen konsentrerer seg hovedsakelig om den tekniske dokumentasjonen knyttet til programvaren som Test Strategy, Testplan og kravspesifikasjonsdokumenter.
- Walkthrough: Forfatteren av arbeidsproduktet forklarer produktet til teamet sitt. Deltakerne kan stille spรธrsmรฅl hvis noen. Et mรธte ledes av forfatteren. Scribe noterer vurderingskommentarer
- inspeksjon: Hovedformรฅlet er รฅ finne mangler og mรธtet ledes av en utdannet moderator. Denne anmeldelsen er en formell type anmeldelse der den fรธlger en streng prosess for รฅ finne defekter. Reviewers har en sjekkliste for รฅ vurdere arbeidsproduktene. De registrerer feilen og informerer deltakerne om รฅ rette opp disse feilene.
- Statisk kode Revse: Dette er en systematisk gjennomgang av programvarekildekoden uten รฅ kjรธre koden. Den sjekker kodens syntaks, kodestandarder, kodeoptimalisering osv. Dette kalles ogsรฅ white box-testing. Denne gjennomgangen kan gjรธres nรฅr som helst under utviklingen.
Hva er dynamisk testing?
Under Dynamisk testing, blir en kode utfรธrt. Den sjekker for funksjonell oppfรธrsel til programvaresystemet, minne/cpu-bruk og generell ytelse til systemet. Derav navnet "Dynamisk"
Hovedmรฅlet med denne testingen er รฅ bekrefte at programvareproduktet fungerer i samsvar med forretningskravene. Denne testingen kalles ogsรฅ en utfรธrelsesteknikk eller valideringstesting.
Dynamisk testing kjรธrer programvaren og validerer utdataene med det forventede resultatet. Dynamisk testing utfรธres pรฅ alle testnivรฅer, og det kan vรฆre testing av enten svart eller hvit boks.
Dynamiske testteknikker
- Enhetstesting: Under Enhetstesting, individuelle enheter eller moduler testes av utviklerne. Det innebรฆrer testing av kildekode av utviklere.
- Integrasjonstesting: Individuelle moduler er gruppert sammen og testet av utviklerne. Hensikten er รฅ finne ut hvilke moduler som fungerer som forventet nรฅr de er integrert.
- Systemtesting: Systemtesting utfรธres pรฅ hele systemet ved รฅ kontrollere om systemet eller applikasjonen oppfyller kravspesifikasjonsdokumentet.
Ogsรฅ, ikke-funksjonell testing som ytelse, Sikkerhetstesting faller inn under kategorien dynamisk testing.
Statisk testing vs. Dynamisk testing
| Statisk testing | Dynamisk testing |
|---|---|
| Testing ble utfรธrt uten รฅ kjรธre programmet | Testing gjรธres ved รฅ kjรธre programmet |
| Denne testen utfรธrer verifiseringsprosessen | Dynamisk testing utfรธrer valideringsprosessen |
| Statisk testing handler om forebygging av defekter | Dynamisk testing handler om รฅ finne og fikse feilene |
| Statisk testing gir en vurdering av kode og dokumentasjon | Dynamisk testing gir bugs/flaskehalser i programvaresystemet. |
| Statisk testing innebรฆrer en sjekkliste og prosess som skal fรธlges | Dynamisk testing innebรฆrer testcases for utfรธrelse |
| Denne testen kan utfรธres fรธr kompilering | Dynamisk testing utfรธres etter kompilering |
| Statisk testing dekker testing av strukturell og erklรฆringsdekning | Dynamiske testteknikker er grenseverdianalyse og ekvivalenspartisjonering. |
| Kostnaden for รฅ finne feil og fikse er mindre | Kostnadene for รฅ finne og fikse feil er hรธye |
| Avkastningen pรฅ investeringen vil vรฆre hรธy da denne prosessen involvert pรฅ et tidlig stadium | Avkastningen pรฅ investeringen vil vรฆre lav som denne prosessen innebรฆrer etter utviklingsfasen |
| Flere anmeldelser kommentarer anbefales sterkt for god kvalitet | Flere defekter anbefales sterkt for god kvalitet. |
| Krever mange mรธter | Krever relativt sett mindre mรธter |



