Test cycle time reduction and optimization
AssigneeHarness Inc.
InventorsShivakumar Ningappa, Uri Scheiner, Srinivas Bandi Ramesh Babu
Life of this patent
Estimating the term…
Abstract
A system that automatically reduces test cycle time to save resources and developer time. The present system selects a subset of tests from a full test plan that should be selected for a particular test cycle, rather than running the entire test plan. The subset of tests is intelligently selected using metrics such as tests associated with changed code and new and modified tests.
Claims20
A method for automatically testing software code, comprising:
- detecting a test event initiated by a testing program and associated with testing a first software at a testing server, the test event detected by an agent executing within the testing program at the testing server, the testing event associated with a plurality of tests for the first software;
- transmitting, by the agent on the testing server to a remote server, one or more files associated with a subset of the first software to be tested;
- receiving, by the agent on the testing server from the remote server, a list of tests to be performed in response to the test event, the received list of tests being a subset of the plurality of tests and generated at least in part from a first call graph;
- and
- executing the tests in the list of tests by the agent in the testing server.
A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for automatically testing software code, the method comprising:
- detecting a test event initiated by a testing program and associated with testing a first software at a testing server, the test event detected by an agent executing within the testing program at the testing server, the testing event associated with a plurality of tests for the first software;
- transmitting, by the agent on the testing server to a remote server, one or more files associated with a subset of the first software to be tested;
- receiving, by the agent on the testing server from the remote server, a list of tests to be performed in response to the test event, the received list of tests being a subset of the plurality of tests and generated at least in part from a first call graph;
- and
- executing the tests in the list of tests by the agent in the testing server.
A system for automatically testing software code, comprising:
- a server including a memory and a processor;
- and
- one or more modules stored in the memory and executed by the processor to detect a test event initiated by a testing program and associated with testing a first software at a testing server, the test event detected by an agent executing within the testing program at the testing server, the testing event associated with a plurality of tests for the first software, transmit, by the agent on the testing server to a remote server, one or more files associated with a subset of the first software to be tested, receive, by the agent on the testing server from the remote server, a list of tests to be performed in response to the test event, the received list of tests being a subset of the plurality of tests and generated at least in part from a first call graph, and execute the tests in the list of tests by the agent in the testing server.
A method for automatically testing software code, comprising:
- receiving, by a remote server, a message from an agent executing within a testing program at a testing server, the message including one or more files associated with a test event initiated at the testing server, the test event associated with a first software to be tested at the testing server;
- parsing the one or more files by the remote server to identify portions of the first software to test;
- identifying a plurality of tests to perform by the testing server based on the first software portions and a call graph;
- and
- transmitting, by the remote server, the plurality of tests to perform at the testing server.
A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for automatically testing software code, the method comprising:
- receiving, by a remote server, a message from an agent executing within a testing program at a testing server, the message including one or more files associated with a test event initiated at the testing server, the test event associated with a first software to be tested at the testing server;
- parsing the one or more files by the remote server to identify portions of the first software to test;
- identifying a plurality of tests to perform by the testing server based on the first software portions and a call graph;
- and
- transmitting, by the remote server, the plurality of tests to perform at the testing server.
A system for automatically testing software code, comprising:
- a server including a memory and a processor;
- and
- one or more modules stored in the memory and executed by the processor to receive, by a remote server, a message from an agent executing within a testing program at a testing server, the message including one or more files associated with a test event initiated at the testing server, the test event associated with a first software to be tested at the testing server, parse the one or more files by the remote server to identify portions of the first software to test, identify a plurality of tests to perform by the testing server based on the first software portions and a call graph, and transmit by the remote server, the plurality of tests to perform at the testing server.
Dependencies are inferred from the claim text.