Software testing

Software testing involves running the program under different conditions to make sure it works.

Even the best programmers make syntax errors and logic errors.

As run time errors may only be show up under certain conditions, it is important that mistakes are identified as soon as possible during development so they can be fixed.

Approaches to software testing

Consider the following code to create a simple calculator. Functions are created to add, subtract, multiply and divide two numbers. These functions have then been used to create a square number function and a function to convert Celsius to Fahrenheit.

Pseudocode:

# A simple calculator def add (x, y): return x + y def sub (x, y): return x - y def mul (x, y): return x * y def div (x, y): return x / y def sq(x): return mul(x, x) def tempCon(x): return add(mul(x, div(9, 5)), 32) num = int(input('Enter number to be squared: ')) print(sq(num)) convert = float(input('Enter Celsius temperature: ')) print(tempCon(convert))

Python:

''' A simple calculator program ''' def add (x, y): '''Function to add two numbers''' return x + y def sub (x, y): '''Function to subtract two numbers''' return x - y def mul (x, y): '''Function to multiply two numbers''' return x * y def div (x, y): '''Function to divide two numbers''' return x / y def sq(x): '''Function to square a number''' return mul(x, x) #Calls mul function def tempCon(x): '''Function convert Celsius to Fahrenheit ORDER OF OPERATION - DIVIDE, MULTIPLY, ADD''' return add(mul(x, div(9, 5)), 32) #Calls the div, mul & add functions ###MAIN PROGRAM if __name__ == "__main__": num = int(input('Enter number to be squared: ')) #Collects input from user print(sq(num)) #Passes the input to the sq function and prints the result to screen convert = float(input('Enter Celsius temperature: ')) #Collects input from user print(tempCon(convert)) #Passes the convert variable to the tempCon function & prints to screen