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
- Kildekode
- 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 |