Wat is statisch testen?
Statisch testen is een type softwaretest waarbij softwaretoepassingen worden getest zonder uitvoering van code. Er worden handmatige of geautomatiseerde beoordelingen van code, vereiste documenten en documentontwerp uitgevoerd om de fouten te vinden. Het belangrijkste doel van statisch testen is het verbeteren van de kwaliteit van softwaretoepassingen door fouten op te sporen in vroege stadia van het softwareontwikkelingsproces.
Statisch testen omvat handmatige of geautomatiseerde beoordelingen van de documenten. Deze beoordeling wordt gedaan tijdens een eerste testfase om Defect vroeg in STLC op te sporen. Het onderzoekt werkdocumenten en geeft commentaar. Het wordt ook niet-uitvoeringstest of verificatietest genoemd.
Voorbeelden van werkdocumenten
- Vereiste specificaties
- Ontwerp document
- Broncode
- Testplannen
- Testgevallen
- Testscripts
- Help of gebruikersdocument
- Webpagina-inhoud
Wat is dynamisch testen?
Onder Dynamic Testing wordt een code uitgevoerd. Het controleert op functioneel gedrag van softwaresysteem, geheugen / cpu-gebruik en algemene prestaties van het systeem. Vandaar de naam "Dynamic"
Het belangrijkste doel van deze tests is om te bevestigen dat het softwareproduct werkt in overeenstemming met de zakelijke vereisten. Dit testen wordt ook wel een uitvoeringstechniek of validatietest genoemd.
Dynamisch testen voert de software uit en valideert de output met het verwachte resultaat. Dynamische tests worden uitgevoerd op alle testniveaus en het kunnen zowel zwarte als witte dozen zijn.
BELANGRIJK VERSCHIL
- Statische tests werden uitgevoerd zonder het programma uit te voeren, terwijl dynamische tests werden uitgevoerd door het programma uit te voeren.
- Statisch testen controleert de code, vereiste documenten en ontwerpdocumenten om fouten te vinden, terwijl dynamisch testen het functionele gedrag van het softwaresysteem, het geheugen / CPU-gebruik en de algehele prestaties van het systeem controleert.
- Statisch testen gaat over het voorkomen van defecten, terwijl dynamisch testen gaat over het vinden en repareren van defecten.
- Statisch testen doet het verificatieproces, terwijl dynamische testen het validatieproces doet.
- Statische tests worden uitgevoerd vóór compilatie, terwijl dynamische tests worden uitgevoerd na compilatie.
- Statische testtechnieken zijn structureel en gedekt door verklaringen, terwijl dynamische testtechnieken grenswaardeanalyse en equivalentiepartitionering zijn.
Statische testtechnieken:
- Informele beoordelingen: dit is een van de soorten beoordelingen die geen enkel proces volgen om fouten in het document te vinden. Bij deze techniek bekijkt u het document en geeft u er informeel commentaar op.
- Technische beoordelingen: Een team bestaande uit uw peers beoordeelt de technische specificatie van het softwareproduct en controleert of het geschikt is voor het project. Ze proberen eventuele discrepanties in de specificaties en gehanteerde normen op te sporen. Deze beoordeling concentreert zich voornamelijk op de technische documentatie met betrekking tot de software, zoals teststrategie, testplan en vereiste specificatiedocumenten.
- Walkthrough: De auteur van het werkproduct legt het product uit aan zijn team. Deelnemers kunnen eventuele vragen stellen. Een bijeenkomst wordt geleid door de auteur. Scribe neemt nota van recensieopmerkingen
- Inspectie: Het belangrijkste doel is om defecten te vinden en de ontmoeting wordt geleid door een getrainde moderator. Deze beoordeling is een formeel type beoordeling waarbij het een strikt proces volgt om de defecten te vinden. Beoordelaars hebben een checklist om de werkproducten te beoordelen, ze registreren het defect en informeren de deelnemers om die fouten recht te zetten.
- Statische codereview: dit is een systematische review van de softwarebroncode zonder de code uit te voeren. Het controleert de syntaxis van de code, coderingsstandaarden, code-optimalisatie, enz. Dit wordt ook wel white box-testen genoemd. Deze beoordeling kan op elk moment tijdens de ontwikkeling worden uitgevoerd.
Dynamische testtechnieken:
- Unit Testing: Onder Unit Testing worden individuele units of modules getest door de ontwikkelaars. Het omvat het testen van broncode door ontwikkelaars.
- Integratietesten: individuele modules worden gegroepeerd en getest door de ontwikkelaars. Het doel is om te bepalen welke modules werken zoals verwacht zodra ze zijn geïntegreerd.
- Systeemtest: Systeemtest wordt uitgevoerd op het hele systeem door te controleren of het systeem of de applicatie voldoet aan het vereiste specificatiedocument.
Ook vallen niet-functionele tests zoals prestaties en beveiligingstests onder de categorie van dynamisch testen.
Verschil tussen statisch en dynamisch testen:
Statisch testen |
Dynamisch testen |
---|---|
Het testen is gedaan zonder het programma uit te voeren | Testen gebeurt door het programma uit te voeren |
Deze test doet het verificatieproces | Dynamisch testen doet het validatieproces |
Statisch testen gaat over het voorkomen van defecten | Dynamisch testen gaat over het opsporen en verhelpen van defecten |
Statisch testen geeft een beoordeling van code en documentatie | Dynamisch testen geeft bugs / bottlenecks in het softwaresysteem. |
Statisch testen omvat een checklist en een te volgen proces | Dynamisch testen omvat testcases voor uitvoering |
Deze test kan vóór de compilatie worden uitgevoerd | Dynamisch testen wordt uitgevoerd na compilatie |
Statisch testen omvat het testen van de structuur en de dekking van de verklaring | Dynamische testtechnieken zijn grenswaardeanalyse en equivalentiepartitionering. |
De kosten voor het opsporen van defecten en het repareren zijn lager | De kosten voor het opsporen en verhelpen van defecten zijn hoog |
Het rendement op de investering zal hoog zijn aangezien dit proces in een vroeg stadium plaatsvindt | Het rendement op de investering zal laag zijn, aangezien dit proces plaatsvindt na de ontwikkelingsfase |
Meer recensiescommentaar wordt sterk aanbevolen voor een goede kwaliteit | Meer defecten worden ten zeerste aanbevolen voor een goede kwaliteit. |
Vereist veel vergaderingen | Verhoudingsgewijs vereist minder vergaderingen |