IP Library Granted Patent US 12,730,738
Granted Patent B2
US 12,730,738 · App. 18/392,176 · Granted Sep 8, 2026

Systems and/or methods for intelligent indexing and selective execution of distributed tests in organizations

Inventors: Rinku Hazarika (Bangalore, IN); Manoj Jannu (Baad, IN)
Assignee: Software GmbH
G06F11/3688G06F11/368G06F11/3698
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,730,738
App. No.
18/392,176
Granted
Sep 8, 2026
Kind
B2
Abstract

A software product development- and testing-related system receives an indication of code related to software being developed. A configuration structure is updated to include an entry for the code, and the code is stored to a test code repository, if it relates to a new test for the software. The entry specifies part(s) of the software to which the code is applicable. If the code is an update to a test already in the test code repository, the code is stored to the test code repository. If the code is product development code related to the software: one or more tests applicable to the code is/are identified using the configuration structure; each identified test is run on the code; and provided that each identified test is passed, the code is promoted to a product code repository for use with the software (otherwise a developer is alerted of a failure).

Claims (79)

1 . A software product development- and testing-related system, comprising:

a data store storing a configuration structure; and

a memory and at least one processor configured to cooperate to perform operations comprising:

receiving an indication of code related to a software product being developed;

determining whether the configuration structure already includes an existing entry that is associated with the code for the received indication;

based on the code relating to a test that is new for the software product being developed,

(a) updating the configuration structure to include an entry for the code that relates to the test that is new for the software product being developed, and

(b) storing the code, as test code, to a test code repository, wherein the entry for the configuration structure specifies one or more parts of the software product being developed to which the test code is applicable;

based on the code relating to an update to an existing test that has an existing entry in the configuration structure and existing code in the test code repository, storing the code to the test code repository; and

based on the code being product development code related to the software product being developed:

identifying, using the configuration structure, one or more tests applicable to the code;

automatically running each of the identified one or more tests on the code; and

based on determination that each of the identified one or more tests has passed, promoting the code, as product code, to a product code repository for use with the software product being developed, and

based on determination that any of the identified one or more tests has not passed, generating an alert for a test failure for the code,

wherein the test code is performable on some product code as further product code is being developed.

2 . The system of claim 1 , wherein each entry in the configuration structure further includes a location for a corresponding test code.

3 . The system of claim 1 , wherein each entry in the configuration structure specifies parts of the software product being developed based on application and module names.

4 . The system of claim 1 , wherein each entry in the configuration structure further includes one or more identifiers pertaining to the test code that is associated with the entry, the one or more identifiers being user-defined and/or automatically extracted from the test code associated with the entry.

5 . The system of claim 1 , wherein the identifying of the one or more tests applicable to the code using the configuration structure is based on content of the code for which the indication was received.

6 . The system of claim 1 , wherein tests are performable in a product test development environment of a product code developer who initiated a commit operation and as a result generated the indication of the code.

7 . The system of claim 1 , wherein the indication of code includes of a first type of indication that is receivable from a testing environment for the test code and indications of a second type of indication that is receivable from a product development environment for the product development code.

8 . The system of claim 1 , wherein at least some tests of the identified one or more tests are implemented as test automation scripts.

9 . A software product development- and testing-related method, the method comprising:

receiving an indication of code related to a software product being developed;

determining whether a configuration structure already includes an existing entry that is associated with the code for the received indication;

based on the code relating to a test that is new for the software product being developed,

(a) updating the configuration structure to include an entry for the code that relates to the test that is new for the software product being developed, and

(b) storing the code, as test code, to a test code repository, wherein the entry for the configuration structure specifies one or more parts of the software product being developed to which the test code is applicable;

based on the code relating to an update to an existing test that has an existing entry in the configuration structure and existing code in the test code repository, storing the code to the test code repository; and

based on the code being product development code related to the software product being developed:

identifying, using the configuration structure, one or more tests applicable to the code;

automatically running each of the identified one or more tests on the code; and

based on determination that each of the identified one or more tests has passed, promoting the code, as product code, to a product code repository for use with the software product being developed, and

based on determination that any of the identified one or more tests has not passed, generating an alert for a test failure for the code,

wherein the test code is performable on some product code as further product code is being developed.

10 . The method of claim 9 , wherein each entry in the configuration structure further includes a location for a corresponding test code, and specifies parts of the software product being developed based on application and module names.

11 . The method of claim 9 , wherein each entry in the configuration structure further includes one or more identifiers pertaining to the test code associated with the entry, the one or more identifiers being user-defined and/or automatically extracted from the test code associated with the entry.

12 . The method of claim 9 , wherein the identifying of the one or more tests applicable to the code using the configuration structure is based on the content of the code for which the indication was received.

13 . The method of claim 9 , wherein tests are performable in a product test development environment of a product code developer who initiated a commit operation and as a result generated the indication of the code.

14 . The method of claim 9 , wherein the indication of code includes of a first type of indication that is receivable from a testing environment for the test code and indications of a second type of indication that is receivable from a product development environment for the product development code.

15 . A non-transitory computer readable storage medium tangibly storing instructions that, when executed by a processor of a computing system, perform operations comprising: receiving an indication of code related to a software product being developed;

determining whether a configuration structure already includes an existing entry that is associated with the code for the received indication;

based on the code relating to a test that is new for the software product being developed,

(a) updating the configuration structure to include an entry for the code that relates to the test that is new for the software product being developed, and

