Systems and methods for testing a software application
Inventors
Assignees
Andrei Iancu Under Secretary Of Commerce For Intellectual Property And Director Of United States Patent And Trademark Office And Successors Thereto • Ashley Moody Florida Office Of Attorney General And Successors Thereto • Heuer Joan D • Jeanette Nunez Lieutenant Governor Of Florida And Successors Thereto • Laurel M Lee Florida Secretary Of State And Successors Thereto • Steven Mnuchin United States Secretary Of Treasury And Successors Thereto • Bureau of the Fiscal Service
Interested in licensing this patent?
MTEC can help explore whether this patent might be available for licensing for your application.
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.
Interested in licensing this patent?