This article discusses the differences between quality assurance and software testing. If the developer uses techniques like TDD to prove that his program can work, you shouldn’t ask him to prove the opposite. This article advocates having a separate software testing function, even if you are using an Agile software development approach like Scrum.