From ce3e85c99d58c8d497a81841ee677f132eaeef63 Mon Sep 17 00:00:00 2001 From: "Luke Cook [SSW]" <100659715+lukecookssw@users.noreply.github.com> Date: Tue, 25 Jul 2023 19:04:09 +1000 Subject: [PATCH] Update testing types rule (#6149) * rephrased first paragraph * added link to the automation rule * Update rules/different-types-of-testing/rule.md Co-authored-by: William Liebenberg * Update rules/different-types-of-testing/rule.md Co-authored-by: William Liebenberg --------- Co-authored-by: William Liebenberg --- rules/different-types-of-testing/rule.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/rules/different-types-of-testing/rule.md b/rules/different-types-of-testing/rule.md index d0353642cea..09700c6d08f 100644 --- a/rules/different-types-of-testing/rule.md +++ b/rules/different-types-of-testing/rule.md @@ -26,11 +26,20 @@ A good test strategy employs a combination of different types of testing, perfor Credit: Keith Edkins, "Too much choice!", license: CC BY-SA 2.0 -## 8 Types of Testing +## Goals of Testing +The testing pyramid shows the *types* of tests you will typically use in the Software Development Lifecycle, but it's important to understand how **testing types** differ from **testing goals**. -The following list of types of testing is not exhaustive, but covers the more common types you should consider when building a comprehensive test strategy: +The goal of any test is to identify and mitigate risk. -| Testing type | Perform this type of testing to mitigate the risk of... | +Different testing types are better suited to different testing goals. For instance, if your goal is to test whether a **method** you wrote achieves what you intended, the best type of test will probably be a **unit test**. Alternatively, if your goal is to test that 2 or more **applications** or **services** play well with one another, then an **integration test** would be more appropriate. + +What if the goal is to test an entire **user journey**, to ensure a user can add an item to their shopping cart and complete the checkout process to make a purchase? **End-to-end tests!** + +Note: none of these test types, or test goals, have been described as manual or automated. This distinction describes the "how" of the test. *How* should you perform an end-to-end test of your purchasing journey? That's a business decision, and you should check out our rule on [deciding whether a test is a good candidate for automation.](https://ssw.com.au/rules/good-candidate-for-automation/) + +The following list of testing types and their goals is not exhaustive, but covers the more common scenarios you should consider when building a comprehensive test strategy: + +| Testing type | The goal of mitigating risk around... | | :------------- | :--------------------------------------------- | | [Smoke testing](#smoke-testing) | Basic and critical functionality failing to work as expected | | [Unit testing](#unit-testing) | Code changes |