Validation, Testing and Debugging Flashcards
Name 2 types of static Testing
Program Inspection
Static program analysis
What is program inspection
Have others check your program (Manual)
What is static program analysis
Check for good practice (Automatic)
Name 2 types of dynamic testing
Manual Testing
Automatic Runtime checks (Engine checks)
What are the 3 possible methods for handling error
Ignore
Fail Fast
Fail safe
What is Fail Safe
The application continues to run in the best way possible and the error is acknowledged
What is Fail Fast
The error is reported and the application stops running
What method of handling errors is the practice to use
Fail Fast
Why is Fail Fast Safer than fail safe
Ignoring the error will be risky and will be likely to cause future errors
What are the 4 stages in the debugging process
Identify problem
Identify Cause of problem
Fix Problem
Evaluate solution
When might it be hard to fix the problem in a code
If the code is not yours
What is a black Box test
Tells use what the software should do, works for design specs, i.e we are given inputs what are the outputs
What is white box testing
Works from implementation, tells us what the software doe do
What is unit testing
Contains one or more tests to run on your code
What is an assert statement
Fast way to write a check that holds within a unit test
What is stress testing
To push the software beyond its normal operational limits
What can fixing a problem cause
A problem somewhere else
What is an alpha test
The whole piece of software is used by people, often the developers themselves
What is a beta test
The software is released to a small number of people, they are not the developers
What is runtime checking
If a piece of code encounters an error that it doesn’t know how to deal with it will raise an exception
What are some general in built exceptions in python e
BaseException
Exception
Runtime error
What are some specific in built python exceptions
Arithmetic Error
Lookup error
Type error
What does an exception cause
The program to stop
What are advantages and disadvantages of runtime checking
It is neater than if then else statements but it is more expensive