In the past, software development and testing were very linear: applications were designed and developed in a monolithic fashion, and testing was only done after the software developers declared they were 'done'. Software testing then mostly was done from an end-user perspective, using the graphical user interface (GUI) of a system to interact with it and try and find any bugs.
Read more...