Testing Patterns

bullet1 Your main focus is

  • Testing, finding bugs
  • Quality Assurance
  • Quality Control


As a member of the testing group your job will be to help the developers to remove bugs and to deliver information about the product's current quality to managers and project leaders. This means to find bugs, provide data to analyse and fix selected bugs, provide an assessment of system and product quality and trying to give predictions about the quality and the project.


Quality Assurance deals with the whole process of making software, such as requirements, design, coding, testing, maintenance and writing the user docu, and aims on improving processes and practices.  So testing is one aspect of Quality Assurance only - the testers contribute to assuring quality, but quality assurance is the business of all people being involved in making software. Although the testing group is often named Quality Assurance and the testers are titled Quality Assurance Engineers, it's not the same - there may even be a conflict. For example the developers doesn't care about quality, because that's the job of the quality assurance folks. Or the testers try to become quality assurance consultants and advice programmers how to do their jobs, without being familiar with development (often this will result in bunch of documentation guidelines). Or they even fall into the role of being the quality police. Anyway - to assure quality during the whole process of making software is the non-trivial task of all people involved, but you'll need experienced and skilled people to support and facilitate the process.


Finally quality control means controlling the final result by people somehow independent from development and the project (think of some guys at the end of an assembly-line checking the final product). The quality control approach doesn't fit well to an iterative way of software development or to a team- and project-based approach.


To summarize: testing is about supporting the developers to gain control of the bugs, Quality assurance is about building quality in your processes, quality control is about inspecting the end result by people outside the development project.