How to know when a program is correct
Types of software testing
white/glass box
black box
White box testing
Boundary testing
Black box testing
automated testing
Execution tracing
- temporarily insert print() statements to show the values of certain variables at certain points
pausing execution
simple technique without any debugging tools to insert a print() followed by keyboard input
issues with manually pausing execution
IDE Debugging Tools
IDLE debug control
Go stop over out quit
Go
resume execution, stop at next breakpoint if any or to end of program
step
execute the current instruction and suspend execution again
if the current instruction is or contains a function call, then step into that function and suspend execution there
over
same as step, except if the current instructions is or contains a function that call will be “stepped over” and the program will be suspended at the start of the next instruction in the current block
out
resume execution until the current block is finished executing or step out of a function if the execution is currently one
quit
exit program