(b) storing the code, as test code, to a test code repository, wherein the entry for the configuration structure specifies one or more parts of the software product being developed to which the test code is applicable;

based on the code relating to an update to an existing test that has the existing entry in the configuration structure and existing code in the test code repository, storing the code to the test code repository; and

based on the code being product development code related to the software product being developed:

identifying, using the configuration structure, one or more tests applicable to the code;

automatically running each of the identified one or more tests on the code; and

based on determination that each of the identified one or more tests has passed, promoting the code, as product code, to a product code repository for use with the software product being developed, and

based on determination that any of the identified one or more tests has not passed, generating an alert for a test failure for the code,

wherein the test code is performable on some product code as further product code is being developed.

16 . The non-transitory computer readable storage medium of claim 15 , wherein each entry in the configuration structure further includes a location for corresponding test code, and specifies parts of the software product being developed based on application and module names.

17 . The non-transitory computer readable storage medium of claim 15 , wherein each entry in the configuration structure further includes one or more identifiers pertaining to the test code associated with the entry, the one or more identifiers being user-defined and/or automatically extracted from the test code associated with the entry.

18 . The non-transitory computer readable storage medium of claim 15 , wherein the identifying of the one or more tests applicable to the code using the configuration structure is based on content of the code for which the indication was received.

19 . The non-transitory computer readable storage medium of claim 15 , wherein tests are performable in a product test development environment of a product code developer who initiated a commit operation and as a result generated the indication of the code.

20 . The non-transitory computer readable storage medium of claim 15 , wherein the indication of code includes of a first type of indication that is receivable from a testing environment for the test code and indications of a second type of indication that is receivable from a product development environment for the product development code.

21 . A product development computing system for use with the software product development- and testing-related system of claim 1 , the product development computing system comprising at least one hardware processor coupled to memory, the at least one hardware processor configured to perform operations comprising:

providing, to the software product development- and testing-related system, the indication of code related to the software product being developed, wherein the code is product development code related to the software product being developed.

22 . A testing environment computer system for use with the software product development- and testing-related system of claim 1 , the testing environment computer system comprising at least one hardware processor coupled to memory, the at least one hardware processor configured to perform operations comprising:

providing, to the software product development- and testing-related system, the indication of code related to the software product being developed, wherein the code is test code.

23 . A software product development- and testing-related system, comprising:

a data store storing a configuration structure that includes a plurality of entries that each relate to a different test, where each entry of the plurality of entries includes: 1) a location for where corresponding test code of a corresponding test is located in a code repository, and 2) data for at least a portion of product code for which the corresponding test code is to be applied; and

a memory and at least one processor configured to cooperate to perform operations comprising:

receiving test code related to a software product being developed;

obtaining information from the received test code, the obtained information indicating at least an aspect of the software product being developed to which the received test code is applicable;

determining, based on the obtained information, whether the configuration structure already includes an existing entry that is associated with for the received test code, based on the obtained information;

responsive to a determination that the configuration structure already includes the existing entry that is associated with the received test code, updating, in association with the location for the existing entry, the corresponding test code in the code repository based on the received test code;

responsive to a determination that the configuration structure does not already include the existing entry that is associated with the received test code:

1) Creating a new entry for the received test code in the configuration structure; and

2) Storing, to a new location within the code repository, the received test code, wherein the location of the new entry is set as the new location;

wherein the received test code is automatically executable on the product code involving the aspect of the software product being developed to which the received test code is applicable, in response to a detected commit operation involving the product code by a product code developer, and

wherein the received test code is performable as further product code is still being developed.

24 . The system of claim 23 , wherein each of the data of at least the portion of the product code for which the corresponding test code is to be applied specifies parts of the software product being developed based on application and module names.

25 . The system of claim 23 , wherein each entry in the configuration structure further includes one or more identifiers pertaining to the test code associated with a respective entry, the one or more identifiers being user-defined and/or automatically extracted from the test code associated with the respective entry.

26 . The system of claim 25 , wherein the one or more identifiers specify parts of the software product being developed to be tested.

27 . The system of claim 26 , wherein at least some of the parts involve integrations between different components.

28 . The system of claim 25 , wherein the received test code is automatically identifiable, retrievable, and executable based on the one or more identifiers associated therewith.

29 . The system of claim 28 , wherein a plurality of test codes are retrievable based on a single product code commit operation, based on information extracted from the product code being committed matching with the one or more identifiers.

Assignments (3)
CHANGE OF NAME Recorded Dec 17, 2024
From: MOSEL BIDCO AG
To: SOFTWARE GMBH
Reel/Frame 069888/0673 →
MERGER Recorded Dec 17, 2024
From: SOFTWARE AG
To: MOSEL BIDCO AG
Reel/Frame 069888/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2023
From: HAZARIKA, RINKU; JANNU, MANOJ
To: SOFTWARE AG
Reel/Frame 066092/0972 →
Continuity (1)
Related Publication 20250208983A1 · Jun 26, 2025
References Cited (7)
US 12189518B2 · Mietke · 2025 [cited by examiner]
US 12271293B1 · Chauhan · 2025 [cited by examiner]
US 20160378647A1 · Maeoka · 2016 [cited by examiner]
US 20180260312A1 · Strachan · 2018 [cited by examiner]
US 20200125485A1 · Wiener · 2020 [cited by examiner]
US 20200242015A1 · Catt · 2020 [cited by examiner]
US 20240118996A1 · Mistry · 2024 [cited by examiner]