IP Library Granted Patent US 10,860,464
Granted Patent B2
US 10,860,464 · App. 15/455,964 · Granted Dec 8, 2020

Test selection for application commit

Inventors: Shaul Strachan (Yehud, IL); Sigal Ishay (Yehud, IL)
Assignee: MICRO FOCUS LLC
G06F11/3688G06F8/71G06F11/3684
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 10,860,464
App. No.
15/455,964
Granted
Dec 8, 2020
Kind
B2
Abstract

Examples disclosed herein involve selecting tests for an application commit. In examples herein, a commit of an application code is detected based on a commit identifier in a request, the commit to update the application code, characteristics of the commit are determined from a repository of commit records; and tests for the commit are selected based on the characteristics of the application code to be executed to validate the updated application code.

Claims (57)

1. A method comprising:

in response to receiving a request for a selection of tests for testing a commit of an updated application code, detecting a commit identifier of the commit in the request;

retrieving characteristics of the commit from a repository of commit records using the detected commit identifier, wherein the characteristics of the commit identify a portion of the updated application code that was changed or updated;

selecting the tests for testing the commit based on content of the portion of the updated application code that was changed or updated; and

providing the selected tests to a continuous integration system, wherein the selected tests are to be executed by the continuous integration system to validate the commit of the updated application code.

2. The method as defined in claim 1 , further comprising:

analyzing related commits of the commit; and

selecting the tests for testing the commit further based on features of the related commits or tests executed for the related commits.

3. The method as defined in claim 1 , further comprising:

recording the characteristics of the commit in the repository based on user input associated with the commit.

4. The method as defined in claim 1 , wherein the characteristics of the commit and the portion of the updated application code that was changed or updated are stored in the repository based on user input in fields of information on a user interface.

5. The method as defined in claim 1 , wherein the portion of the updated application code that was changed or updated is relative to a previous commit of the updated application code.

6. The method as defined in claim 1 , further comprising:

determining that the commit identifier is associated with a user story or a defect based on the commit identifier; and

identifying the characteristics of the commit based on the user story or the defect.

7. The method as defined in claim 1 , further comprising:

storing result data associated with the selected tests; and

selecting tests for a subsequent commit related to the commit based on the result data.

8. A non-transitory machine readable storage medium comprising instructions that, when executed, cause a machine to at least:

generate a repository of commit records that store characteristics of commits of an application code;

receive a request for a selection of tests for testing one of the commits of the application code;

in response to receiving the request, detect a commit identifier of the commit in the request;

retrieve characteristics of the commit from the repository using the detected commit identifier of the commit, wherein the characteristics of the commit identify a portion of the application code that was changed or updated;

select the tests for testing the commit based on content of the portion of the application code that was changed or updated; and

provide the selected tests to a continuous integration system, wherein the selected tests are to be executed by the continuous integration system to validate the commit of the application code.

9. The non-transitory machine readable medium of claim 8 , wherein the request for the selection of the tests is received from the continuous integration system.

10. The non-transitory machine readable medium of claim 8 , wherein the instructions, when executed, further cause the machine to:

analyze related commits of the commit; and

select the tests for testing the commit further based on features of the related commits or tests executed for the related commits.

11. The non-transitory machine readable medium of claim 8 , wherein the instructions, when executed, further cause the machine to:

present a user interface to enable a user to input the characteristics of the commit; and

store the characteristics input by the user in the repository.

12. The non-transitory machine readable medium of claim 8 , wherein the instructions, when executed, further cause the machine to:

store result data for the selected tests received from the continuous integration system in the repository;

receive a subsequent commit; and

select subsequent tests for the subsequent commit based on the result data for the selected tests.

13. The non-transitory machine readable medium of claim 12 , wherein the result data comprises at least one of results of the tests, user feedback from the tests, or errors detected from the tests.

14. The non-transitory machine readable medium of claim 8 , wherein the instructions, when executed, further cause the machine to:

determine the characteristics of the commit based on characteristics of related commits in the repository.

15. An apparatus comprising:

a processor; and

a non-transitory machine readable storage medium storing instructions that, when executed by the processor, cause the processor to:

receive a request for a selection of tests for testing a commit for an application code, the commit identified by a commit identifier;

in response to receiving the request, detect the commit identifier of the commit in the request;

retrieve characteristics of the commit from a repository of commit records for the application code using the detected commit identifier, wherein the characteristics of the commit identify a portion of the application code that was changed or updated;

select the tests for testing the commit based on content of the portion of the application code that was changed or updated; and

provide the selected tests to a continuous integration system, wherein the selected tests are to be executed by the continuous integration system to validate the commit of the application code.

16. The apparatus of claim 15 , wherein the request for the selection of the tests is received from the continuous integration system.

17. The apparatus of claim 15 , wherein the instructions are executable to cause the processor to:

identify commit records of related commits of the commit in the repository based on features of the commit, wherein the commit records of the related commits comprise the characteristics of the commit.

18. The apparatus of claim 17 , wherein the features of the commit comprise a particular area of the application code or a type of the commit.

19. The apparatus of claim 15 , wherein the instructions are executable to cause the processor to:

receive results data of the selected tests from the continuous integration system; and

store the results data in the repository, the results data to be used for test selection for a subsequent commit.

20. The apparatus of claim 15 , wherein the instructions are executable to cause the processor to:

receive the characteristics of the commit and information of the commit based on user input; and

store the characteristics of the commit and the information of the commit in the repository.

Assignments (7)
RELEASE OF SECURITY INTEREST REEL/FRAME 052295/0041 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062625/0754 →
RELEASE OF SECURITY INTEREST REEL/FRAME 052294/0522 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062624/0449 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052295/0041 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052294/0522 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2018
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 047917/0341 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2017
From: STRACHAN, SHAUL; ISHAY, SIGAL
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 041542/0019 →
Continuity (1)
Related Publication 20180260312A1 · Sep 13, 2018