Test Intelligence: The Good, the Bad and the Ugly

25-minute Talk

Our code, test coverage, tickets etc. can be mined to help us find more bugs faster. The analyses for this are called test intelligence. The best ones don't use AI, but some with AI are easier to use

Virtual Pass session

Timetable

11:45 a.m. – 12:30 p.m. Wednesday 20th

Room

Room F3 - Track 3: Talks

Audience

Tester, Test Manager, Manager, Developers.

Key-Learning

  • Our code history contains information about where bugs were fixed in the past. This can point us to systematic problems in our processes.
  • Untested changes are most error prone. In large, complex systems, surprisingly many code changes are never tested and cause most of the field bugs.
  • Test gap analysis can reveal untested changes prior to release, for all types test: automated or manual, low-level or end2end.
  • Test suites often contain a lot of redundancy. Optimized smoke test suites, without that redundancy, often find like 80% of the bugs in 5% of the time
  • Defect prediction trains AI on past bugs & code features to predict future bugs. It has won research awards, but doesn't work at all and is useless.

Can Data in Our Repos Help us Find More Bugs Faster? Where Can AI Help, and How Well?

We have to test more and more functionality in less and less time, as ssuccessful software grows from release to release, but release cycles are getting shorter and shorter. Historically grown test suites are often not up to this challenge, since they test too much and too little at the same time. Too much, since they contain redundant tests that cause execution and maintenance costs but provide little value over similar tests. Too little, since important functionality remains untested. We must make these test suites more effective (i.e. find more bugs) and more efficient (i.e. faster/cheaper) to succeed in the long run. 

Our research community has worked on approaches to increase test effectiveness and efficiency for decades. In recent years, AI based approaches have appeared that also promise to help us find more bugs faster.

In this talk, I present different approaches to find more bugs in less time: History analyses of the version control system show where most bugs occurred in past releases. This often uncovers process flaws that are root causes of future bugs. Test gap analysis reveals, which code changes have not yet been tested and are the most error prone. Pareto optimization of test suites, test impact analysis and predictive test selection identify tests that right now have the best cost-benefit ratio. And finally, defect prediction uses AI to predict where future bugs will occur. 

We have implementing each of these analyses, have done empirical research on how well they works and employed them (some, the ones that work) in own development and at our customers. For each analysis, I outline their research foundation and show how well they work - while some excel, others are do not work at all - to answer which ones really allow us to find more bugs in less time.
 

Related Sessions

Virtual Pass session
2:45 p.m. – 3:30 p.m.
Room F1 - Track 1: Talks

25-minute Talk

Virtual Pass session
11:45 a.m. – 12:30 p.m.
Room F1 - Track 1: Talks

25-minute Talk

8:30 a.m. – 4:30 p.m.
F-,E- & D-Rooms

Full-Day Tutorial (6 hours)

8:30 a.m. – 4:30 p.m.
F-,E- & D-Rooms

Full-Day Tutorial (6 hours)