Software testing in parallel with different database instances

US2023333972A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2023333972-A1
Application numberUS-202318334786-A
CountryUS
Kind codeA1
Filing dateJun 14, 2023
Priority dateFeb 23, 2021
Publication dateOct 19, 2023
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Test cases written to test a software application can be dynamically distributed among a set of software application instances such that different sets of test cases can execute simultaneously in parallel, thereby speeding up testing relative to executing the test cases sequentially. To avoid database conflicts that may occur when different test cases are executed in parallel, each software application instance can be associated with a different database instance. Accordingly, a first test case executing in association with a first database instance can avoid interfering with a second test case executing in association with a second database instance.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method, comprising: distributing, by a processor, a group of test cases among different test sets prior to execution of the group of test cases, wherein the group of test cases is configured to test interactions between a software application and a database; initiating, by the processor, different software application instances of the software application, wherein the initiating causes the different software application instances to: create different database instances of the database that respectively correspond to the different software application instances; and executing, by the processor, the different test sets in parallel in association with corresponding instances of: the different software application instances, and the different database instances that respectively correspond to the different software application instances. 2 . The method of claim 1 , further comprising: collecting, by the processor, test result sets associated with execution of the different test sets in parallel; and combining, by the processor, the test result sets into an aggregated test result report. 3 . The method of claim 1 , wherein execution of the different test sets in parallel causes the different database instances to store different data. 4 . The method of claim 1 , wherein the initiating causes the different software application instances to create the different database instances as in-memory databases. 5 . The method of claim 1 , wherein the group of test cases was created based on an expectation of individual test cases, of the group of test bases, being executed in a sequential execution order. 6 . The method of claim 1 , wherein: the group of test cases includes a first test case and a second test case, the first test case and the second test case both being configured to access a same data element in the database, the distributing causes: the first test case to be assigned to a first test set associated with a first software application instance that corresponds to a first database instance, and the second test case to be assigned to a second test set associated with a second software application instance that corresponds to a second database instance, and executing the different test sets in parallel avoids database errors by permitting the first test case and the second test case to simultaneously access different instances of the same data element in the first database instance and the second database instance. 7 . The method of claim 1 , wherein the different software application instances are initiated in association with at least one of: different virtual machines, or different processing threads. 8 . The method of claim 1 , wherein: code of the group of test cases is expressed in a set of class files, individual class files of the set of class files each including one or more methods, and the distributing is performed at one or more of: a class level associated with the set of class files, or a method level associated with the one or more methods. 9 . The method of claim 1 , further comprising: identifying, by the processor, test cases within a particular test set that is associated with a particular software application instance; distributing, by the processor, the test cases among different test subsets, wherein the different test subsets are associated with different processing threads that correspond to the particular software application instance; and executing, by the processor, and via the different processing threads, the different test subsets in parallel, in association with the particular software application instance and a particular database instance that corresponds to the particular software application instance. 10 . The method of claim 1 , wherein the group of test cases is distributed based at least in part on predicting execution times of the different test sets. 11 . A computing device, comprising: a processor; memory storing computer-executable instructions that, when executed by the processor, cause the processor to perform operations comprising: distributing a group of test cases among at least a first test set and a second test set prior to execution of the group of test cases, wherein the group of test cases is configured to test interactions between a software application and a database; initiating a first software application instance of the software application and a second software application instance of the software application, wherein the initiating causes: the first software application instance to create a first database instance of the database that corresponds to the first software application instance, and the second software application instance to create a second database instance of the database that corresponds to the second software application instance; and executing the first test set and the second test set in parallel, wherein: the first test set executes in association with the first software application instance and the first database instance, and the second test set executes in association with the second software application instance and the second database instance. 12 . The computing device of claim 11 , wherein execution of the first test set and the second test set in parallel causes the first database instance and the second database instance to store different data. 13 . The computing device of claim 11 , wherein the initiating causes the first software application instance and the second software application instance to respectively create the first database instance and the second database instance as different in-memory databases. 14 . The computing device of claim 11 , wherein the first software application instance and the second software application instance are associated with at least one of: different virtual machines on the computing device, or different processing threads on the computing device. 15 . The computing device of claim 11 , wherein the operations further comprise: distributing test cases within the first test set among different test subsets, the different test subsets being associated with different processing threads on the computing device that correspond to the first software application instance; and executing, via the different processing threads, the different test subsets in parallel in association with the first software application instance and the first database instance. 16 . One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by a processor, cause the processor to perform operations comprising: distributing a group of test cases, configured to test interactions between a software application and a database, among different test sets prior to execution of the group of test cases; initiating different software application instances of the software application, wherein the initiating causes the different software application instances to: create different database instances of the database that respectively correspond to the different software application instances; and executing the different test sets in parallel in association with corresponding instances of: the different software application instances, and the different database instances that respectively correspond to the different software application instances. 17 . The one or more non-transitory computer-readable media of claim 16 , wherein execution of the different test sets in parallel causes the different database instances

Assignees

Inventors

Classifications

  • for test execution, e.g. scheduling of test suites · CPC title

  • Program synchronisation; Mutual exclusion, e.g. by means of semaphores · CPC title

  • for test results analysis · CPC title

  • between a Database Management System and a front-end application · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2023333972A1 cover?
Test cases written to test a software application can be dynamically distributed among a set of software application instances such that different sets of test cases can execute simultaneously in parallel, thereby speeding up testing relative to executing the test cases sequentially. To avoid database conflicts that may occur when different test cases are executed in parallel, each software app…
Who is the assignee on this patent?
State Farm Mutual Automobile Insurance Co
What technology area does this patent fall under?
Primary CPC classification G06F11/3688. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Oct 19 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).