Automated Testing: The Cornerstone of CI/CD

What is automated testing?

The role of a QA team when testing is automated

The inflection point for automated testing

From unit tests to end-to-end tests

@Testpublic void When_I_add_an_apple_the_system_charges_50_cents() { CashRegister register = new CashRegister(); register.add("apple"); int expectedCost = 50; int actualCost = register.getAmount();assertEquals(expectedCost, actualCost);}
Feature: Supermarket Bundles To increase the revenues as a Supermarket Manager,  I want to apply discounts and offers to my customers @Bundles Scenario: if customer buys 3 apples, he pays $1.00 Given the apples costs 50 cents each Given the "buy 3 apples, pay 2" promotion When the cashier scans 3 apples Then the cash register charges $1.00

The characteristics of a good test

A good test is deterministic

A good test is fully-automated

A good test is responsive

Build a robust test suite

The heart of Continuous Integration (CI)

Simplicity and automation are prerequisites for safety

The Myths of Test Automation

Testing slows down development

Testing is only for finding bugs

You must achieve 100% coverage

How to define a good testing strategy?

Start testing

Identify a meaningful part, and write an automated test

Create your safety net

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store