Reducing the pester of duplications in bug reporting.
Both software Developers and Testers need to be able to clearly identify any ‘Bug’, via the ‘Title’ used for the ‘Bug Report’.
Efficiency and Flexible Random Naming
By design, development tools like; SQL, PHP, FileMaker give development teams the freedom to randomly name; tables, fields, scripts, and display layouts. Likewise, testing teams have the same freedom creating titles for ‘Bug Reports’.
But, freedom comes at a price. In this case, the freedom to randomly name elements can result in less efficiency. However, we can increase efficiency and organization through well structured, ‘Unique Naming’. Let’s examine common tasks.
- FIND: a ‘Bug’;
- SEARCH: previously reported bugs, to verify that their ‘Bug’ is ‘NEW’;
- REPORT: a ‘New Bug’, using a ‘Title’ that is unique.
- REVIEW: Reported ‘Bugs’;
- SEARCH: Reported bugs to ‘Find’ specific ‘Bug Reports’
Our goal is to retrieve ‘High-Quality Search Results’, directly resulting in greater efficiency.
Poor Quality ‘Bug Titles’ and Duplicates
‘High-Quality Search Results’ are an essential part of ‘Bug Reporting’. ‘Poorly Conceived’ or ‘Duplicate’ bug reports result in less efficiency, translate to lost hours for Developers and Testers, and ultimately produce a lower ROI for the project investors.
Four distinct elements govern ‘Bug Title’ creation:
- Naming Formula
- Reporting Language
- Combination ‘Bug’ Titles
The first two elements are often well considered and are efficiently managed for most projects. Items No. 3 and 4 are where things can be significantly improved for many projects. So let’s go by the numbers, just to get things into proper focus:
No. 1: Naming Formula:
Resolved simply with a stated policy. For example, many testing companies require their Testers to report using a ‘Formula’ like:
501 – iOS 9 – Menu Top – Function – Home button does not work.
502 – iOS 9 – Function – Menu Bottom – Contact button does not work.
503 – Function – Menu Bottom – Contact button does not work. – iOS 9
These examples quickly tell us important things about the bug. They are also search efficient, for example, a search for; Menu’ and ‘Button’ would list all of the above when a Tester is reporting a ‘Bug’; or a Developer is searching for all the broken ‘Menu Button’ bugs.
No. 2: Reporting Language:
Again, resolved with a stated policy. That said, for many projects the reporting language of choice is ‘English’.
No. 3: Combination ‘Bug’ Titles
Often, a ‘Bug’ may require a combination title, as when the issue involves more than a simple button or tool, for example:
504 – Function – Hotel Booking Page – Calendar / Date Picker fails to hide after entry. – iOS 9
In this case, the problem is with the ‘Calendar’ but more specifically with the ‘Date Picker’ function of the ‘Calendar’.
This problem could be reported as:
- a) Calendar fails to hide after entry; or
- b) Date Picker fails to hide after entry.
Both would seem to be right, but only the combination title (i.e. Bug Title #504 above) should be used to ensure it is found for either search; ‘Calendar’ or ‘Date Picker’.
The solution, a ‘Managed Naming Formula’.
No. 4: Vocabulary
It is common to have Testers from multiple countries, with many writing in English as a second language (i.e. ESL), resulting in an extreme diversity of vocabulary used. This diversity results in completely different approaches to naming ‘Bug Titles’, quickly increasing the potential for poor quality ‘Titles’.
Again, the solution is a ‘Managed Naming Formula’.
The “Oh Happy Day” Solution – “A Lexicon”
While we can continue to assume the norm, that Testers have a diversity of vocabulary and style of expression, we can create a special ‘Managed Vocabulary’ that is used for a target software project.
This is what is known as a “Lexicon”, and it is our ‘Happy Day Solution’.
At the onset of a new development project, a ‘Lexicon’ becomes the ‘Official’ vocabulary used by the project for naming. Now, the ‘Lexicon’ provides the guide for well structured, ‘Unique Titles’ for naming tables, fields, scripts, layouts and bug reports. Applying this strategy will compound efficiency in a positive way.
Creating a Lexicon
Now that we have a solution that will increase efficiency in software development, to create a ‘Lexicon’ for your project, I recommend using a ‘Project Wiki’ format for your ‘Lexicon’. This way, missing items can be added by any authorized party to the project at any time.
As with most solutions in the software development world, planning and management are the keys to a highly efficient development process. My proposed solution simply puts the project manager in control.
Best wishes with your software project or testing!