Complexity is a property of software systems with lots of components that interact in lots of ways. Bugs thrive in complexity. Inert bugs in one component may be activated by seemingly unrelated changes in another. Latent bugs may take years to be observed or detected by software testing.
Just writing lots of unit tests for this kind of software isn’t enough. Bad tests slow you down without catching meaningful bugs. Good tests are hard-working productivity multipliers.
This presentation explores a variety of software testing techniques that have been applied to a commercial database engine over a decade of active development, including model-based testing, fuzzing, and more. Borrowing testing methodologies from other industries, you will see how testing complex software requires challenging the ideas of what a test is, and how testing fits into software development.
Video producer: https://ndcsydney.com/

Leave a Reply