• Course code:63724
  • Credits:6
  • Semester: summer
  • Contents

What is the first thing the cook does when he finishes preparing a dish? He tastes it and (maybe) adds some salt or pepper. He can be confident the dish is tasteful as he strictly followed the same recipe as many times in his long cooking career.

What about software: is it really enough if the programmer simply runs the program to prove it works fine? Usually no as each software development follows a different recipe which may be a very long one as well. Additionally what does "work fine" mean? There are many aspects of this, not to mention that customers, users and programmers don't share the same view on that. Thus, there are several reasons why software testing must be systematically planned (size, time), correctly executed in different phases and carefully documented. Many things are anchored in deeper research and implemented in different testing tools. First part of this course will teach you about all this following the experience of most successful testing practitioners.

The aim of software testing is to discover and remove as much errors as possible. It sure must be executed in the best possible way, but it is still very dependent on how many errors the (especially large) software artifact contains before testing: a lot or only a few.  The secret is in the software development process, which should assure a good quality product with minor number of errors only. Here different software quality models and standards come into play which drive programmers to efficiently develop a good quality product. To prove its quality software measurement is used. The quality aspect of software development is covered in second part of the course.

Finally, we might consider our programmer a cook, but he works in a big restaurant with a lot of hungry customers with very different wishes. Still, he strictly follows recipes and systematically tastes each dish. Any improvisation is out of question!

  • Study programmes
  • Distribution of hours per semester
laboratory work
  • Professor
Teaching Assistant