Software and framework for reusable automated testing of computer software systems
First Claim
1. A method of reusing automated test procedures in a computer processing system, the method comprising:
- obtaining a plurality of available automated test procedures by calling a static method on a TestCase object to obtain a plurality of methods for testing, the available automated test procedures comprising existing tests that may be applicable to new features or new configurations;
obtaining a plurality of test options to be tested, each option of the plurality of test options comprising option data including an option value; and
for each combination of a current option of the plurality of test options and a current procedure of the plurality of available automated test procedures;
obtaining, by a test suite generator, an annotation for the current procedure, the annotation defining test options or other conditions for which the current procedure is applicable, wherein the annotation does not affect operation of the current procedure;
evaluating, by the test suite generator, the annotation with respect to the option data corresponding to the current option to determine whether the current procedure is applicable for the current option; and
if the current procedure is applicable for the current option;
generating a test specification corresponding to the combination of the current option and the current procedure, the test specification comprising the option data corresponding to the current option and procedure data corresponding to the current procedure;
adding the test specification corresponding to the combination of the current option and the current procedure to a suite of test specifications to be executed, wherein execution of the test specification results in the procedure data corresponding to the current procedure being executed with respect to the option value of the current option, whereingenerating the test specification comprises;
creating an instance of the TestCase object corresponding to the current procedure; and
mapping the instance of the TestCase object to the option data and the current procedure data; and
execution of the test specification comprises;
setting a current test option of the instance of the TestCase object to the option value; and
executing the current procedure implemented by the TestCase object.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, software, frameworks, and systems for automating test procedures for a computer processing system. An embodiment of the method includes steps of determining a plurality of available automated test procedures, determining a plurality of available test options, and generating a plurality of test specifications. Each test specification may include option data corresponding to one of the available test options as well as procedure data corresponding to one of the available automated test procedures. The present invention advantageously supports reuse and extensibility of automated test procedures for a variety of configurations.
-
Citations
20 Claims
-
1. A method of reusing automated test procedures in a computer processing system, the method comprising:
-
obtaining a plurality of available automated test procedures by calling a static method on a TestCase object to obtain a plurality of methods for testing, the available automated test procedures comprising existing tests that may be applicable to new features or new configurations; obtaining a plurality of test options to be tested, each option of the plurality of test options comprising option data including an option value; and for each combination of a current option of the plurality of test options and a current procedure of the plurality of available automated test procedures; obtaining, by a test suite generator, an annotation for the current procedure, the annotation defining test options or other conditions for which the current procedure is applicable, wherein the annotation does not affect operation of the current procedure; evaluating, by the test suite generator, the annotation with respect to the option data corresponding to the current option to determine whether the current procedure is applicable for the current option; and if the current procedure is applicable for the current option; generating a test specification corresponding to the combination of the current option and the current procedure, the test specification comprising the option data corresponding to the current option and procedure data corresponding to the current procedure; adding the test specification corresponding to the combination of the current option and the current procedure to a suite of test specifications to be executed, wherein execution of the test specification results in the procedure data corresponding to the current procedure being executed with respect to the option value of the current option, wherein generating the test specification comprises;
creating an instance of the TestCase object corresponding to the current procedure; and
mapping the instance of the TestCase object to the option data and the current procedure data; andexecution of the test specification comprises;
setting a current test option of the instance of the TestCase object to the option value; and
executing the current procedure implemented by the TestCase object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A multi-tenant on-demand database system comprising processing hardware and storage, wherein the processing hardware is configured to:
-
obtain a plurality of available automated test procedures by calling a static method on a TestCase object to obtain a plurality of methods for testing, the available automated test procedures comprising existing tests that may be applicable to new features or new configurations; obtain a plurality of test options to be tested, each option of the plurality of test options comprising option data including an option value; and for each combination of a current option of the plurality of test options and a current procedure of the plurality of available automated test procedures; obtain an annotation for the current procedure, the annotation defining test options or other conditions for which the current procedure is applicable, wherein the annotation does not affect operation of the current procedure; evaluate the annotation with respect to the option data corresponding to the current option to determine whether the current procedure is applicable for the current option; and if the current procedure is applicable for the current option; generate a test specification corresponding to the combination of the current option and the current procedure by creating an instance of the TestCase object corresponding to the current procedure and mapping the instance of the TestCase object to the option data and the current procedure data, the test specification comprising the option data corresponding to the current option and procedure data corresponding to the current procedure; add the test specification corresponding to the combination of the current option and the current procedure to a suite of test specifications to be executed, wherein execution of the test specification comprises setting a current test option of the instance of the TestCase object to the option value and executing the current procedure implemented by the TestCase object, and execution of the test specification results in the procedure data corresponding to the current procedure being executed with respect to the option value of the current option.
-
-
16. A non-transitory media capable of storing program code executable by a computer processing system to:
-
obtain a plurality of available automated test procedures by calling a static method on a TestCase object to obtain a plurality of methods for testing, the available automated test procedures comprising existing tests that may be applicable to new features or new configurations; obtain a plurality of test options to be tested, each option of the plurality of test options comprising option data including an option value; and generate a suite of test specifications to be executed by; for each combination of a current option of the plurality of test options and a current procedure of the plurality of available automated test procedures; obtaining an annotation for the current procedure, the annotation defining test options or other conditions for which the current procedure is applicable, wherein the annotation does not affect operation of the current procedure; evaluating the annotation with respect to the option data corresponding to the current option to determine whether the current procedure is applicable for the current option; and if the current procedure is applicable for the current option; generating a test specification corresponding to the combination of the current option and the current procedure, the test specification comprising the option data corresponding to the current option and procedure data corresponding to the current procedure; adding the test specification corresponding to the combination of the current option and the current procedure to the suite of test specifications, wherein execution of the test specification results in the procedure data corresponding to the current procedure being executed with respect to the option value of the current option, wherein;
generating the test specification comprises;
creating an instance of the TestCase object corresponding to the current procedure; and
mapping the instance of the TestCase object to the option data and the current procedure data; and
execution of the test specification comprises;
setting a current test option of the instance of the TestCase object to the option value; and
executing the current procedure implemented by the TestCase object. - View Dependent Claims (17, 18, 19, 20)
-
Specification