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

The Real Challenges of Software Testing

The Real Challenges of Software Testing

Shift left testing is not enough to stay on top of the game. You need to combine it with "shift right" to master nowadays challenges (speed of change, complexity, ...)

André Neubauer

September 14, 2022
Tweet

More Decks by André Neubauer

Other Decks in Technology

Transcript

  1. Information Age • Discontinuous change • Short product life cycles

    • Continuous price declines • Little customer loyalty • Technology & data at the core • Based on knowledge work
  2. Information Age • Discontinuous change • Short product life cycles

    • Continuous price declines • Little customer loyalty • Technology & data at the core • Based on knowledge work Speed (time to market) matters
  3. Software “Software is eating the world, in all sectors” …

    and it just started … “In the future every company will become a software company” (Marc Andreessen, 2011) https://www.pngitem.com/middle/hxJoxwJ_ai-is-eating-software-hd-png-download/
  4. Software “Software is eating the world, in all sectors” …

    and it just started … “In the future every company will become a software company” (Marc Andreessen, 2011) Complexity will grow overproportionally https://www.pngitem.com/middle/hxJoxwJ_ai-is-eating-software-hd-png-download/
  5. Enemies of Software Testing • Complexity of environment • Speed

    of change, Time to market • Non-deterministic behaviour
  6. Software testing paradigms Tradition quality model: • Sequential process with

    late starting testing Shift left model: • Move testing activities earlier in the software delivery lifecycle to achieve better quality and time to market https://devopedia.org/shift-left
  7. Shift left testing principles https://devopedia.org/shift-left • Test everything • Test

    everytime • Test early • Test continuously • Involve testers earlier • Prevention than detection
  8. Test everything? • DS models are hard to test •

    System testing becomes challenging as complexity increases • Keep in mind: Testing is a risk-based activity.
  9. Prevention than detection? • Prevention will result in overtesting high

    costs and delayed time to market https://www.researchgate.net/publication/342116266_Softwa re_Testing_Techniques_New_Trends
  10. Late stage attention to quality • Recreasing attention after early

    stage • Only minor focus from “Deploy and Release” onwards https://devopedia.org/shift-left
  11. DevOps “[..] shorten the systems development life cycle and provide

    continuous delivery with high software quality.” Oreilly https://en.wikipedia.org/wiki/DevOps
  12. Shift right testing • Making use of continuous delivery and

    fast release cycle • Focus on detection and mitigation
  13. A testing approach to fight challenges Unit testing Canary deployment

    Integration testing Smoke tests KPI tracking Feature flags Interface testing System testing Tracing Log management … testing Requirements engineering Test selection https://en.wikipedia.org/wiki/DevOps
  14. Best of both worlds • Test risk-based • Test early

    • Test continuously • Involve testers earlier • Have detection and mitigation capabilities • Have a fast release cycle • Important: Balance left and right based on the context
  15. What does it mean for Test Automation? • Still: Automate

    everything Consider: • Smoke tests (UI test subset) • Predictive Test Selection (to stay fast) https://www.launchableinc.com/articles/shift-left-au tomated-tests-with-launchable