Software testing gets a bad rap for being difficult, time-consuming, redundant, and above all — boring. But in fact, it is a proven way to ensure that your software will work flawlessly and meet release schedules.
In this two-course series, we will teach you automated software testing in an inspiring way. We will show you that testing is not as daunting a task as you might think, and how automated testing will make you a better developer who programs excellent software.
This program will cover software testing as it is practiced in industry. The first course will cover various techniques, including specification-based testing, boundary testing, test adequacy and code coverage, mock objects, design for testability and test code quality. The second course will cover state-based and web testing, combinatorial testing, mutation testing, static analysis tools, and property-based testing.
This is a highly practical program and, while the code examples are in java, it suits software developers, QA engineers and software testers in general.
- Automated Software Testing: Unit Testing, Coverage Criteria and Design for Testability.
- Automated Software Testing: Model and State-based Testing.
What will you learn
- How to test any software system using current state-of-the-art techniques.
- How to derive test cases that deal with exceptional, corner, and bad weather cases by means of several different techniques.
- How to develop testable architectures and to write maintainable test code.
- The limitations of current testing techniques, and how to choose the best testing strategies for a given context.