Verification/Static Testing: VET is performed without actually executing the application code. Static testing is performed in the early stages of development to avoid errors as it would be much cheap/easier to find/fix sources of failures. Work documents in VET include Requirement specifications, Design documents, Source codes, Test Plans, Test Cases, Test Scripts, Help or User document, Web Page content etc.
Verification/Static Testing VET includes informal reviews, technical reviews, walkthroughs and inspections. Developers would perform a systematic review of the source code without execution to make sure the syntax of the code, coding standards, and code optimisation are in line with the essentials.
Validation/Dynamic Testing VAT is performed to analyse the dynamic behaviour of the application code. VAT is performed at all levels of testing and could be a combination of black-box and white-box testing.
VAT includes unit testing, integration testing, user interface testing, compatibility testing, multi-browser testing, system testing, performance testing, and security testing.
VET is about prevention, whereas VAT is about a cure.
VET is more cost-effective than VAT.
VET tools provide greater marginal benefits as compared to VAT.
VET gives comprehensive diagnostics for code than VAT.
VAT finds fewer bugs as compared to VET.
VAT usually takes a longer time as compared to VET, as it tests each case separately.
VET covers more areas than VAT in a shorter time.
VET is done before the code deployment, whereas VAT is done after the code deployment.
VET is done in the verification stage, whereas VAT is done in the validation stage.
VET examines the code without being executed, whereas in VAT, code is tested without being examined.
Verification/Static and Validation/Dynamic Testing Tools
VET, Static testing tools seek to support the static testing process, whereas VAT dynamic testing tools support the dynamic testing process.
VET, Static test tools: These tools do not involve actual input and output. Rather, they take a symbolic approach to testing, i.e., they do not test the actual execution of the software. These tools include,
Flow analysers: They ensure consistency in the data flows from input to output.
Path tests: They find unused code and code with contradictions.
Coverage analysers: These ensure that all logic paths are tested.
Interface analysers: It examines the effects of passing variables and data between modules.
VAT, Dynamic test tools: These tools test the software system with ‘live’ data. Dynamic test tools include the following.
Test driver: It inputs data into a module-under-test (MUT).
Testbeds: It simultaneously displays source code along with the program under execution.
Emulators: The response facilities are used to emulate parts of the system not yet developed.
Mutation analysers: The errors are deliberately ‘fed’ into the code in order to test the fault tolerance of the system.
Thank you so much for putting in the time to come visit the all-things-testing blog.
Best regards
all-things-testing
PS: Please write back to me if you need assistance on VET/VAT. I will do my best to help you with clarifications or end-to-end understanding of VET/VAT.
Comments