Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Automated Testing: Benefits and Costs

Automated Testing: Benefits and Costs

A discussion on the values of automated testing brings and the cost of doing it.

Malcolm Kee

April 27, 2020
Tweet

More Decks by Malcolm Kee

Other Decks in Programming

Transcript

  1. The Daily Life of a Programmer 1. Write Some Code

    for New Features or Bug Fix 2. Open Browser, Click Few Buttons 3. Verify It Works. If No, Go Back Step 1. 4. Handover to Next Step (Tester/ Operations to Deploy)
  2. The Daily Life of a Programmer Automating Test 1. Write

    Some Code for New Features or Bug Fix 2. Open Browser, Click Few Buttons 3. Verify It Works. If No, Go Back Step 1. 4. Write Tests to Repeat Step 2 and 3. 5. Handover to Next Step (Tester/ Operations to Deploy)
  3. Benefits - You need it to grow your testing as

    your code grows - You need it to have maintainable code when your code changes
  4. Things to test = new changes + regression testing Things

    to test = new changes + regression testing Things to test = new changes + regression testin
  5. Why Most Software Stinks as It Grows When you get

    to rewrite a legacy app but you just build another legacy app
  6. - Initial Design Decision that No Longer Adequate as Business

    Rules/Directions Changes Recipes of Legacy Code
  7. - Initial Design Decision that No Longer Adequate as Business

    Rules/Directions Changes - No Housekeeping. Dependencies are not keep up-to-date, missing out bug fixes and improvements. Recipes of Legacy Code
  8. - Initial Design Decision that No Longer Adequate as Business

    Rules/Directions Changes - No Housekeeping. Dependencies are not keep up-to-date, missing out bug fixes and improvements. - Bad Code that seems working. Everyone writes bad code once in a while, but you don’t dare to change it “since it’s working”. Recipes of Legacy Code
  9. Code Refactoring to improve outdated design and remove bad code.

    Keep dependencies up-to-date. Automated Tests is Prerequisite to do them safely.
  10. Costs - Automated Tests are code as well, you need

    skill and time to maintain it. - Badly written tests may slow you down, worse than no tests.
  11. Benefits - Grows your testing as your code grows -

    Prerequisite to stop building legacy code Costs - Tests take skill/times to maintain - It is worse if done wrongly.