Software Test Failure Diagnosis via Attribute Elimination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software developers face challenges in determining which defect causes a test failure in software programs, especially when multiple defects are present and reproducing the failure is difficult due to specific environmental conditions.
Innovation Solution
A system that receives and analyzes defect reports, tests software in a controlled environment, and uses attribute elimination techniques to associate test failures with specific defects by gathering and evaluating attributes from the test environment through provider scripts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If multiple defect reports are stored for a software program, then the system can track more defects, but it becomes more difficult to determine which specific defect caused a test failure
Solution Approach 1:
The patent segments the problem of identifying the root cause by breaking it down into manageable steps: collecting test failure information, gathering defect report information, determining relationships between them, and presenting results. This segmentation allows the system to handle multiple defect reports systematically rather than being overwhelmed by the quantity of data.
Solution Approach 2:
The system introduces an intermediary mechanism - a processor that acts as a mediator between test failures and defect reports. This intermediary analyzes relationships and determines causality, bridging the gap between the test environment and the defect database, thereby resolving the difficulty of identifying which defect caused which failure.
2Measurement precision
If the system tests software in a controlled test environment with multiple attributes, then testing accuracy improves, but the complexity of managing and evaluating attributes increases
Solution Approach 1:
The system performs preliminary actions by pre-collecting and storing attribute information from the test environment before analyzing test failures. Attributes such as operating system version, hardware configuration, and software version are gathered in advance and stored for later comparison with defect reports, reducing the complexity of real-time analysis.
Solution Approach 2:
The patent applies parameter changes by transforming raw test environment data into standardized attributes that can be directly compared with defect report parameters. The system changes the form of data representation to enable systematic matching and relationship determination between test failures and defects.
3Extent of automation
If the system automatically gathers attributes from the test environment, then the diagnosis process is automated, but additional time and resources are required for attribute collection and evaluation
Solution Approach 1:
The system performs attribute collection as a preliminary action during the testing phase, gathering test environment information before failure analysis begins. This preliminary collection reduces the time required during actual diagnosis, as the data is already available when a failure occurs.
Solution Approach 2:
The system implements self-service by automatically gathering attributes from the test environment without requiring manual intervention. The processor autonomously collects, evaluates, and compares attribute data, reducing both time loss and resource requirements compared to manual diagnosis processes.
Data Source
AI summary
The disclosed embodiments provide a system that facilitates the development and testing of a software program. During operation, the system receives and stores a plurality of defect reports associated with a software program, wherein each defect report documents a previously discovered defect in the software program. In response to detecting a given test failure of the software program while testing the software program in a test environment, the system then eliminates, based on attributes of the test environment that are selected by the defect reports, one or more of the defect reports from the plurality of defect reports, wherein at least one of the selected attributes is retrieved from the test environment during the determination by invoking a provider script that is specified by one of the defect reports. Next, the system associates the test failure with a defect report that remains after the one or more eliminations.


