Test Impact Analysis - My story so far


It's been three months now that I have started my journey in a new working environment to implement a flavor of the Test Impact Analysis.

Being a fan of ThoughtWorks and following Martin Fowler's blog I was impressed about reading an article that spoke about the rise of TIA(Test Impact Analysis)

The definition of TIA from martin fowler "Test Impact Analysis (TIA) is a modern way of speeding up the test automation phase of a build. It works by analyzing the call-graph of the source code to work out which tests should be run after a change to production code. Microsoft has done some extensive work on this approach, but it's also possible for development teams to implement something useful quite cheaply."

Problems to solve:

  1. Let's run all tests every time a change is pushed
  2. Tests that run late in the integration cycle - Implicitly Shifting right 
  3. Number of tests that run in the pipeline 
  4. The number of tests in the regression suite
  5. What shape is the testing pyramid?
  6. Where are the requirements covered for each slice of the pyramid?
  7. Everything that you test pre-integrate should immediately be tested post-integrate in the Continuous Integration (CI) infrastructure
  8. Deployment pipeline to run slower tests later.
  9. Tagging tests - how do we understand and track the domain knowledge? (Bird's eye view)
  10. Tests with their notional 'size' designations (execution time)
  11. Automated subsetting of tests to run per commit based on this baked-in intelligence.
  12. TIA support in IDEs - Microsoft also has a powerful Live Unit Testing[4] feature in Visual Studio that, if enabled, automatically runs impacted unit tests even as you edit the code.
  13. TIA is all about incremental validation by automatic test selection


Comments

Post a Comment

Popular posts from this blog

Software Testing @ Microsoft

Trim / Remove spaces in Xpath?