Instantly share code, notes, and snippets.

@jmewes / Secret
Last active Oct 12, 2017

What would you like to do?
State-of-the-Art Software Testing -- Diomidis Spinellis


  • rising code base size and complexity
  • requirements for development spped and agility
  • distributed teams


Unit testing

  • write tests for routines

Test-driven development

  • keeps tight focus on requirements
  • helps with testable design
  • better test coverage

Test pyramid

  • lost of unit tests
  • "selective doce of component and integration tests", e.g. REST service calls
  • A few end-to-end tests

Continuous Integration

  • run tests after each commit

Test coverage analysis

  • what code and percentage is covered by the automated tests
  • low/decreasing levels are warning signs
  • examine test effectiveness
  • measure runtime
  • measure brittleness

A/B testing

  • feature only released to a sub-set of users
  • compare the behavior of different groups
  • use feature toggles
  • easy way to measure outcome: detailed server logs with user interactions


Reduce boilerplate

  • e.g. with projects like Lombok

Reduce test smells

  • tools for intelligent selection of test cases to run => reduce test execution time
  • flag and correct brittle tests
  • have a stable staging environment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment