July 15th, 2014 by inflectra
Defects generally come from two sources:
These are sufficiently different that they often require separate processes.
When internal tests fail they lead to defect reports and some tools can make the link between the two automatically as part of the defect recording process. In some cases the failed test itself acts as the record of the defect, although this can become problematic when defects from other sources are factored in. It is the discrepancy between the expected test result and the actual test result that indicates that there is a defect, therefore the most important relationship is that between the defect and the test, not the code; after all, at the time of the defect discovery the defective piece of code has not yet been identified.
If a project has invested in traceability, the tests will probably already be linked to the requirements - in whatever form they exist, whether it is shall statements, user stories, or any other form, it doesn’t matter. This traceability offers an immediate opportunity to verify that the observed behavior is indeed in error, after all, it is also possible that the expected test result that was written incorrectly, not the code. This three-piece chain of information helps verify the defect, define how the software should work and also which tests must be run again once the problem is resolved.
Note that in this case a link between the defect and the requirement is not necessary because the tests and the requirements are linked, providing a traceability path from defect to requirement (and notably to code.) Defects from users will need links to requirements because:
Defects come from users as well as test engineers. These defects start out as issues and must be verified as true defects somehow; usually by support engineers or test engineers duplicating the problem. This is done by comparing the software behavior with the requirements. (As we said earlier, turning to test cases would not be very helpful as the tests must have failed in order for the software to have been released with the defect.) From this perspective, if the defect is verified then the best initial link to create is the one from the confirmed defect to the requirements not properly fulfilled. (If the requirements are faulty, then a business analysis will be required.)
With the pre-established requirement-test relationship, it is also possible to see where the error slipped through the test process and therefore where the tests are deficient and must be improved. With the code fixed and tests updated, it is once again a simple matter of traceability to see those tests that must be rerun – or in some cases, which new tests must be run for the first time.
In conclusion, relationships from a defect are best made to tests or requirements, but not the code. The relationship of the defect to the code can be deduced through other traceability. When code runs it’s not failing, but that doesn’t mean it satisfies the requirements.
You may also be interested in:
The Cost of Quality Assurance
10 Questions You Should Ask When Choosing a Tool for Requirements Management
Testing in Agile Projects: Familiarity Breeds Consent
Principles of Requirements Engineering (or Requirements 101)
What is a Software Defect?
Testing Lifecycle: Don’t be a fool, use a proper tool.
Requirement Test Defect Issues Traceability Links Relationships
Ask an Inflectra expert:
SpiraTest combines test management, requirements traceability & bug-tracking
SpiraTeam brings your teams together, managing the entire application lifecycle
SpiraPlan lets you manage your programs and portfolio of projects like never before
Orchestrates your automated regression testing, functional, load and performance
The ultimate test automation platform for web, mobile, and desktop applications
The help desk system, designed specifically for software support teams
Cloud hosted, secure source code management - Git and Subversion
Exploratory testing capture tool that automatically records your testing activity
Let us deal with the IT pain so you don't have to. Or use on-premise if you prefer.
Our customers work in every industry imaginable. From financial services to healthcare and biotech to government and defense and more, we work with our customers to address their specific needs.
Our products do not enforce a methodology on you, instead they let you work your way. Whether you work in agile development, Scrum and XP, Kanban and Lean, Waterfall, hybrid, or Scaled Agile Inflectra can help.
If you want to learn more about application delivery, testing, and more take a look at our whitepapers, videos, background papers, blog, and presentations.
Customers use our tools to help automate repetitive tasks and streamline their business processes using our Robotic Process Automation (RPA) solutions.
We collaborate with a wide range of teams to bring our customers a range of services (including load testing, training, and consultation), complimentary technologies, and specialized tools for specific industries.
Learn how different organizations have benefited from using Inflectra products to manage their software testing and application develooment.
Outstanding support is the foundation of our company. We make support a priority over all other work. Take a look at our support policy.
Discover great tips, discussions, and technical solutions from fellow customers and Inflectra's technical experts.
If you can't find the answer you're looking for, please get in touch with us: over email, phone, or online.
We are constantly creating new videos to help customers learn about our products, including through in depth webinars, all freely available along with a wide selection of presentations.
We provide a number of resources to help customers learn how to get the most out of our products, with free online resources, virtual classrooms, and face to face.
Read about Inflectra, our manifesto, and values. Meet our incredible customers who are building awesome things. We are focused on their success using our tools.
The Inflectra Blog contains articles on all aspects of the software lifecycle.
In addition we have whitepapers,
background articles, videos and
presentations to help get you started.
Events are a big part of our awesome customer service. They are a chance to learn more about us, our products, and how to level up your skills with our tools.
We actively partner with companies and individuals all over the world. We are also a great place to work and encourage you to explore joining our team.
Please contact us with your questions, feedback, comments, or suggestions. We'll get back to you as soon as possible.
When you need additional assistance (be it training, consulting, or integration services) our global certified solution provider partner network is ready to help.
At Inflectra, we are fully committed to provide our customers with the very best products and customer service.
We want to help developers extend and customize our tools to fit in with their needs. We provide robust APIs, sample code, and open source projects.