Summary Authors and Acknowledgements Using this book Contribute to this book License Structure of the book Getting started with software testing Why software testing? Principles of software testing Software testing automation Testing vs writing tests The developer testing workflow Testing techniques Specification-based testing Boundary testing Structural testing Model-based testing Design-by-contracts Property-based testing Pragmatic software testing The testing pyramid Test doubles Design for testability Test-driven development Test code quality and engineering Testing in the context Web testing (soon) SQL testing Web services testing (soon) Mobile testing (soon) Non-functional testing Security testing Performance testing (soon) Intelligent testing Static testing Mutation testing Fuzz testing Search-based testing Appendix Answers to the exercises Domain testing examples 2020 midterm mock exam 2020 midterm mock exam (answers) Change log