Smarter Defect Creation through Machine Learning

By Tommy Adams

Elevator Pitch

Defects, bugs, issues: No matter what you call them, they are a vital part of any Quality Assurance organization. Using Python and Machine Learning, we’ll look at how to help a QA Engineer know instantly if a new issue is valid, looks like an existing issue, and where it needs to go for resolution.

Description

In a typical QA cycle, hundreds or thousands of issues can be opened. Most of these are new and valid issues that need to be debugged, worked, and coded into a solution. Others, however, drain test and development time and resources only to be found as a duplicate of another issue, a known bug with an existing workaround, or as already fixed in the latest version. Using a combination of Python, Machine Learning, Natural Language Processing, and analytics, my team developed a tool that helps validate new issues by comparing human readable input against the entire data set of historical issues. The solution is data source agnostic and accessed via cloud micro-services, making it easy to re-use and re-deploy across a variety of teams and organizations.

Notes

I am currently the Systems Assurance Tools and Automation Architect at IBM. This tool was the result of an Extreme Blue project I led and was developed by a team of 4 interns in just 12 weeks using Python and Machine Learning. I won’t be able to show the actual code, as much of it is patent pending, but I can share a lot of the technical design and implementation via graphics and mock-ups.