Publication Number

US-9111030-B1

Patent

Publication Date

2015-08-18

Expiration Date

2029-10-05


Abstract

Systems, methods, and computer-readable media are disclosed for testing a software application. An exemplary method includes storing a control file identifying a test case for testing a software application. A first expect result may be extracted from a device storing expected results of the software application, the first expected result being identified by the control file. A first actual result may be extracted from a device storing actual results output by the software application, the first actual result being identified by the control file. The first expected result may be compared with the first actual result to determine whether the first actual result matches the first expected result. A result file indicated whether the test case passed or failed s generated, and the test case has passed when the first actual result matches the first expected result. the result file may be stored in a storage device.

Core Innovation

The invention provides systems, methods, and computer-readable media for testing a software application by using a control file identifying a test case, extracting expected and actual results from corresponding devices, comparing these results, and generating and storing a result file indicating whether the test case passed or failed. This approach allows verification of software application output against expected output without requiring knowledge of scripting languages.

The problem being solved arises from the extensive resources organizations expend to test software products, often involving custom scripts written in scripting languages like Perl or Javascript. Such scripts require personnel competent in those languages, causing development overhead and increasing time for creating and executing tests. The invention addresses these issues by offering a generalized testing system and method that permit users to test software applications using simple, generic formats without needing programming expertise, thereby reducing time and effort in testing.

Claims Coverage

The patent includes multiple independent claims encompassing a computer-implemented method, a computer-readable medium, and a system for testing software applications, each detailing similar inventive features.

Control file based identification of test cases

Storing a control file that identifies test cases for testing software applications, which guides extraction of expected and actual results for comparison.

Format comparison and translation

Determining whether expected and actual results are in identical formats and translating one to the other's format if they differ to enable accurate comparison.

Result comparison and pass/fail determination

Comparing the expected result with the actual result to determine whether the actual result matches the expected result, and generating a result file indicating pass or fail status accordingly.

Handling of empty data causing failure

Detecting when both expected and actual results contain no data despite a passing comparison and updating the result file to indicate failure in such scenarios.

Use of configuration files with variables

Storing a configuration file defining variables with values, identifying instances of these variables in the control file, and interpreting them accordingly, including usage within SQL statements extracting expected results.

Result file naming conventions indicating test outcomes

Naming result files to reflect test outcomes, including use of strings like 'PASS', 'FAIL', or 'WARNING' to convey individual or aggregate test case results.

Mapping test cases to verification points and generating reports

Storing test case lists mapping test cases to verification points or requirements and generating reports indicating test case status alongside these descriptions; also generating reports identifying unexecuted test cases and summarizing passed and failed test cases.

Support for various output formats and detailed reporting

Supporting actual results output as spreadsheets, text, databases, or other formats, generating detailed reports such as spreadsheet reports showing actual and expected results and pass/fail indications per cell.

Flexible identification of test cases and result grouping

Allowing control files to specify multiple test cases via naming conventions including characters indicating ranges and concatenations, enabling single or grouped result file generation.

The independent claims collectively cover a comprehensive framework that enables testing of software applications through control files directing comparisons of expected and actual results in potentially differing formats, enhanced by configuration-driven variable substitution, detailed result reporting, and flexible test case grouping, thus facilitating efficient and automated verification without scripting knowledge.

Stated Advantages

Allows users to test software applications without knowledge of scripting languages.

Reduces the amount of time required to test software applications by using a simple, generic format for developing and executing tests.

Provides flexible mappings between test cases and verification points, enabling efficient test design and execution.

Facilitates detailed reporting including pass/fail status, unexecuted tests, and audit-friendly summaries.

Supports multiple output formats and automatically handles data format translation for comparison.

Documented Applications

Testing software applications by comparing expected results with actual results output by the software under test.

Generating audit reports summarizing software test results for verification of compliance with requirements or verification points.

Automated regression testing during software development.

JOIN OUR MAILING LIST

Stay Connected with MTEC

Keep up with active and upcoming solicitations, MTEC news and other valuable information.