Welcome to this review of the Pluralsight course Introduction to Testing in Java by Richard Warburton.
Introduction – Why Automate Testing?
Why should we automate testing? Richard uses the analogy of the leaning tower of Pisa, which was in danger of falling over. It cost $25 million just to plan out how to fix it.
It’s extremely expensive to fix things that are already in use. But if we can find problems earlier fixing them becomes a lot cheaper.
Richard lists five things that good software testing ensures:
– Achieves stakeholder goals
– Meets functional requirements
– Correctly handles corner cases
– Performance
– Usability
This course will focus on the first three of these goals.
The Testing Hierarchy
Richard breaks down the different types of tests: Unit, Aggregate and System.
Unit tests for for testing a single unit of functionality
Aggregate tests (sometimes called integration tests) ask does a component do its job correctly?
System or “End to End” tests check that the application meets its requirements
Course Outline & Summary
Richard introduces the modules that will follow:
– Testing Code
– Writing Good Tests
– Introducing TDD
– Building Classes from Tests
– Dependencies
– Going Outside-In