Software Testing Proficiency Estimation via Event Message Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software quality assurance (QA) teams face challenges in measuring the thoroughness of software application testing, leading to potential consumer dissatisfaction due to undetected errors or excessive testing delays, exacerbated by the complexity of modern software applications with millions of lines of code and multi-layered structures.

Innovation Solution

A method to estimate testing proficiency by collecting and analyzing event messages generated during software tests, assigning a testing percentage based on the count of event messages issued during testing divided by the total event messages in the code base, allowing for a quantitative assessment of testing completeness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If QA teams spend more time testing software applications, then testing thoroughness improves, but time to market increases

Engineering Contradiction:
Improvetesting thoroughnessVSAvoidtime to market
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces manual assessment of testing thoroughness with an automated system that uses machine learning models to analyze test data, event messages, and code characteristics. This automated analysis system objectively determines testing completeness without requiring additional manual review time, thus improving reliability measurement while maintaining time to market schedules.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces an intermediary assessment system that acts as a mediator between the testing process and market release decisions. This system collects data from various testing activities and provides an objective proficiency score that guides release decisions, eliminating the need for extended testing periods while ensuring adequate quality assessment.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If QA teams test the entire software application comprehensively, then error detection improves, but testing complexity increases

Engineering Contradiction:
Improveerror detection capabilityVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the complex testing assessment into multiple analyzable components including event message analysis, test case execution data, code coverage metrics, and machine learning model evaluations. By dividing the overall testing proficiency assessment into these manageable segments, the system can comprehensively evaluate error detection capability without being overwhelmed by the complexity of testing the entire multi-million line codebase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces manual complexity of comprehensive testing assessment with automated machine learning models that objectively analyze test data patterns, event messages, and code characteristics. This substitution reduces testing complexity by automating the evaluation process while maintaining or improving error detection capability through data-driven insights.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Manufacturing precision

If QA teams perform adequate testing on each module separately, then module-level quality improves, but overall product testing coverage decreases

Engineering Contradiction:
Improvemodule-level qualityVSAvoidoverall product testing coverage
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The patent creates a universal testing proficiency assessment system that serves multiple functions simultaneously: it evaluates individual module test quality, assesses integration testing effectiveness, and determines overall product readiness. This multi-functional system analyzes data across all modules and their interactions, ensuring that both module-level precision and overall product coverage are adequately assessed without requiring separate testing processes.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent implements a feedback mechanism where the assessment system analyzes test results from individual modules and provides insights about overall product testing coverage. This feedback loop identifies gaps in integration testing and recommends additional test cases that address cross-module interactions, thereby maintaining module-level quality while improving overall product testing coverage through iterative refinement.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7493521B1Apparatus and method for estimating the testing proficiency of a software test according to EMS messages extracted from a code base
Publication Date: 2009.02.17 NETAPP INC
  • US7493521B1 patent drawing
  • US7493521B1 patent drawing
  • US7493521B1 patent drawing

AI summary

An apparatus and method for estimating the proficiency of a software test according to EMS messages extracted from a code base. Embodiments of the invention are generally directed to providing some measurement of the proficiency of a test script for testing a software application. In one embodiment, data is collected on event messages generated during a test of a software application to form event message statistics. In one embodiment, a measurement is computed to identify an amount or percentage of software application code tested during the test script. A code base of the software application may include a central repository having a substantial portion of the event messages that may be issued by the software application in response to error conditions. In one embodiment, these event messages are taken from the central repository and stored within a database. Other embodiments are described and claimed.