1 Effective and systematic software testing

 

This chapter covers

  • The difference between a developer that rigorously tests their code versus a developer that does not.
  • What effective and systematic testing is all about and what it looks like from the perspective of the developer
  • Why testing software is so hard and ensuring that a system is bug-free is virtually impossible
  • The testing pyramid, the different test levels, and when to go for each of them

Luckily, as a community, we do not need to argue about the importance of software testing anymore. Every software developer understands that software systems run the world and that software failures may cause severe damage to businesses, people, or even to society as a whole. And, although not so long ago, software developers were mostly responsible for building software systems, they now understand that they are also responsible for the quality of the software systems they produce.

1.1 Developers that test versus developers that don’t

 
 
 

1.2 Effective software testing for developers

 

1.2.1 Effective testing in the development process

 
 
 

1.2.2 Effective testing as an iterative process

 
 

1.2.3 Focusing on development, and then, on testing

 
 
 

1.2.4 The myth of "correctness by design"

 

1.2.5 The cost of testing

 
 
 
 

1.2.6 The meaning of effective and systematic

 
 
 

1.2.7 The role of test automation

 
 
 
 

1.3 Principles of software testing (or why testing is so hard)

 
 
 

1.3.1 Exhaustive testing is impossible

 
 
 

1.3.2 Knowing when to stop testing

 
 

1.3.3 Variability is important ("the pesticide paradox")

 
 
 
 

1.3.4 Bugs happen in some places more than others

 
 
 

1.3.5 Whatever testing you do, it will never be perfect or enough

 
 
 

1.3.6 Context is king

 
 

1.3.7 Verification is not validation

 
 
 

1.4 The testing pyramid and where we should focus

 
 
 

1.4.1 Unit testing

 

1.4.2 Integration testing

 
 
 

1.4.3 System testing

 
 

1.4.4 When to use each of the test levels?

 
 

1.4.5 Why do I favor unit tests?

 
sitemap

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage
test yourself with a liveTest