DETAILED ACTION
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 .
This action is in response to the application filed on 03/19/2024.
Examiner Notes
Examiner cites particular paragraphs, figures, and line number in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
As a disclaimer, the use of underlining in direct quotes is done by the examiner for emphasis. Direct quotes are not originally underlined in the published references cited.
In light of the specification (see e.g., page 4, line 10), the following term is used interchangeably in similar contexts.
“test case” is referred to as “test scenario”
The following terms are mapped from the reference, Sen et al. (U.S. Publication No. 2025/0077399) cited in the 35 U.S.C 102 rejection, to the examined claim:
“software test” in the reference is referred to as the claimed “first data structure”.
“GenAI model” in the reference is referred to as the claimed “machine learning model”.
“sequence of steps” in the reference is referred to as the claimed “second data structure”.
“user” in the reference is referred to as the claimed “source of the request”.
“software testing environment” in the reference is referred to as the claimed “test bed”.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 19, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 3/19/2024 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
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-20 are rejected under 35 U.S.C. 101.
Step 1 Analysis:
Claim 1-14 are directed to apparatus and falls within the statutory category of machines; Claims 15-17 are directed to non-transitory computer-readable media and fall within the statutory category of articles of manufacture; Claims 18-20 are directed to computer implemented methods and fall within the statutory category of processes. Therefore, "Are the claims to a process, machine, manufacture or composition of matter?" Yes. In order to evaluate the Step 2A inquiry "Is the claim directed to a law of nature, a natural phenomenon or an abstract idea?" we must determine, at Step 2A Prong 1, whether the claim recites a law of nature, a natural phenomenon, or an abstract idea (see MPEP § 2106.04).
Regarding Claims 1, 15, 18,
Step 2A Prong 1 Analysis:
The claim limitation recites, generate a first data structure by parsing a request to generate a given test scenario for testing of an information technology asset; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person may take the request, then make a mental evaluation to split the request into smaller tasks with the assistance of pen and paper in order to create a test scenario. The test scenario may be created as a list, for example, to take form as a data structure; This may be evaluated in the mind with the assistance of pen and paper. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
process the first data structure … to generate a second data structure, the second data structure comprising a given sequence of test steps for the given test scenario; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. The second data structure may be a second list, for example, to include a sequence of test steps for the given test scenario and may be evaluated in the mind with the assistance of pen and paper. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
map the given sequence of test steps in the second data structure to respective application programming interface calls of a test automation framework, each of the application programming interface calls being associated with a functional code test unit of a test code database of the test automation framework; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person of the ordinary skill in the art may make a judgement to map each test step in a sequence to an appropriate application programming interface call of a framework associated with code in a database to be performed. According to the claimed language, the person is not required to create code test unit(s) or test code database(s), so the person for example, may create a system diagram to make the mappings of existing code in the database to the given sequence of test steps with the assistance of pen and paper. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
Step 2A Prong 2 Analysis:
utilizing a machine learning model; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP 2106.05(f)).
to execute the given test scenario utilizing the mapped application programming interface calls of the test automation framework; This limitation recites additional elements that are mere instructions to apply an exception for the abstract ideas. Therefore, this additional element does not integrate the judicial exception into a practical application. (See MPEP 2106.05(f)).
Claim 1 additionally recites, An apparatus comprising: at least one processing device comprising a processor coupled to a memory; the at least one processing device being configured; Claim 15 additionally recites, A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device; Claim 18 additionally recites, A method comprising, and, wherein the method is performed by at least one processing device comprising a processor coupled to a memory. These limitations recite additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP 2106.05(f)).
Therefore, "Do the claims recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements merely recite generic computer and computer components, and merely applying the abstract idea, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claims are not patent eligible.
Regarding Claim 2,
Step 2A Prong 1 Analysis:
The limitation, “The apparatus of claim 1 wherein the request to generate the given test scenario comprises a natural language description of a testing goal for the given test scenario.”; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, through observation, evaluation, judgement, and opinion, a human could draft a request using a natural language description in text, describing the testing goal of the given test scenario in order to generate the test scenario. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
Step 2A Prong 2 and Step 2B Analysis:
The claim does not recite additional elements that integrate the judicial exception into a practical application nor amounts to significantly more than the judicial exceptions.
Regarding Claim 3,
Step 2A Prong 1 Analysis:
The limitation, “The apparatus of claim 1 wherein generating the first data structure comprises selection of one or more test steps from a test management environment comprising a repository of one or more existing test scenarios and associated test steps.” This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person may use judgement in the mind to select test steps from a group of test steps, the test steps associated with existing test scenarios held in a repository from the test management environment. This selection may be then be used to make the first data structure, such as the previously mentioned example of the list in claim 1. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
Step 2A Prong 2 and Step 2B Analysis:
The claim does not recite additional elements that integrate the judicial exception into a practical application nor amounts to significantly more than the judicial exceptions.
Regarding Claim 4,
Step 2A Prong 1 Analysis:
The limitation, “The apparatus of claim 3 wherein generating the first data structure comprises selecting at least one of one or more existing test scenarios from a repository of the test management environment.”; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person may make a judgement in the mind to select a test scenario from a group of test scenarios held in a repository of the test management environment. This selection may be then be used to make the first data structure, such as the previously mentioned example of the list in claim 1. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
Step 2A Prong 2 and Step 2B Analysis:
The claim does not recite additional elements that integrate the judicial exception into a practical application nor amounts to significantly more than the judicial exceptions.
Regarding Claim 5,
Step 2A Prong 1 Analysis:
See corresponding analysis of Claim 4.
Step 2A Prong 2 Analysis:
Claim 5 additionally recites, “The apparatus of claim 4 wherein processing the first data structure utilizing the machine learning model comprises utilizing the selected at least one existing test scenario ...”; This limitation recites additional elements that are mere instructions to apply an exception for the abstract ideas. The machine learning model merely applies the mental process discussed in claim 4, to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components to perform the abstract idea, which does not integrate the judicial exception into a practical application. (See MPEP 2106.05(f)).
The claim further recites the following additional element(s): "… for adapting the machine learning model to a testing context of the selected at least one existing test scenario." which is/are merely insignificant extra-solution activity such as gathering and transmitting data, which does not integrate the judicial exception into a practical application (see MPEP § 2106.05(g)), and will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Therefore, does the claim recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements are “mere instructions to apply”, and insignificant extra-solution activity such as gathering, displaying, updating, transmitting, and storing data, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claim is not patent eligible.
Regarding Claim 6,
Step 2A Prong 1 Analysis:
See corresponding analysis of Claim 1.
Step 2A Prong 2 Analysis:
Claim 6 additionally recites, “The apparatus of claim 1 wherein the machine learning model comprises a large language model.”; This limitation recites additional elements that indicate a field of use or technological environment in which to apply a judicial exception. The claim merely recites “large language model” as a field of use/technological environment of the machine learning model to perform the abstract idea(s) directed to claim 1. (See MPEP 2106.05(h)).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements merely indicate a field of use or technological environment in which to apply a judicial exception. The claim is not patent eligible.
Regarding Claim 7,
Step 2A Prong 1 Analysis:
See corresponding analysis of Claim 1.
Step 2A Prong 2 Analysis:
Claim 7 additionally recites, “The apparatus of claim 1 wherein processing the first data structure utilizing the machine learning model comprises generating two or more different sequences of test steps as alternatives for the given test scenario.”; This limitation recites additional elements that are mere instructions to apply an exception for the abstract ideas. The machine learning model merely includes instructions to implement an abstract idea on a computer, or merely using a computer as a tool to perform an abstract idea. As discussed in claim 1, generating test steps for the given test scenario may be done in the human mind, or with pen and paper. Alternative test steps for the given test scenario may also be generated in the human mind, after processing and making a judgement based on a list produced from the first data structure, with assistance of a pen and paper. (See MPEP 2106.05(f)).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements are “mere instructions to apply”, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claim is not patent eligible.
Regarding Claim 8,
Step 2A Prong 1 Analysis:
The limitation, The apparatus of claim 7 wherein generating the second data structure comprises: … to generate the given test scenario; selecting one of the two or more different sequences of test steps based at least in part on feedback … to generate the given test scenario; and adding the selected one of the two or more different sequences of test steps as the given sequence of test steps in the second data structure.; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, when the claim is viewed as a whole, the selection of test steps based on feedback is a judgement that can be performed in the mind. Additionally, the generation of a test scenario can be made from human evaluation for example, as a description made with the assistance of pen and paper. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
Step 2A Prong 2 Analysis:
The claim further recites the additional element, source of the request in the context of, “… presenting the two or more different sequences of test steps to a source of the request …” and “…received from the source of the request …”; which is merely insignificant extra-solution activity such as displaying, gathering and transmitting data, which does not integrate the judicial exception into a practical application. Presenting the sequences of test steps to the source of the request is displaying data. Moreover, receiving the feedback from the source of the request is merely gathering data. Gathering and displaying data are insignificant extra-solution activities recognized to be a well-understood, routine, and conventional. When the claim is viewed as a whole, the gathering and displaying of data is directed to make the judicial exception of a mental process, as discussed above in prong 1. Thus, the element does not integrate the judicial exception into practical application, nor does it amount as significantly more than the judicial exception (see MPEP § 2106.05(g)). The claim will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements are insignificant extra-solution activity such as gathering, displaying, updating, transmitting, and storing data, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claim is not patent eligible.
Regarding Claim 9,
Step 2A Prong 1 Analysis:
The limitation, “The apparatus of claim 8 wherein generating the second data structure further comprises determining a ranking of the two or more different sequences of test steps and providing the determined ranking of the two or more different sequences of test steps … to generate the given test scenario.”; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, the ranking of sequences of test steps may be a judgement made in the mind and shown with the assistance of pen and paper. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
Step 2A Prong 2 Analysis:
The claim further recites the additional element, “to the source of the request”; which is an insignificant extra-solution activity such as displaying, gathering and transmitting data, and does not integrate the judicial exception into a practical application. When the claim is viewed as a whole, the ranking being provided to the source of the request is merely a transmission of data, which does not integrate the judicial exception into a practical application (see MPEP § 2106.05(g)). The claim will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements are insignificant extra-solution activity such as gathering, displaying, updating, transmitting, and storing data, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claim is not patent eligible.
Regarding Claim 10,
Step 2A Prong 1 Analysis:
The limitation, “The apparatus of claim 9 wherein the ranking of the two or more different sequences of test steps is determined based at least in part on frequencies of use of test steps in the two or more different sequences of test steps in a set of one or more existing test scenarios of a test management environment.”; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person may observe the frequencies of use of test steps by counting how many times a test step is used from existing test scenarios of a test management environment, and keep track of counts with the aid of pen and paper, in a form of a chart for example. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
Step 2A Prong 2 and Step 2B Analysis:
The claim does not recite additional elements that integrate the judicial exception into a practical application nor amounts to significantly more than the judicial exceptions.
Regarding Claim 11,
Step 2A Prong 1 Analysis:
The limitation, “The apparatus of claim 1 wherein the second data structure further comprises specification of one or more test bed characteristics of a test bed to be utilized for executing the given test scenario.”; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a given test scenario may be evaluated to mentally by a person having ordinary skill in the art to determine the test bed characteristics necessary to execute the test scenario. As previously mentioned, the second data structure that may be a list comprising a sequence of test steps for a given test scenario, may also include the specification determined in the list. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
Step 2A Prong 2 and Step 2B Analysis:
The claim does not recite additional elements that integrate the judicial exception into a practical application nor amounts to significantly more than the judicial exceptions.
Regarding Claim 12,
Step 2A Prong 1 Analysis:
See corresponding analysis of Claim 11.
Step 2A Prong 2 Analysis:
Claim 12 additionally recites, “The apparatus of claim 11 wherein the one or more test bed characteristics comprises at least one of a hardware and a software configuration for the test bed to be utilized for executing the given test scenario.”; This limitation recites additional elements that are mere instructions to apply an exception for the abstract ideas. The hardware and software configuration merely applies the mental process discussed in claim 11. (See MPEP 2106.05(f)).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements are “mere instructions to apply”, respectively, thus do not amount to significantly more than the judicial exception. The claim is not patent eligible.
Regarding Claim 13,
Step 2A Prong 1 Analysis:
See corresponding analysis of Claim 11.
Step 2A Prong 2 Analysis:
Claim 13 additionally recites, “The apparatus of claim 11 wherein the one or more test bed characteristics comprises one or more workloads to run on the test bed …”; This limitation recites additional elements that indicate a field of use or technological environment in which to apply a judicial exception. The claim merely recites “workloads to run on the test bed” as a field of use/technological environment to perform the abstract idea(s) directed to claim 1. (See MPEP 2106.05(h)).
The claim further recite the following additional element(s): "… during execution of the given test scenario." This limitation recites additional elements that are mere instructions to apply an exception for the abstract ideas. Therefore, this additional element does not integrate the judicial exception into a practical application. (See MPEP 2106.05(f)).
Therefore, does the claim recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all the additional elements amount to no more than generic computing components applying the abstract idea, and merely indicate a field of use or technological environment in which to apply a judicial exception, which is well-understood, routine, and conventional (See MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Thus, do not amount to significantly more than the judicial exception. The claim is not patent eligible.
Regarding Claim 14,
Step 2A Prong 1 Analysis:
The limitation, “The apparatus of claim 1 wherein at least a given one of the application programming interface calls of the test automation framework associated with a given functional code test unit comprises at least one of a validation and a verification of a given one of the test steps …”; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. The application programming interface (API) calls of the test automation framework being mapped in claim 1, may be given associations in the mind by a person having ordinary skill in the art, who evaluates the association of said API calls with a given functional code test unit. Then, the API calls mapped may have the verification and validation of a given test step done by the person having ordinary skill in the art observing the given functional code test unit. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
Step 2A Prong 2 Analysis:
The claim additionally recites, “… to be performed at least one of prior to and subsequent to execution of the given functional code test unit.”; which are merely insignificant extra-solution activities and a recitation of additional elements that are mere instructions to apply the exception on a generic computer, which do not integrate the judicial exception into a practical application.
The additional element directing to an ‘execution of the functional code test unit’ is a mere instruction to apply the exception of on a generic computer (see MPEP 2106.05(f)). The validation and verification of the given test step done prior and subsequent to execution are pre-solution and post-solution activities that do not integrate the judicial exception into a practical application (see MPEP § 2106.05(g)). Even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claim will further be analyzed below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements are “mere instructions to apply”, and insignificant extra-solution activity such as gathering, displaying, updating, transmitting, and storing data, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claim is not patent eligible.
Regarding Claim 16,
Step 2A Prong 1 Analysis:
See corresponding analysis of Claim 15.
Step 2A Prong 2 Analysis:
Claim 16 additionally recites, “The computer program product of claim 15 wherein the machine learning model comprises a large language model.”; This limitation recites additional elements that indicate a field of use or technological environment in which to apply a judicial exception. The claim merely recites ‘large language model’ The claim merely recites “large language model” as a field of use/technological environment to perform the abstract idea(s) directed to claim 15. (See MPEP 2106.05(h)).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements merely indicate a field of use or technological environment in which to apply a judicial exception, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). The claim is not patent eligible.
Regarding Claim 17 and 20,
Step 2A Prong 1 Analysis:
“wherein generating the first data structure comprises selecting at least one of one or more existing test scenarios from a repository of a test management environment …” This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person may mentally select a test scenario from a group of test scenarios held in a repository. This selection may be then be used to make the first data structure with the assistance of pen and paper, such as a list. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
Step 2A Prong 2 Analysis:
The claims additionally recites, “… and wherein processing the first data structure utilizing the machine learning model comprises utilizing the selected at least one existing test scenario …”; This limitation recites additional elements that are mere instructions to apply an exception for the abstract ideas on a generic computer. The machine learning model merely applies the mental selection process, as discussed above. (See MPEP 2106.05(f)).
The claims further recite the following additional element(s): "… for adapting the machine learning model to a testing context of the selected at least one existing test scenario." which is/are merely insignificant extra-solution activity such as gathering and transmitting data, which does not integrate the judicial exception into a practical application (see MPEP § 2106.05(g)), and will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Therefore, do the claims recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea.
Step 2B Analysis:
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements are “mere instructions to apply”, and insignificant extra-solution activity such as gathering, displaying, updating, transmitting, and storing data, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claims are not patent eligible.
Regarding Claim 19,
Step 2A Prong 1 Analysis:
See corresponding analysis of Claim 18.
Step 2A Prong 2 Analysis:
Claim 19 additionally recites, “The method of claim 18 wherein the machine learning model comprises a large language model.”; This limitation recites additional elements that indicate a field of use or technological environment in which to apply a judicial exception. The claim merely recites “large language model” as the field of use/technological environment of the machine learning model to perform the abstract idea(s) as discussed in claim 18. (See MPEP 2106.05(h)).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements merely indicate a field of use or technological environment in which to apply a judicial exception. The claim is not patent eligible.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-8 and 11-20 are rejected under 35 U.S.C. 102(a)(2) as being unpatentable by Sen et al. (U.S. Publication No. 2025/0077399), hereinafter referred to as Sen.
Regarding Claim 1:
Sen discloses, “An apparatus comprising: at least one processing device comprising a processor coupled to a memory; the at least one processing device being configured:” ([0002]; “an apparatus that may include a memory, a network interface configured to receive a request to test a software program stored in the memory from a user device, the request comprising a description of requirements of the software program, and a processor coupled to the memory and the network interface, the processor configured to generate a plurality of testing elements”.)
“to generate a first data structure by parsing a request to generate a given test scenario for testing of an information technology asset;” ([0056]; “The request may include an identifier of the model 224, such as a unique ID assigned by the host platform 220, a payload of data (e.g., to be input to the model during execution), and the like.”; [0057]; “In some embodiments, the data payload may be a format that cannot be input to the model 224 nor read by a computer processor. For example, the data payload may be text, image, audio, etc. In response, the AI engine 222 may convert the data payload into a format readable by the model 224, such as a vector or other encoding.”; [0081]; “According to various embodiments, the host platform 520 also hosts a generative artificial intelligence (GenAI) model 524 capable of generating a software test based on inputs received via the user interface 512. For example, the GenAI model 524 may be trained on a large corpus of software tests and software test documentation and can receive a description of a software test, such as the requirements of the test, and generate a software test document (e.g., the software test 530) that includes a set of instructions to be performed, expected results, and content areas that can be left blank for insertion by the user during testing.”; [0055]; “Referring to FIG. 2, a software application 210 may request execution of the model 224 by submitting a request to the host platform 220.”; [0039]; "The example embodiments are directed to a platform that can generate/design software tests, automation scripts for testing software, source code, software patches, and the like … Furthermore, the GenAI model may also generate new software tests based on descriptions thereof, such as a description of the requirements of the software test."; [0052]; “Referring to FIG. 1B, the software test case 150 includes a diagram with a plurality of boxes/cells identifying the actions to be taken.”; (Abstract); "An example operation may include one or more of receiving a description of a plurality of testing elements for testing a software program...".)
(Examiner’s note: The payload data in a request is parsed by the AI engine by the use of conversion, to generate the test case of the first data structure. The testing is intended for testing a software program. Because a software program is a type of information technology asset, it can then be said a given test scenario is used for testing of an information technology asset. Therefore, the reference teaches the same limitation as the examined claim.)
“to process the first data structure utilizing a machine learning model to generate a second data structure, the second data structure comprising a given sequence of test steps for the given test scenario;” ([0046]; “Furthermore, the GenAI model described herein can be integrated within a larger artificial intelligence system that includes machine learning”; [0063]; “The GenAI model 322 may be executed on training data … the training data may include software tests”; [0081]; “… the host platform 520 also hosts a generative artificial intelligence (GenAI) model 524 capable of generating a software test”; [0082]; “FIG. 5B illustrates a process 540 of generating a sequence of steps based on generative AI according to example embodiments.”; (Figure 5B); Software Tests (element 526) is input to the GenAI Model (element 524), where it is labeled to “Generate Steps”. The following “Steps” from the GenAI model are labeled on the output arrow to produce the test case with test steps, displayed on the user interface (element 512).)
“to map the given sequence of test steps in the second data structure to respective application programming interface calls of a test automation framework, each of the application programming interface calls being associated with a functional code test unit of a test code database of the test automation framework;” ([0047]; “FIG. 1A illustrates a GenAI computing environment 100 that includes a system for generating test cases according to example embodiments. In the example of FIG. 1A, the system includes a test execution service 130 that hosts a software testing environment and can execute software tests stored in a test repository 132. In the example embodiments, the test execution service 130 can execute a test in any of multiple different frameworks/different programming languages”; [0048]; “According to various embodiments, the test execution service 130 is coupled to a framework connector 140 (software program), which manages the execution of the software tests via a plurality of different frameworks”; [0049]; “Further, the GenAI model 120 may communicate with the test execution service 130 directly via API calls or the like. In this example, the GenAI model 120 may include a data store 122 with a repository of software tests, automation scripts, source code, vulnerability code, software patches, and the like.”; [0065]; “In this example, an executable script 326 is developed and configured to read data from a database 324 and input the data to the GenAI model 322 while the GenAI model is running/executing via the AI engine 321.”; [0097]; “the sequence of steps (step definition) may include mappings between each step/scenario within the software test and the code function to be executed by the script. The step definition can be thought of as the automation script”.)
(Examiner’s Note: The reference teaches that the sequence of test steps is mapped to respective application programming interface (API) calls within the software test. The API call is associated with functional code test unit through the test execution service 130 element shown in Figure 1A communicating with the GenAI model 120 element, where the model may communicate with the data store 122 containing automation scripts used as functional code tests. As shown in Figure 1A, the test execution service 130 is connected to the framework connector 140, where test automation is managed and may execute test code in its respective framework.)
“and to execute the given test scenario utilizing the mapped application programming interface calls of the test automation framework.” ([0049]; [0099]; “Here, the testing software 622 reads the step definition from the automation script, held in the repository of automation scripts 628. The testing software 622 can map the next step to be performed within the software test to the corresponding code module in the automation script and identify the code function(s) to execute and executes it.”)
Regarding Claim 2:
Sen discloses, “The apparatus of claim 1 wherein the request to generate the given test scenario comprises a natural language description of a testing goal for the given test scenario.” ([0043]; “For example, the GenAI model may include libraries and deep learning frameworks that enable the GenAI model to create software tests, activation scripts, source code, etc., based on text inputs.”; [0044]; “By creating software tests from natural language descriptions, the GenAI model can relieve a user from generating such tests manually. Furthermore, the GenAI model described herein can learn activation scripts for executing the software tests “automatically” on the software program being tested.”)
Regarding Claim 3:
Sen discloses, “wherein generating the first data structure comprises selection of one or more test steps from a test management environment comprising a repository of one or more existing test scenarios and associated test steps.” ([0085]; “For example, FIG. 5C illustrates a process 550 of generating a new software test from the steps shown on the user interface in FIG. 5B. Referring to FIG. 5C, a user may press a submit button 549 on the user interface 512 or otherwise accept the steps shown on the user interface for inclusion in a software test.”; [0047]; "the system includes a test execution service 130 that hosts a software testing environment and can execute software tests stored in a test repository 132. In the example embodiments, the test execution service 130 can execute a test in any of multiple different frameworks/different programming languages"; [0049]; "the GenAl model 120 may include a data store 122 with a repository of software tests, automation scripts, source code, vulnerability code, software patches, and the like."; [0099]; “Here, the testing software 622 reads the step definition from the automation script, held in the repository of automation scripts 628.”)
Regarding Claim 4:
Sen discloses, “The apparatus of claim 3 wherein generating the first data structure comprises selecting at least one of one or more existing test scenarios from a repository of the test management environment.” ([0086]; “Referring again to FIG. 5C, the new software test 552 may include a description 554 of the overall theme or purpose of the test, which is also generated by the GenAI model 524 and added/appended to the new software test 552 as a label. The description 554 can be searched by a search engine or other software program when searching for software tests to perform.”; [0087]; Here, the host system may store the new software test 552 paired with the description 554 in the software test repository 526.”; [0089]; “As noted, the description 554 added to the new software test 552 may be used to search the software test repository 526 for and select a software test based on a search term input from the user interface 570.”)
Regarding Claim 5:
Sen discloses, “The apparatus of claim 4 wherein processing the first data structure utilizing the machine learning model comprises utilizing the selected at least one existing test scenario for adapting the machine learning model to a testing context of the selected at least one existing test scenario.” ([0064]; "the training process may use executional results that have already been generated/output by the GenAl model 322 in a live environment (including any customer feedback, etc.)”; [0059]; “In some embodiments, the software application 210 may display a user interface that enables a user to provide feedback from the output provided by the model 224. For example, a user may input a confirmation that the test case generated by a GenAI model is correct or includes incorrect content. This information may be added to the results of execution and stored within a log 225. The log 225 may include an identifier of the input, an identifier of the output, an identifier of the model used, and feedback from the recipient. This information may be used to subsequently retrain the model.”; [0085]; “For example, FIG. 5C illustrates a process 550 of generating a new software test from the steps shown on the user interface in FIG. 5B. Referring to FIG. 5C, a user may … otherwise accept the steps shown on the user interface for inclusion in a software test.”; [0086]; “In some embodiments, the GenAI model 524 may generate other attributes associated with the new software test 552, including an activation script for executing the new software test 552 in an automated manner, a description/label for the new software test 552, and the like.”)
Regarding Claim 6:
Sen discloses, “The apparatus of claim 1 wherein the machine learning model comprises a large language model.” ([0043]; “According to various embodiments, the GenAI model may be a large language model (LLM), such as a multimodal large language model.”)
Regarding Claim 7:
Sen discloses, “The apparatus of claim 1 wherein processing the first data structure utilizing the machine learning model comprises generating two or more different sequences of test steps as alternatives for the given test scenario.” ([0082]; “FIG. 5B illustrates a process 540 of generating a sequence of steps based on generative AI according to example embodiments. Referring to FIG. 5B, in this example, a user may submit a list of requirements or features of the software program that the user wishes to test.”; [0084]; “In response, the GenAI model 524 may generate a sequence of steps ... Here, the steps may be determined by the GenAI model 524 based on historical software tests that have had similar requirements that the GenAI model has learned from. In this example, the steps … are displayed on the user interface 512, where the user of the user device can view the steps and provide feedback or accept the steps. Each step is another step during the test of the software program.”; [0085]; “For example, FIG. 5C illustrates a process 550 of generating a new software test from the steps shown on the user interface in FIG. 5B. Referring to FIG. 5C, a user may press a submit button 549 on the user interface 512 or otherwise accept the steps shown on the user interface for inclusion in a software test. In response, the system described herein inputs the steps on the user interface 512 into a new software test 552, which includes the steps shown on the user interface … as well as the order in which the sequence of steps are in.”)
(Examiner’s note: The reference teaches that multiple differing sequence of test steps can be produced for the given test scenario based on software tests. A new set of test steps may be generated through the user interface, where a user has the option to press a submit button and provide feedback to train the GenAI model. When test steps are generated, it is based on generative AI (paragraph [0082]). The new set of steps can base its generation on retrained information if the user provides feedback for the model to use.)
Regarding Claim 8,
The limitation, “The apparatus of claim 7 wherein generating the second data structure comprises: presenting the two or more different sequences of test steps to a source of the request to generate the given test scenario; selecting one of the two or more different sequences of test steps based at least in part on feedback received from the source of the request to generate the given test scenario; and adding the selected one of the two or more different sequences of test steps as the given sequence of test steps in the second data structure.” ([0084]; “In response, the GenAI model 524 may generate a sequence of steps ... In this example, the steps, including the step 542, the step 544, the step 546, and the step 548, are displayed on the user interface 512, where the user of the user device can view the steps and provide feedback or accept the steps. Each step is another step during the test of the software program.”; [0085]; “For example, FIG. 5C illustrates a process 550 of generating a new software test from the steps shown on the user interface in FIG. 5B. Referring to FIG. 5C, a user may press a submit button 549 on the user interface 512 or otherwise accept the steps shown on the user interface for inclusion in a software test. In response, the system described herein inputs the steps on the user interface 512 into a new software test 552, which includes the steps shown on the user interface, including the step 542, the step 544, the step 546, and the step 548, as well as the order in which the sequence of steps are in. For example, the host platform 520 may generate a document, an XML file, a JSON, etc., describing the steps.”; [0086]; “In some embodiments, the GenAI model 524 may generate other attributes associated with the new software test 552, including an activation script for executing the new software test 552 in an automated manner, a description/label for the new software test 552, and the like.”)
The second data structure is generated by the GenAI model. The steps are then presented on an interface to the user, being the source of the request. FIG. 5C illustrates a process 550 of generating a new software test 552 from the steps shown on the user interface 512 in FIG. 5B. The user has the ability to select the current sequence of steps with the submit button 549 of Fig. 5C, or generate a second different sequence of steps based on user feedback. Once the user accepts the sequence of steps they are satisfied with, a new test scenario is generated as a software test containing the selected sequence of steps, and put into a repository of software tests. The repository of software tests 526 may be used to associate an activation script for executing the given sequence of test steps held within the software test.
Regarding Claim 11:
The limitation, “The apparatus of claim 1 wherein the second data structure further comprises specification of one or more test bed characteristics of a test bed to be utilized for executing the given test scenario.” ([0047]; “FIG. 1A illustrates a GenAI computing environment 100 that includes a system for generating test cases according to example embodiments. In the example of FIG. 1A, the system includes a test execution service 130 that hosts a software testing environment and can execute software tests stored in a test repository 132.”)
Regarding Claim 12:
The limitation, “The apparatus of claim 11 wherein the one or more test bed characteristics comprises at least one of a hardware and a software configuration for the test bed to be utilized for executing the given test scenario.” ([0047]; “In the example of FIG. 1A, the system includes a test execution service 130 that hosts a software testing environment and can execute software tests stored in a test repository 132. In the example embodiments, the test execution service 130 can execute a test in any of multiple different frameworks/different programming languages, including PYTHON®, JAVA®, C++, and the like.”; [0048]; “According to various embodiments, the test execution service 130 is coupled to a framework connector 140 (software program), which manages the execution of the software tests via a plurality of different frameworks ... Each framework may include a collection of tools and software libraries necessary for the framework.”; [0153]; “As will be appreciated by one skilled in the art, aspects of the present application may be embodied as a system, method, or computer program product. Accordingly, aspects of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.), or an embodiment combining software and hardware aspects that may all generally be referred to herein as a ‘circuit,’ ‘module’ or ‘system.’”; [0012]; “A further example embodiment provides an apparatus that may include a memory configured to store a log file, a display, and a processor coupled to the memory and the display, the processor configured to execute tests on a software application stored in the memory and running on the apparatus via a test environment of a test platform and log results of the tests in the log file…”)
Regarding Claim 13:
The limitation, “The apparatus of claim 11 wherein the one or more test bed characteristics comprises one or more workloads to run on the test bed during execution of the given test scenario.” ([0047]; “FIG. 1A illustrates a GenAI computing environment 100 that includes a system for generating test cases … the system includes a test execution service 130 that hosts a software testing environment and can execute software tests stored in a test repository 132.”; [0049]; “Further, the GenAI model 120 may communicate with the test execution service 130 directly via API calls or the like.”; [0051]; “For example, the user interface 110 may be included in a front-end of the software application shown on a user device 102 screen that accesses the host platform and the test execution service via a computer network such as the Internet. The user interface 110 may include controls that can be used to build software tests, perform software testing, develop automation scripts, and the like.”.)
(Examiner’s note: The reference teaches that the testing environment has the characteristic of a software test, intended to be executed. A workload of the testing environment is the execution of a software test, occurring within the software testing environment hosted by the test execution service that runs the execution of a software test with API calls to do so. Communication with the test execution service is available between the host, through the use of a computer network.)
Regarding Claim 14:
Sen discloses, “The apparatus of claim 1 wherein at least a given one of the application programming interface calls of the test automation framework associated with a given functional code test unit comprises at least one of a validation and a verification of a given one of the test steps to be performed at least one of prior to and subsequent to execution of the given functional code test unit.” ([0133]; “In some embodiments, the generating may include generating a plurality of test components of the software test, including a test specification, a test execution, a test recording, and a test verification based on the execution of the GenAI model. In some embodiments, the generating may include generating a respective requirement for each component within the software test based on the execution of the large language model on the received descriptions.”; [0048]; “According to various embodiments, the test execution service 130 is coupled to a framework connector 140 (software program), which manages the execution of the software tests … Each framework may create test scripts by developing required code or running commands in the test environment of the respective framework.”; [0049]; “Further, the GenAI model 120 may communicate with the test execution service 130 directly via API calls or the like.”)
(Examiner’s note: Each test component may be generated with the respective requirement of verification for each test step based on the execution of the GenAI model. The GenAI model may use an application programming interface call associated with the test execution service that may comprise of a functional code test unit from test scripts.)
Regarding Claim 15:
Sen discloses, “A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device:” ([0007]; “a computer-readable medium comprising instructions, that when read by a processor, cause the processor to perform one or more of receiving a description of a plurality of testing elements for testing a software program and storing the software test within a storage device, generating an automation script for automating execution of the software test based on execution of a generative artificial intelligence model (GenAI) model on the plurality of testing elements and a repository of automation scripts, attaching the automation script to the software test within the storage device, and in response to a request to execute the software test, executing the plurality of testing elements within the software test based on the attached automation script.”)
“to generate a first data structure by parsing a request to generate a given test scenario for testing of an information technology asset;” ([0056]; “The request may include an identifier of the model 224, such as a unique ID assigned by the host platform 220, a payload of data (e.g., to be input to the model during execution), and the like.”; [0057]; “In some embodiments, the data payload may be a format that cannot be input to the model 224 nor read by a computer processor. For example, the data payload may be text, image, audio, etc. In response, the AI engine 222 may convert the data payload into a format readable by the model 224, such as a vector or other encoding.”; [0081]; “According to various embodiments, the host platform 520 also hosts a generative artificial intelligence (GenAI) model 524 capable of generating a software test based on inputs received via the user interface 512. For example, the GenAI model 524 may be trained on a large corpus of software tests and software test documentation and can receive a description of a software test, such as the requirements of the test, and generate a software test document (e.g., the software test 530) that includes a set of instructions to be performed, expected results, and content areas that can be left blank for insertion by the user during testing.”; [0055]; “Referring to FIG. 2, a software application 210 may request execution of the model 224 by submitting a request to the host platform 220.”; [0039]; "The example embodiments are directed to a platform that can generate/design software tests, automation scripts for testing software, source code, software patches, and the like … Furthermore, the GenAI model may also generate new software tests based on descriptions thereof, such as a description of the requirements of the software test."; [0052]; “Referring to FIG. 1B, the software test case 150 includes a diagram with a plurality of boxes/cells identifying the actions to be taken.”; (Abstract); "An example operation may include one or more of receiving a description of a plurality of testing elements for testing a software program...".)
(Examiner’s note: The payload data in a request is parsed by the AI engine by the use of conversion, to generate the test case of the first data structure. The testing is intended for testing a software program. Because a software program is a type of information technology asset, it can then be said a given test scenario is used for testing of an information technology asset. Therefore, the reference teaches the same limitation as the examined claim.)
“to process the first data structure utilizing a machine learning model to generate a second data structure, the second data structure comprising a given sequence of test steps for the given test scenario;” ([0046]; “Furthermore, the GenAI model described herein can be integrated within a larger artificial intelligence system that includes machine learning”; [0063]; “The GenAI model 322 may be executed on training data … the training data may include software tests”; [0081]; “… the host platform 520 also hosts a generative artificial intelligence (GenAI) model 524 capable of generating a software test”; [0082]; “FIG. 5B illustrates a process 540 of generating a sequence of steps based on generative AI according to example embodiments.”; (Figure 5B); Software Tests (element 526) is input to the GenAI Model (element 524), where it is labeled to “Generate Steps”. The following “Steps” from the GenAI model are labeled on the output arrow to produce the test case with test steps, displayed on the user interface (element 512).)
“to map the given sequence of test steps in the second data structure to respective application programming interface calls of a test automation framework, each of the application programming interface calls being associated with a functional code test unit of a test code database of the test automation framework;” ([0047]; “FIG. 1A illustrates a GenAI computing environment 100 that includes a system for generating test cases according to example embodiments. In the example of FIG. 1A, the system includes a test execution service 130 that hosts a software testing environment and can execute software tests stored in a test repository 132. In the example embodiments, the test execution service 130 can execute a test in any of multiple different frameworks/different programming languages”; [0048]; “According to various embodiments, the test execution service 130 is coupled to a framework connector 140 (software program), which manages the execution of the software tests via a plurality of different frameworks”; [0049]; “Further, the GenAI model 120 may communicate with the test execution service 130 directly via API calls or the like. In this example, the GenAI model 120 may include a data store 122 with a repository of software tests, automation scripts, source code, vulnerability code, software patches, and the like.”; [0065]; “In this example, an executable script 326 is developed and configured to read data from a database 324 and input the data to the GenAI model 322 while the GenAI model is running/executing via the AI engine 321.”; [0097]; “the sequence of steps (step definition) may include mappings between each step/scenario within the software test and the code function to be executed by the script. The step definition can be thought of as the automation script”.)
(Examiner’s note: The reference teaches that the sequence of test steps is mapped to respective application programming interface (API) calls within the software test. The API call is associated with functional code test unit through the test execution service 130 element shown in Figure 1A communicating with the GenAI model 120 element, where the model may communicate with the data store 122 containing automation scripts used as functional code tests. As shown in Figure 1A, the test execution service 130 is connected to the framework connector 140, where test automation is managed and may execute test code in its respective framework.)
“and to execute the given test scenario utilizing the mapped application programming interface calls of the test automation framework.” ([0049]; [0099]; “Here, the testing software 622 reads the step definition from the automation script, held in the repository of automation scripts 628. The testing software 622 can map the next step to be performed within the software test to the corresponding code module in the automation script and identify the code function(s) to execute and executes it.”)
Regarding Claim 16:
Sen discloses, “The computer program product of claim 15 wherein the machine learning model comprises a large language model.” ([0043]; “According to various embodiments, the GenAI model may be a large language model (LLM), such as a multimodal large language model.”)
Regarding Claim 17:
Sen discloses, “The computer program product of claim 15 wherein generating the first data structure comprises selecting at least one of one or more existing test scenarios from a repository of a test management environment, and wherein processing the first data structure utilizing the machine learning model comprises utilizing the selected at least one existing test scenario for adapting the machine learning model to a testing context of the selected at least one existing test scenario.” ([0004]; “A further example embodiment provides a computer-readable medium comprising instructions, that when read by a processor, cause the processor to perform one or more of receiving a request to test a software program from a user device, the request comprising a description of requirements of the software program, generating a plurality of testing elements based on execution of a generative artificial intelligence (GenAI) model on the description of the requirements of the software program and a repository of test cases, generating a test case for testing the software program where the test case comprises the plurality of testing elements generated by the GenAI model, and storing the test case within a storage device.”; [0011]; “A further example embodiment provides a computer-readable medium comprising instructions, that when read by a processor, cause the processor to perform one or more of generating a large language model via a user interface, executing the large language model on a repository of software test cases and requirements of the software test cases to train the large language model to understand connections between test case components and test case requirements, receiving a description of features of a software program to be tested; and in response to receiving the description of the features, generating a software test case based on execution of the large language model on the received descriptions, and displaying the software test case via the user interface.”)
Regarding Claim 18:
Sen discloses, “A method comprising:” ([0003]; “Another example embodiment provides a method that includes one or more of receiving a request to test a software program from a user device, the request comprising a description of requirements of the software program, generating a plurality of testing elements based on execution of a generative artificial intelligence (GenAI) model on the description of the requirements of the software program and a repository of test cases, generating a test case for testing the software program where the test case comprises the plurality of testing elements generated by the GenAI model, and storing the test case within a storage device.”)
“generating a first data structure by parsing a request to generate a given test scenario for testing of an information technology asset;” ([0056]; “The request may include an identifier of the model 224, such as a unique ID assigned by the host platform 220, a payload of data (e.g., to be input to the model during execution), and the like.”; [0057]; “In some embodiments, the data payload may be a format that cannot be input to the model 224 nor read by a computer processor. For example, the data payload may be text, image, audio, etc. In response, the AI engine 222 may convert the data payload into a format readable by the model 224, such as a vector or other encoding.”; [0081]; “According to various embodiments, the host platform 520 also hosts a generative artificial intelligence (GenAI) model 524 capable of generating a software test based on inputs received via the user interface 512. For example, the GenAI model 524 may be trained on a large corpus of software tests and software test documentation and can receive a description of a software test, such as the requirements of the test, and generate a software test document (e.g., the software test 530) that includes a set of instructions to be performed, expected results, and content areas that can be left blank for insertion by the user during testing.”; [0055]; “Referring to FIG. 2, a software application 210 may request execution of the model 224 by submitting a request to the host platform 220.”; [0039]; "The example embodiments are directed to a platform that can generate/design software tests, automation scripts for testing software, source code, software patches, and the like … Furthermore, the GenAI model may also generate new software tests based on descriptions thereof, such as a description of the requirements of the software test."; [0052]; “Referring to FIG. 1B, the software test case 150 includes a diagram with a plurality of boxes/cells identifying the actions to be taken.”; (Abstract); "An example operation may include one or more of receiving a description of a plurality of testing elements for testing a software program...".)
(Examiner’s note: The payload data in a request is parsed by the AI engine by the use of conversion, to generate the test case of the first data structure. The testing is intended for testing a software program. Because a software program is a type of information technology asset, it can then be said a given test scenario is used for testing of an information technology asset. Therefore, the reference teaches the same limitation as the examined claim.)
“processing the first data structure utilizing a machine learning model to generate a second data structure, the second data structure comprising a given sequence of test steps for the given test scenario;” ([0046]; “Furthermore, the GenAI model described herein can be integrated within a larger artificial intelligence system that includes machine learning”; [0063]; “The GenAI model 322 may be executed on training data … the training data may include software tests”; [0081]; “… the host platform 520 also hosts a generative artificial intelligence (GenAI) model 524 capable of generating a software test”; [0082]; “FIG. 5B illustrates a process 540 of generating a sequence of steps based on generative AI according to example embodiments.”; (Figure 5B); Software Tests (element 526) is input to the GenAI Model (element 524), where it is labeled to “Generate Steps”. The following “Steps” from the GenAI model are labeled on the output arrow to produce the test case with test steps, displayed on the user interface (element 512).)
“mapping the given sequence of test steps in the second data structure to respective application programming interface calls of a test automation framework, each of the application programming interface calls being associated with a functional code test unit of a test code database of the test automation framework;” ([0047]; “FIG. 1A illustrates a GenAI computing environment 100 that includes a system for generating test cases according to example embodiments. In the example of FIG. 1A, the system includes a test execution service 130 that hosts a software testing environment and can execute software tests stored in a test repository 132. In the example embodiments, the test execution service 130 can execute a test in any of multiple different frameworks/different programming languages”; [0048]; “According to various embodiments, the test execution service 130 is coupled to a framework connector 140 (software program), which manages the execution of the software tests via a plurality of different frameworks”; [0049]; “Further, the GenAI model 120 may communicate with the test execution service 130 directly via API calls or the like. In this example, the GenAI model 120 may include a data store 122 with a repository of software tests, automation scripts, source code, vulnerability code, software patches, and the like.”; [0065]; “In this example, an executable script 326 is developed and configured to read data from a database 324 and input the data to the GenAI model 322 while the GenAI model is running/executing via the AI engine 321.”; [0097]; “the sequence of steps (step definition) may include mappings between each step/scenario within the software test and the code function to be executed by the script. The step definition can be thought of as the automation script”.)
(Examiner’s note: The reference teaches that the sequence of test steps is mapped to respective application programming interface (API) calls within the software test. The API call is associated with functional code test unit through the test execution service 130 element shown in Figure 1A communicating with the GenAI model 120 element, where the model may communicate with the data store 122 containing automation scripts used as functional code tests. As shown in Figure 1A, the test execution service 130 is connected to the framework connector 140, where test automation is managed and may execute test code in its respective framework.)
“and executing the given test scenario utilizing the mapped application programming interface calls of the test automation framework;” ([0049]; [0099]; “Here, the testing software 622 reads the step definition from the automation script, held in the repository of automation scripts 628. The testing software 622 can map the next step to be performed within the software test to the corresponding code module in the automation script and identify the code function(s) to execute and executes it.”)
“wherein the method is performed by at least one processing device comprising a processor coupled to a memory.” ([0003]; “Another example embodiment provides a method that includes one or more of receiving a request to test a software program from a user device, the request comprising a description of requirements of the software program, generating a plurality of testing elements based on execution of a generative artificial intelligence (GenAI) model on the description of the requirements of the software program and a repository of test cases, generating a test case for testing the software program where the test case comprises the plurality of testing elements generated by the GenAI model, and storing the test case within a storage device.”)
(Examiner’s note: The reference teaches that the method may be performed by the GenAI model, which processes the description of the test scenario from the user device to produce a software test, which then is put into storage.)
Regarding Claim 19:
Sen discloses, “The method of claim 18 wherein the machine learning model comprises a large language model.” ([0043]; “According to various embodiments, the GenAI model may be a large language model (LLM), such as a multimodal large language model.”)
Regarding Claim 20:
Sen discloses, “The method of claim 18 wherein generating the first data structure comprises selecting at least one of one or more existing test scenarios from a repository of a test management environment, and wherein processing the first data structure utilizing the machine learning model comprises utilizing the selected at least one existing test scenario for adapting the machine learning model to a testing context of the selected at least one existing test scenario.” ([0003]; “Another example embodiment provides a method that includes one or more of receiving a request to test a software program from a user device, the request comprising a description of requirements of the software program, generating a plurality of testing elements based on execution of a generative artificial intelligence (GenAI) model on the description of the requirements of the software program and a repository of test cases, generating a test case for testing the software program where the test case comprises the plurality of testing elements generated by the GenAI model, and storing the test case within a storage device.”; [0011]; “A further example embodiment provides a computer-readable medium comprising instructions, that when read by a processor, cause the processor to perform one or more of generating a large language model via a user interface, executing the large language model on a repository of software test cases and requirements of the software test cases to train the large language model to understand connections between test case components and test case requirements, receiving a description of features of a software program to be tested; and in response to receiving the description of the features, generating a software test case based on execution of the large language model on the received descriptions, and displaying the software test case via the user interface.”)
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 9 and 10 are rejected under 35 U.S.C. 103 as being unpatentable over Sen et al. (U.S. Publication No. 2025/0077399 A1), hereinafter referred to as Sen, in view of Kadirvel et al. (U.S. Publication No. 2023/0350791 A1), hereinafter referred to as Kadirvel.
Regarding Claim 9,
Sen discloses, generating the second data structure as shown above with providing sequences of steps to the source of the request to generate the given test scenario (See FIG. 5B and paragraph [0084]; “In response, the GenAI model 524 may generate a sequence of steps ... Here, the steps may be determined by the GenAI model 524 based on historical software tests that have had similar requirements that the GenAI model has learned from. In this example, the steps … are displayed on the user interface 512, where the user of the user device can view the steps and provide feedback or accept the steps. Each step is another step during the test of the software program.”)
Sen does not but Kadirvel discloses, “determining a ranking of the two or more different sequences of test steps and providing the determined ranking of the two or more different sequences of test steps …” (Kadirvel [0020]; “In accordance with one or more embodiments, failure prediction model 114 can be trained using training data and a machine learning algorithm to determine a failure propensity score 116 for a test case using model input generated by model input generator 106 using execution history 102 and change history 104 information corresponding to the test case. The failure propensity score generated by failure prediction model 114 for each of a number of test cases can be used by test case prioritizer 118 to order (rank, sort, etc.) the test cases. Test case scheduler 120 can determine a testing schedule for the test cases in accordance with the order determined by test case prioritizer 118.”)
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Sen by adopting the teaching Kadirvel to obtain better quality software with less time-consuming techniques.
Regarding Claim 10,
Sen in view of Kadirvel teaches the apparatus of claim 9 as stated above.
Sen does not but Kadirvel further teaches, “wherein the ranking of the two or more different sequences of test steps is determined based at least in part on frequencies of use of test steps in the two or more different sequences of test steps in a set of one or more existing test scenarios of a test management environment.” (Kadirvel [0025]; “In accordance with one or more embodiments, change history encoder 110 can retrieve change history information from change history 104 for each test case for which a failure propensity score is to be determined by failure prediction model 114. By way of a non-limiting example, the change history information retrieved for a given test case can indicate each file that has been committed to during a determined time period. By way of a non-limiting example, the time period can be determined using a last-release date (e.g., date of the last release) associated with the test case and the build date of the test case.”; Kadirvel [0033]; “Turning to model training, embodiments of the present disclosure can map historical execution information with change history information, and generate training data using the mapping. In accordance with one or more embodiments of the present disclosure, the training data can include a code issue indicator determined using the historical execution information.”)
The historical execution information may be seen as the frequencies of use. The frequency of use for the programmer in this case would be the number of changes to the source code or the number of executions (Fig. 4, element 412; [0033]), as a result affecting the ranking of a test case negatively when the new resulting outcome caused by source code changes is not as expected [0025].)
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Sen by adopting the teaching Kadirvel to obtain better quality software with less time-consuming techniques.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Beza D Nigatu whose telephone number is (571)272-9643. The examiner can normally be reached Monday - Friday 7:30am-3:30pm.
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, Hyung Sough can be reached at (571) 272-6799. 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.
/B.D.N./Examiner, Art Unit 2192
/S. Sough/SPE, Art Unit 2192