DETAILED ACTION
This is the initial office action based on the application submitted on March 25, 2024.
Claims 1-18, 20, and 21 are pending.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Drawings
The drawings are objected to under 37 CFR 1.83(a). The drawings must show every feature of the invention specified in the claims. Therefore, the:
Claim 2: “engage the first automation testing tool to execute the translated test script.”
Claim 5: “generate at least one import statement for importing at least one module or library associated with the first automation testing tool.”
Claim 8: “send […] a signal causing the computing device to display a graphical user interface for generating the test script within the context model.”
Claim 9: “wherein the graphical user interface includes at least one interface element for providing the indication of the selection of the first automation testing tool.”
Claim 10: “wherein the indication of the selection of the first automation tool is included in the test script.”
Claim 21: “generate the at least one corresponding command of the one or more automation testing tools using a trained artificial intelligence engine.”
must be shown or the feature(s) canceled from the claim(s). No new matter should be entered.
Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Specification
The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed. The following title is suggested: CONTEXT-MODEL-BASED TRANSLATION OF TEST SCRIPTS FOR AUTOMATION TESTING TOOLS.
Claim Interpretation
During patent examination, the pending claims must be "given their broadest reasonable
interpretation consistent with the specification." See MPEP § 2111. Under a broadest reasonable
interpretation (BRI), words of the claim must be given their plain meaning, unless such meaning
is inconsistent with the specification. The plain meaning of a term means the ordinary and
customary meaning given to the term by those of ordinary skill in the art at the relevant time.
The ordinary and customary meaning of a term may be evidenced by a variety of sources,
including the words of the claims themselves, the specification, the drawings, and the prior art.
See MPEP § 2111.01(1).
Applicant is entitled to be their own lexicographer and may rebut the presumption that
claim terms are to be given their ordinary and customary meaning by clearly setting forth a
definition of the term that is different from its ordinary and customary meaning(s) in the
specification at the relevant time. Where an explicit definition is provided by the Applicant for a
term, that definition will control interpretation of the term as it is used in the claim. See MPEP §
2111.01 (IV)(A). Any such lexicographic definition for a term will be expressly noted by the Examiner in the prior art rejections of the claims.
Claim Mapping
For clarity of the prosecution history record, the Examiner has provided annotations
clearly in the prior art rejections of the claims to aid the Applicant in understanding the
Examiner's interpretations of the claimed invention and the prior art, such as emphasizing
notable and relevant portions of the prior art citations, using item-to-item matching to the prior art citations, pairing exact claim language to particular language used in the prior art citations,
and/or clearly explaining the Examiner's interpretation as to how prior art citations map to the
claim language, especially when there is no one-to-one matching of terms. Furthermore, the
annotations are provided in the prior art rejections of the claims at the Examiner's discretion
where the Examiner deemed to be appropriate and necessary.
Claim Objections
Claims 8 and 20 are objected to because of the following informalities:
Claim 8 reads “send, via the communications module and to a computing device, a signal”. It should read “send, via the communications module, to a computing device, a signal”.
Claim 20 recites “computer readable medium”. It should read “computer-readable medium”.
Appropriate correction is required.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim 10 is rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second
paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject
matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C.
112, the applicant), regards as the invention.
Claim 10 recites the limitation "the first automation tool" in line 2. There is insufficient
antecedent basis for this limitation in the claim. Claim 10 depends on Claim 1 which recites “a first automation testing tool”, but does not expressly recite “a first automation tool”. In the interest of compact prosecution, the Examiner subsequently interprets this limitation as reading “the first automation testing tool” for the purpose of further examination.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-18, 20, and 21 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
Claim Interpretation: Under the broadest reasonable interpretation (BRI), the limitations of Claim 1 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111.
Step 1: Claim 1 is directed to a computer server system, which is a machine, and falls within one of the statutory categories of invention.
Step 2A, Prong One: Claim 1 recites the limitations:
map the at least one command to at least one corresponding command of one or more automation testing tools;
translate the test script into a first format compliant with the first automation testing tool based at least on the mapping.
These recited steps, under the broadest reasonable interpretation (BRI), cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting:
(1) at least one processor;
(2) a communications module coupled to the at least one processor; and
(3) a memory coupled to the at least one processor and storing processor-executable instructions which, when executed by the at least one processor, configure the at least one processor to:
(4) define a context model that includes at least one command for performing a specific action;
(5) obtain a test script and an indication of selection of a first automation testing tool, the test script generated within the context model and including the at least one command; and
Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human evaluating the at least one command and the at least one corresponding command of one or more automation testing tools in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to map the at least one command to at least one corresponding command of one or more automation testing tools. And the limitation (b) in the context of the claim encompasses a human observing the test script, the selected fist automation testing tool, and the mapping between commands in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to translate the test script into a format compliant with the fist automation testing tool based on the mapping. See MPEP § 2106.04(a)(2)(III).
If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
Step 2A, Prong Two: This judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements:
(1) at least one processor;
(2) a communications module coupled to the at least one processor; and
(3) a memory coupled to the at least one processor and storing processor-executable instructions which, when executed by the at least one processor, configure the at least one processor to:
The additional elements (1) to (3) are recited at a high-level of generality such that they amount to no more than mere instructions to apply the judicial exception using generic computer components. The at least one processor, communications module coupled to the at least one processor, and memory coupled to the at least one processor and storing processor-executable instructions are used as a tool to perform the defining, mapping, obtaining, and translating steps of the claim. See MPEP § 2106.05(f).
Also, the claim recites the additional elements:
(4) define a context model that includes at least one command for performing a specific action;
(5) obtain a test script and an indication of selection of a first automation testing tool, the test script generated within the context model and including the at least one command; and
The additional elements (4) and (5) are mere data gathering/transmitting/outputting recited at a high level of generality and thus, are insignificant extra-solution activities. See MPEP § 2106.05(g). Furthermore, all uses of the recited judicial exception require such data gathering/transmitting/outputting, and, as such, the additional elements do not impose any meaningful limits on the claim. The additional elements amount to necessary data gathering/transmitting/outputting. See MPEP § 2106.05(g).
Accordingly, even when viewed in combination, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the claim recites the additional elements:
(1) at least one processor;
(2) a communications module coupled to the at least one processor; and
(3) a memory coupled to the at least one processor and storing processor-executable instructions which, when executed by the at least one processor, configure the at least one processor to:
The additional elements (1) to (3) amount to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more.
Also, the claim recites the additional elements:
(4) define a context model that includes at least one command for performing a specific action;
(5) obtain a test script and an indication of selection of a first automation testing tool, the test script generated within the context model and including the at least one command; and
The additional elements (4) and (5) simply append well-understood, routine, and conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized the computer function of receiving or transmitting data over a network, e.g., using the Internet to gather data as a well‐understood, routine, and conventional computer function when it is claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activities. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to define a context model that includes at least one command for performing a specific action and to obtain a test script and an indication of selection of a first automation testing tool, the test script generated within the context model and including the at least one command. Therefore, the limitations remain insignificant extra-solution activities even upon reconsideration and do not amount to significantly more.
Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components, merely indicating a field of use or technological environment, insignificant extra-solution activities, and only the idea of a solution or outcome, and therefore do not provide an inventive concept. The claim is not patent eligible.
Claims 2-10 and 21 are dependent on Claim 1, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 1.
Claim 2 recites the limitation:
(a) engage the first automation testing tool to execute the translated test script.
•──────────────•──────────────•
Claim 3 recites the limitation:
obtain an indication of selection of a second automation testing tool; and
translate the test script into a second format compliant with the second automation testing tool based at least on the mapping.
•──────────────•──────────────•
Claim 4 recites the limitation:
(a) wherein the defined context model includes a plurality of commands for performing a plurality of actions.
•──────────────•──────────────•
Claim 5 recites the limitation:
(a) generate at least one import statement for importing at least one module or library associated with the first automation testing tool.
•──────────────•──────────────•
Claim 6 recites the limitation:
(a) wherein the one or more automation testing tools include at least one of a browser automation testing tool, a desktop automation testing tool, a mobile automation testing tool, or an application programming interface automation testing tool.
•──────────────•──────────────•
Claim 7 recites the limitation:
(a) wherein the at least one command for performing the specific action is defined as a generic command within the context model.
•──────────────•──────────────•
Claim 8 recites the limitation:
(a) send, via the communications module and to a computing device, a signal causing the computing device to display a graphical user interface for generating the test script within the context model.
•──────────────•──────────────•
Claim 9 recites the limitation:
(a) wherein the graphical user interface includes at least one interface element for providing the indication of the selection of the first automation testing tool.
•──────────────•──────────────•
Claim 10 recites the limitation:
(a) wherein the indication of the selection of the first automation tool is included in the test script.
•──────────────•──────────────•
Claim 21 recites the limitation:
(a) generate the at least one corresponding command of the one or more automation testing tools using a trained artificial intelligence engine.
•──────────────•──────────────•
Claims 3, 4, 5, 7, and 10 recite further mental steps which can be practically performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper and thus, fail to make the claim any less abstract (see MPEP § 2106.04(a)(2)(III)).
Claims 2 and 21 recite further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they are mere instructions to apply the judicial exception using generic computer components (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea.
Claims 8 and 9 recite further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they are mere data gathering/transmitting/outputting recited at a high level of generality and thus, are insignificant extra-solution activities (see MPEP § 2106.05(g)) and thus, are not significantly more than the abstract idea.
Claim 6 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they merely indicate a field of use or technological environment in which the judicial exception is performed and thus, fail to add an inventive concept to the claims (see MPEP § 2106.05(h)) and thus, are not significantly more than the abstract idea.
Thus, Claims 2-10 and 21 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 1 into patent-eligible subject matter.
Therefore, Claims 1-10 and 21 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more.
Claim Interpretation: Under the broadest reasonable interpretation (BRI), the limitations of Claim 11 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111.
Step 1: Claim 11 is directed to a method, which is a process (a series of steps or acts), and falls within one of the statutory categories of invention.
Step 2A, Prong One: Claim 11 recites the limitations:
mapping the at least one command to at least one corresponding command of one or more automation testing tools;
translating the test script into a first format compliant with the first automation testing tool based at least on the mapping.
These recited steps, under the broadest reasonable interpretation (BRI), cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting:
(1) defining a context model that includes at least one command for performing a specific action;
(2) obtaining a test script and an indication of selection of a first automation testing tool, the test script generated within the context model and including the at least one command; and
Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human evaluating the at least one command and the at least one corresponding command of one or more automation testing tools in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to map the at least one command to at least one corresponding command of one or more automation testing tools. And the limitation (b) in the context of the claim encompasses a human observing the test script, the selected fist automation testing tool, and the mapping between commands in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to translate the test script into a format compliant with the fist automation testing tool based on the mapping. See MPEP § 2106.04(a)(2)(III).
If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
Step 2A, Prong Two: This judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements:
(1) defining a context model that includes at least one command for performing a specific action;
(2) obtaining a test script and an indication of selection of a first automation testing tool, the test script generated within the context model and including the at least one command; and
The additional elements (1) and (2) are mere data gathering/transmitting/outputting recited at a high level of generality and thus, are insignificant extra-solution activities. See MPEP § 2106.05(g). Furthermore, all uses of the recited judicial exception require such data gathering/transmitting/outputting, and, as such, the additional elements do not impose any meaningful limits on the claim. The additional elements amount to necessary data gathering/transmitting/outputting. See MPEP § 2106.05(g).
Accordingly, even when viewed in combination, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the claim recites the additional elements:
(1) defining a context model that includes at least one command for performing a specific action;
(2) obtaining a test script and an indication of selection of a first automation testing tool, the test script generated within the context model and including the at least one command; and
The additional elements (1) and (2) simply append well-understood, routine, and conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized the computer function of receiving or transmitting data over a network, e.g., using the Internet to gather data as a well‐understood, routine, and conventional computer function when it is claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activities. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to define a context model that includes at least one command for performing a specific action and to obtain a test script and an indication of selection of a first automation testing tool, the test script generated within the context model and including the at least one command. Therefore, the limitations remain insignificant extra-solution activities even upon reconsideration and do not amount to significantly more.
Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components, merely indicating a field of use or technological environment, insignificant extra-solution activities, and only the idea of a solution or outcome, and therefore do not provide an inventive concept. The claim is not patent eligible.
Claims 12-18 are dependent on Claim 11, but do not add any feature or subject matter that would solve the judicial exception deficiencies of Claim 11.
Claim 12 recites the limitation:
(a) engaging the first automation testing tool to execute the translated test script.
•──────────────•──────────────•
Claim 13 recites the limitation:
obtaining an indication of selection of a second automation testing tool; and
translating the test script into a second format compliant with the second automation testing tool based at least on the mapping.
•──────────────•──────────────•
Claim 14 recites the limitation:
(a) wherein the defined context model includes a plurality of commands for performing a plurality of actions.
•──────────────•──────────────•
Claim 15 recites the limitation:
(a) wherein translating the test script into the first format compliant with the first automation testing tool includes generating at least one import statement for importing at least one module or library associated with the first automation testing tool.
•──────────────•──────────────•
Claim 16 recites the limitation:
(a) wherein the one or more automation testing tools include at least one of a browser automation testing tool, a desktop automation testing tool, a mobile automation testing tool, or an application programming interface automation testing tool.
•──────────────•──────────────•
Claim 17 recites the limitation:
(a) wherein the at least one command for performing the specific action is defined as a generic command within the context model.
•──────────────•──────────────•
Claim 18 recites the limitation:
(a) sending, to a computing device, a signal causing the computing device to display a graphical user interface for generating the test script within the context model.
•──────────────•──────────────•
Claims 13, 14, 15, and 17 recite further mental steps which can be practically performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper and thus, fail to make the claim any less abstract (see MPEP § 2106.04(a)(2)(III)).
Claims 12 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they are mere instructions to apply the judicial exception using generic computer components (see MPEP § 2106.05(f)) and thus, are not significantly more than the abstract idea.
Claim 18 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they are mere data gathering/transmitting/outputting recited at a high level of generality and thus, are insignificant extra-solution activities (see MPEP § 2106.05(g)) and thus, are not significantly more than the abstract idea.
Claim 16 recites further additional elements that do not integrate the judicial exception into a practical application of the judicial exception because they merely indicate a field of use or technological environment in which the judicial exception is performed and thus, fail to add an inventive concept to the claims (see MPEP § 2106.05(h)) and thus, are not significantly more than the abstract idea.
Thus, Claims 12-18 do not add any steps or additional elements, when considered both individually and as a combination, that would convert Claim 1 into patent-eligible subject matter.
Therefore, Claims 11-18 are not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more.
Claim Interpretation: Under the broadest reasonable interpretation (BRI), the limitations of Claim 20 are presumed to have their plain meaning consistent with the specification as it would be interpreted by one of ordinary skill in the art. See MPEP § 2111.
Step 1: Claim 20 is directed to a non-transitory computer-readable medium, which is an article of manufacture, and falls within one of the statutory categories of invention.
Step 2A, Prong One: Claim 20 recites the limitations:
map the at least one command to at least one corresponding command of one or more automation testing tools;
translate the test script into a first format compliant with the first automation testing tool based at least on the mapping.
These recited steps, under the broadest reasonable interpretation (BRI), cover performance of the steps in the human mind alone or with the aid of pen and paper. That is, other than reciting:
(1) A non-transitory computer readable medium having stored thereon processor-executable instructions which, when executed by at least one processor, configure the at least one processor to:
(2) define a context model that includes at least one command for performing a specific action;
(3) obtain a test script and an indication of selection of a first automation testing tool, the test script generated within the context model and including the at least one command; and
Nothing in the claim precludes the steps from practically being performed in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper. For example, the limitation (a) in the context of the claim encompasses a human evaluating the at least one command and the at least one corresponding command of one or more automation testing tools in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to map the at least one command to at least one corresponding command of one or more automation testing tools. And the limitation (b) in the context of the claim encompasses a human observing the test script, the selected fist automation testing tool, and the mapping between commands in the human mind alone using observation, evaluation, judgment, and opinion or with the aid of pen and paper to translate the test script into a format compliant with the fist automation testing tool based on the mapping. See MPEP § 2106.04(a)(2)(III).
If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the human mind alone or with the aid of pen and paper but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
Step 2A, Prong Two: This judicial exception is not integrated into a practical application. In particular, the claim recites the additional element:
(1) A non-transitory computer readable medium having stored thereon processor-executable instructions which, when executed by at least one processor, configure the at least one processor to:
The additional element (1) is recited at a high-level of generality such that it amounts to no more than mere instructions to apply the judicial exception using generic computer components. The at least one processor, communications module coupled to the at least one processor, and memory coupled to the at least one processor and storing processor-executable instructions are used as a tool to perform the defining, mapping, obtaining, and translating steps of the claim. See MPEP § 2106.05(f).
Also, the claim recites the additional elements:
(2) define a context model that includes at least one command for performing a specific action;
(3) obtain a test script and an indication of selection of a first automation testing tool, the test script generated within the context model and including the at least one command; and
The additional elements (2) and (3) are mere data gathering/transmitting/outputting recited at a high level of generality and thus, are insignificant extra-solution activities. See MPEP § 2106.05(g). Furthermore, all uses of the recited judicial exception require such data gathering/transmitting/outputting, and, as such, the additional elements do not impose any meaningful limits on the claim. The additional elements amount to necessary data gathering/transmitting/outputting. See MPEP § 2106.05(g).
Accordingly, even when viewed in combination, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as a combination do not amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the claim recites the additional elements:
(1) A non-transitory computer readable medium having stored thereon processor-executable instructions which, when executed by at least one processor, configure the at least one processor to:
The additional element (1) amounts to no more than mere instructions to apply the judicial exception using generic computer components. The analysis under Step 2A, Prong Two is carried through to Step 2B. The use of a computer or other machinery in its ordinary capacity does not integrate a judicial exception into a practical application or provide significantly more.
Also, the claim recites the additional elements:
(2) define a context model that includes at least one command for performing a specific action;
(3) obtain a test script and an indication of selection of a first automation testing tool, the test script generated within the context model and including the at least one command; and
The additional elements (2) and (3) simply append well-understood, routine, and conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception is not indicative of an inventive concept. MPEP § 2106.05(d)(II) expressly states that the courts have recognized the computer function of receiving or transmitting data over a network, e.g., using the Internet to gather data as a well‐understood, routine, and conventional computer function when it is claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activities. Thus, a person of ordinary skill in the art would readily comprehend that it is well-understood, routine, and conventional in the computing art to define a context model that includes at least one command for performing a specific action and to obtain a test script and an indication of selection of a first automation testing tool, the test script generated within the context model and including the at least one command. Therefore, the limitations remain insignificant extra-solution activities even upon reconsideration and do not amount to significantly more.
Thus, taken alone, the additional elements do not amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the additional elements as a combination adds nothing that is not already present when looking at the additional elements taken individually. Even when considered in combination, the additional elements represent mere instructions to apply a judicial exception using generic computer components, merely indicating a field of use or technological environment, insignificant extra-solution activities, and only the idea of a solution or outcome, and therefore do not provide an inventive concept. The claim is not patent eligible.
Therefore, Claim 20 is not drawn to patent-eligible subject matter as they are directed to an abstract idea without significantly more.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-4, 6-9, 11-14, 16-18, 20 and 21 are rejected under 35 U.S.C. 103 as being unpatentable over Ganda (US 2017/0052877 A1) in view of Herrin (US 2015/0074646 A1) and further in view of Kulkarni (US 2019/0213116 A1).
Regarding Claim 1, Ganda teaches:
define a context model that includes at least one command for performing a specific action (Ganda, Paragraph [0017], "At 102, generic interface commands for objects in general to be tested are created. For example, in a graphical user interface (GUI) application, generic interface commands may be created for objects found in GUI applications (e.g., setInputField, click, selectFromList, focus, launch, close, verify, switchToFrame, waitForElementToLoad, setCheckBox, etc.).");
map the at least one command to at least one corresponding command of one or more automation testing tools (Paragraph [0018], "At 104, the generic interface commands are mapped to tool-specific interface commands of a test automation tool in any practical way (e.g., via an application programming interface) (emphasis added). For example, the command “check” is used in Selenium to place a check in a check box. Thus, when mapping the generic interface commands to the Selenium commands, setCheckBox is mapped to “check” in Selenium. However, to check a checkbox in HP UFT, the command is “set” with an object of the command being the checkbox. Therefore, the generic interface command setCheckBox would be mapped to “set” in HP UFT. As such, the generic interface commands may be mapped to different test automation tools via the mapping at 104.");
[…] the test […] generated within the context model and including the at least one command; and (Paragraph [0029], "Generic interface commands 202 are created (102, FIG. 1) and mapped to an exposed application programming interface (API) 204a-c of a test automation tool (104, FIG. 1). Further, an application-specific element map 206 is created from source code of an application under test (106, FIG. 1). From the generic interface commands 202 and the application-specific element map 206, application-specific user actions 208, which are used to simulate user actions within the test automation tool, are created (108, FIG. 1).")
translate the test […] into a first format compliant with the first automation testing tool based at least on the mapping (Paragraph [0027], "At 110, the application-specific user actions are sent to the test automation tool for testing the application, and the generic interface commands of the application-specific user actions are translated to the tool-specific interface commands using the mapping created at 104.").
Ganda fails to teach:
obtain a test script and an indication of selection of a first automation testing tool […]
However, Herrin teaches:
obtain a test script […] (Claim 1, "receiving a first version of an automation script [test script] configured to execute in a first framework", Paragraph [0030], "In one aspect, the validation module 110 or the conversion module 120 can prompt a user to specify the type of automation script to be generated, and the conversion module 120 can generate the new script 150 accordingly.")
Ganda and Herrin are considered to be analogous to the claimed invention because they are in the same field of test management and testing of software. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Ganda to incorporate the teachings of Herrin to have:
obtain a test script […]
The modification would be obvious to one of ordinary skill in the art because Ganda already teaches using generic interface commands and mappings so that the same application-specific test cases can be used with different automation tools (Ganda, Paragraph [0017-0018, 0027]). Herrin teaches receiving an automation script and prompting the user to specify the type of automation script to be generated (Herrin, Paragraph [0005, 0030]). A person of ordinary skill in the art would have been motivated to incorporate Herrin’s script-receiving and user-specified target-generation functionality into Ganda’s tool-independent test automation framework because “generating new versions of automation scripts and unit tests from existing automation scripts and unit tests saves much time spent on system administration” (Herrin, Paragraph [0020]).
The combination of Ganda and Herrin fails to teach:
[…] an indication of selection of a first automation testing tool […]
However, Kulkarni teaches:
[…] an indication of selection of a first automation testing tool […] (Kulkarni, Claim 1, “receiving a context file, a test scenario, and a selected automation tool selected through a user interface, the context file including an object map comprising objects that correlate to respective components of a display page for an application, the test scenario describing a test case for the application involving an intended interaction with at least one of the components on the display page (emphasis added);”).
Ganda, Herrin, and Kulkarni are considered to be analogous to the claimed invention because they are in the same field of test management and testing of software. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Ganda and Herring to incorporate the teachings of Kulkarni to have:
[…] an indication of selection of a first automation testing tool […]
The modification would be obvious to one of ordinary skill in the art because allowing the user to provide testing scenarios, select context files, and select the automation tool for which the automated testing scripts should be generated through a user interface (Kulkarni, Paragraph [0030]) would reduce the time and effort associated with manually creating tool-specific automation scripts (Kulkarni, Paragraph [0002]).
Regarding Claim 2, the rejection of Claim 1 is incorporated. Ganda further teaches:
engage the first automation testing tool to execute the translated test script (Ganda, Paragraph [0042-0043], "An automation translator plugin has been coupled to the Selenium test automation tool, so the application-specific user actions (which are based off of the generic interface commands) may be understood by the Selenium tool. Thus, the Selenium test automation tool starts the automation (emphasis added). The test driver selects the first test operation found in the application-specific test cases, which in this example is Login. Using reflection, invokes the test automation tool (e.g., Selenium) to populate values read from the application-specific test data into the application under test. In this example, the first user action in the sequence of the application-specific test case for the Login operation is setInputField for username, password, and tenantname textboxes, and the second user action for the Login operation is to click on the sign in button").
Regarding Claim 3, the rejection of Claim 1 is incorporated. Herrin teaches the claimed “test script” and Ganda further teaches:
translate the test […] into a second format compliant with the second automation testing tool based at least on the mapping (Claim 8, "mapping the generic interface commands to tool-specific interface commands of a second test automation tool").
The combination of Ganda and Herrin fails to teach:
obtain an indication of selection of a second automation testing tool; and
However, Kulkarni teaches:
obtain an indication of selection of a second automation testing tool; and (Kulkarni, Claim 1, “receiving a context file, a test scenario, and a selected automation tool selected through a user interface, the context file including an object map comprising objects that correlate to respective components of a display page for an application, the test scenario describing a test case for the application involving an intended interaction with at least one of the components on the display page (emphasis added);”).
Regarding Claim 4, the rejection of Claim 1 is incorporated. Ganda further teaches:
wherein the defined context model includes a plurality of commands for performing a plurality of actions (Ganda, Paragraph [0017], “For example, in a graphical user interface (GUI) application, generic interface commands may be created for objects found in GUI applications (e.g., setInputField, click, selectFromList, focus, launch, close, verify, switchToFrame, waitForElementToLoad, setCheckBox, etc.). While these generic interface commands may be of any language or verbiage, the generic interface commands should be easy to understand based on the commands themselves. For example, setInputField is used to set text in an input field of a GUI screen.”).
Regarding Claim 6, the rejection of Claim 1 is incorporated. Ganda further teaches:
wherein the one or more automation testing tools include at least one of a browser automation testing tool, a desktop automation testing tool, a mobile automation testing tool, or an application programming interface automation testing tool (Ganda, Paragraph [0003], “In the case of graphical-user-interface (GUI) applications, an element map specific to the GUI under test is used with the test driver to test each page of the application in an automation tool (e.g., Selenium, HP UFT (Hewlett Packard Unified Functional Testing), Appium, etc.).”).
══════════════════════════════════════════════
Examiner's Remarks: Claim 6 of the instant application teaches “the one or more automation testing tools include at least one of a browser automation testing tool, a desktop automation testing tool, a mobile automation testing tool, or an application programming interface automation testing tool”. Ganda teaches to “test each page of the application in an automation tool (e.g., Selenium, HP UFT (Hewlett Packard Unified Functional Testing), Appium, etc.)”. Selenium is a browser automation testing tool, HP UFT is a desktop automation testing tool, and Appium is a mobile automation testing tool. Therefore, Ganda teaches that the automation testing tools include at least one of the claimed categories.
══════════════════════════════════════════════
Regarding Claim 7, the rejection of Claim 1 is incorporated. Ganda further teaches:
wherein the at least one command for performing the specific action is defined as a generic command within the context model (Paragraph [0015], "Basically, generic interface commands (i.e., interface commands that may be used across applications and across test automation tools) are created and mapped to one or more tool-specific commands of one or more test automation tools (emphasis added). Further, application-specific user actions (i.e., simulated user actions) are created based on the generic interface commands and elements of an application under test. Thus, the user actions are specific to the application, but generic to test automation tools.").
Regarding Claim 8, the combination of Ganda and Herrin fails to teach:
send, via the communications module and to a computing device, a signal causing the computing device to display a graphical user interface for generating the test script within the context model.
However, Kulkarni teaches:
send, via the communications module and to a computing device, a signal causing the computing device to display a graphical user interface for generating the test script within the context model (Kulkarni, Paragraph [0030], “The UI 140 provides access for a user, such as the developer 110, to the automated testing script generation system 100, and more specifically, to the functionality provided by AI module 150 (emphasis added). The UI 140 includes a series of screens, which may be received and viewed on a user device using, for example, a web browser program. Pages may be generated on a server or virtual server and transmitted via a network. The UI 140 allows a user to provide testing scenarios (e.g., test cases) to the AI module 150 (emphasis added). In some implementations, the testing scenarios are included in a feature file that is written with Gherkin. A feature file may be selected from a feature file repository, such as the feature file repository 122. The feature file repository 122 may be a relational database, such as Oracle or DB2, implemented on an enterprise database server or virtual server. In some implementations, the feature files may be stored locally on the user's device or at some other location accessible over a network. The user selects a context file(s) from the context repository 132 to set the appropriate context (e.g., the page(s) and application) relevant to the test scenario. Additionally, the user may designate the automation tool, for which the automated testing script(s) should be generated (emphasis added). The UI 140 is discussed in more detail in the description of FIG. 4.”).
Regarding Claim 9, the combination of Ganda and Herrin fails to teach:
wherein the graphical user interface includes at least one interface element for providing the indication of the selection of the first automation testing tool.
However, Kulkarni teaches:
wherein the graphical user interface includes at least one interface element for providing the indication of the selection of the first automation testing tool (Kulkarni, Claim 1, “receiving a context file, a test scenario, and a selected automation tool selected through a user interface, the context file including an object map comprising objects that correlate to respective components of a display page for an application, the test scenario describing a test case for the application involving an intended interaction with at least one of the components on the display page (emphasis added);”).
Regarding Claim 21, the combination of Ganda and Herrin fails to teach:
generate the at least one corresponding command of the one or more automation testing tools using a trained artificial intelligence engine.
However, Kulkarni teaches:
generate the at least one corresponding command of the one or more automation testing tools using a trained artificial intelligence engine (Kulkarni, Paragraph [0031], “The AI module 150, generates an automated testing script(s) from a provided test scenario and context file. The AI module 150 extracts the intended interaction (intent) and relevant testing data from each test scenario through the employment of natural language processing (NLP) techniques. The intent is correlated to the appropriate test object(s) in the provided context file. For example, if the test scenario recites “Click on the Submit button,” the AI module 150 parses the natural language and derives the context as “submit button,” which it then maps to the submit button object within the object map of the submitted context file. A template for the selected automation tool is applied to the extracted intent and data along with the correlated object(s) to generate the resulting automated testing script.”).
Ganda, Herrin, and Kulkarni are considered to be analogous to the claimed invention because they are in the same field of test management and testing of software. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Ganda and Herrin to incorporate the teachings of Kulkarni to have:
generate the at least one corresponding command of the one or more automation testing tools using a trained artificial intelligence engine.
The modification would be obvious to one of ordinary skill in the art because letting the user provide testing scenarios and context files to an AI (Artificial Intelligence) module allows the AI module to generate automated testing script(s) for the selected automation tool (Kulkarni, Paragraph [0031]) and thus reduce the time and effort associated with manually creating tool-specific automation scripts (Kulkarni, Paragraph [0002]).
Claims 11, 12, 13, 14, 16, 17, and 18 are method claims corresponding to the computer server system claims hereinabove (Claims 1, 2, 3, 4, 6, 7, 8 respectively). Therefore, claims 11, 12, 13, 14, 16, 17, and 18 are rejected for the same reasons set forth in the rejections of claims 1, 2, 3, 4, 6, 7, and 8 respectively.
Claim 20 is a non-transitory computer-readable medium claim corresponding to the computer server system claim hereinabove (Claim 1). Therefore, claim 20 is rejected for the
same reasons set forth in the rejection of claim 1.
Claims 5 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Ganda (US 2017/0052877 A1) in view of Herrin (US 2015/0074646 A1), Kulkarni (US 2019/0213116 A1), and further in view of LeMaster (US 8,914,769 B2).
Regarding Claim 5, Ganda teaches the claimed “first automation testing tool”. The combination of Ganda, Herrin, and Kulkarni fails to teach:
generate at least one import statement for importing at least one module or library associated with the […] tool.
However, LeMaster teaches:
generate at least one import statement for importing at least one module or library associated with the […] tool (LeMaster, Column 5, Lines 5-10, “In step 208, code generator 150 generates source code in the second programming language for the client to access the revised data structure via the conversion library (emphasis added). Code templates 106 may be used to generate the source code (and may further include references to libraries, import statements, scoping declarations, return types, etc.) (emphasis added).”).
Ganda, Herrin, Kulkarni, and LeMaster are considered to be analogous to the claimed invention because they are in the same field of generating, translating, and converting computer-executable code or scripts. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Ganda, Herrin, and Kulkarni to incorporate the teachings of LeMaster to have:
generate at least one import statement for importing at least one module or library associated with the […] tool.
The modification would be obvious to one of ordinary skill in the art because modifying Ganda’s tool-specific automation command generation (Ganda, Paragraph [0029]) to include references to libraries and import statements (LeMaster, Column 5, Lines 5-10) would allow the source code to be immediately compiled (Lines 39-42) and the generated tool-specific automation code would include the library references needed for execution by the selected automation testing tool.
Claim 15 is a method claim corresponding to the computer server system claim hereinabove (Claim 5). Therefore, claim 15 is rejected for the same reasons set forth in the rejection of claim 5.
Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Ganda (US 2017/0052877 A1) in view of Herrin (US 2015/0074646 A1), Kulkarni (US 2019/0213116 A1), and further in view of Patel (US 2020/0174917 A1).
Regarding Claim 10, the rejection of Claim 1 is incorporated. Kulkarni teaches the claimed “indication of the selection of the first automation tool”.
The combination of Ganda, Herrin, and Kulkarni fails to teach:
wherein the indication of the […] tool is included in the test script.
However, Patel teaches:
wherein the indication of the […] tool is included in the test script (Patel, Figure 5: 504).
══════════════════════════════════════════════
Examiner's Remarks: Figure 5 of Patel shows a feature file or codeless test script (Patel, Figure 7: 701, 702). The codeless test script in Figure 5 includes a tool-identifying tag in line 44. The line is written as “@LeanFT @ThickClient @PassTest” (Patel, Figure 5: 504). @LeanFT is a functional test automation tool, thus the codeless test script of Patel includes an indication of the selection of an automation tool [tool-identifying tag] in the test script.
══════════════════════════════════════════════
Ganda, Herrin, Kulkarni, and Patel are considered to be analogous to the claimed invention because they are in the same field of testing of software. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Ganda, Herrin, and Kulkarni to incorporate the teachings of Patel to have:
wherein the indication of the […] tool is included in the test script.
The modification would be obvious to one of ordinary skill in the art because modifying the combined system of Ganda, Herrin, and Kulkarni to include Patel’s tool-identifying indication within the test script would allow the test script to be processed and executed by the correct automation testing tool without manual coding (Patel, Paragraph [0023]) since the indication of the selected automation testing tool will already be in the test script.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. They are as follows:
Seeman (US 2005/0223360 A1) discloses a system and method for providing a generic user interface testing framework. The generic UI test framework insulates test developers from learning the tool-specific scripting language and environment.
Maddela (US 2015/0007149 A1) discloses a computer implemented method and system including techniques for developing and executing automated test cases are described herein. In one embodiment, a test case automation tool provides functionality for defining an automated test set and associated test cases within a testing user interface without the use of scripting languages or compiled programming.
Kandpal (US 2016/0147645 A1) discloses methods, systems, and apparatus that enable automated testing of web applications. Techniques include receiving a web application and a test script including user-specified instructions for testing the web application. The user-specified instructions are converted into commands that include first-type commands executable by a browser automation module to control operations of a web browser, and second-type commands that are not executable by the browser automation module, where the total number of commands exceeds a number of instructions in the test script.
Gohil (US 10157122 B1) discloses methods and apparatuses are described for automated generation and execution of computer software test cases. The software automation test case is executed against a plurality of browser-based software applications using a plurality of automation testing tools, including converting the software automation test case into a plurality of tool-and-browser specific test cases, each based upon test case requirements of a selected automation testing tool and test case requirements of a selected browser-based application.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MD KAMRUZZAMAN whose telephone number is (571) 272-8415. The examiner can normally be reached Monday-Friday 9:00 am - 5:00 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Wei Mui can be reached at (571) 272-3708. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/M.K./Examiner, Art Unit 2191 /WEI Y MUI/Supervisory Patent Examiner, Art Unit 2191