introduction to testing introduction this considers the different types of tests that you might want to perform with the systems you develop in python it also introduces test driven development types of testing there are at least two ways of thinking about testing it is the process of executing program with the intent of finding errors/bugs (see glenford myersthe art of software testing it is process used to establish that software components fulfil the requirements identified for themthat is that they do what they are supposed to do these two aspects of testing tend to have been emphasised at different points in the software lifecycle error testing is an intrinsic part of the development processand an increasing emphasis is being placed on making testing central part of software development (see test driven developmentit should be noted that it is extremely difficult--and in many cases impossible-to prove that software works and is completely error free the fact that set of tests finds no defects does not prove that the software is error-free 'absence of evidence is not evidence of absence!this was discussed in the late and early by dijkstra and can be summarised astesting shows the presencenot the absence of bugs testing to establish that software components fulfil their contract involves checking operations against their requirements although this does happen at (cspringer nature switzerland ag huntadvanced guide to python programmingundergraduate topics in computer science