Conclusion

If we assume that there is a valid case for testing, then the question becomes one of automation only.

If automating tests has no significant negative impact on the efficacy of the tests (in assuring software quality) then it would be difficult to maintain that manual testing is a tenable alternative.

Although many engineers will agree that implementing automated tests are a necessary part of software development, detailed and comprehensive training in how to create effective and efficient automated tests is often overlooked.

The overriding objective of the guidelines and techniques discussed in this guide is to make the process of developing software as efficient and effective as possible while minimizing the risks associated with software faults.

Moving from traditional integration tests to a more granular unit test approach can be a difficult transition and is often met with some resistance but hopefully the information presented herein will assist in improving your current software testing practices and ultimately reducing the burden of software testing.