Data providers for annotations-based generic load generator
First Claim
1. A system, comprising:
- one or more computers configured to implement a testing system, wherein the testing system comprises;
a transaction generation framework; and
a transaction creator module;
wherein the transaction creator module is dynamically bound to the transaction generation framework at runtime;
wherein the transaction generation framework is configured to discover, during runtime, source code annotations within the transaction creator module;
wherein the source code annotations comprise information identifying one or more transaction methods of the transaction creator module, wherein the information comprises a name of at least one of the one or more identified transaction methods, wherein individual ones of the one or more transaction methods cause a test transaction to be performed on a network-based production service configured to process requests from clients for the service via a network;
wherein the source code annotations further comprise information identifying one or more data provider methods of the transaction creator module, wherein individual ones of the one or more data provider methods provide data for one or more of the one or more transaction methods;
wherein the transaction generation framework is further configured to;
generate one or more test transactions to be performed on the service based on load step information; and
call, for at least one of the one or more test transactions, one of the data provider methods and one of the transaction methods for which the data provider methods provides data; and
wherein in response to the transaction generation framework calling one of the transaction methods, the transaction creator module is configured to communicate with the service to perform the respective test transaction.
2 Assignments
0 Petitions
Accused Products
Abstract
A generic transaction generator framework for testing a network-based production service may work in conjunction with a product-specific transaction creator module that executes transactions on the service. The transaction creator module may include runtime-discoverable information, such as source code annotations, to communicate product specific details to the framework. Runtime-discoverable information may identify transaction types, transaction methods, data provider methods and data sources. The framework may generate and execute various test transactions and may call a data provider method to prepare data for the transaction and pass the prepared data to a transaction method. The framework may also load and parse test data from a data source and provide the test data to the data provider method for use when preparing data for the transaction.
57 Citations
20 Claims
-
1. A system, comprising:
one or more computers configured to implement a testing system, wherein the testing system comprises; a transaction generation framework; and a transaction creator module; wherein the transaction creator module is dynamically bound to the transaction generation framework at runtime; wherein the transaction generation framework is configured to discover, during runtime, source code annotations within the transaction creator module; wherein the source code annotations comprise information identifying one or more transaction methods of the transaction creator module, wherein the information comprises a name of at least one of the one or more identified transaction methods, wherein individual ones of the one or more transaction methods cause a test transaction to be performed on a network-based production service configured to process requests from clients for the service via a network; wherein the source code annotations further comprise information identifying one or more data provider methods of the transaction creator module, wherein individual ones of the one or more data provider methods provide data for one or more of the one or more transaction methods; wherein the transaction generation framework is further configured to; generate one or more test transactions to be performed on the service based on load step information; and call, for at least one of the one or more test transactions, one of the data provider methods and one of the transaction methods for which the data provider methods provides data; and wherein in response to the transaction generation framework calling one of the transaction methods, the transaction creator module is configured to communicate with the service to perform the respective test transaction. - View Dependent Claims (2, 3, 4)
-
5. A method, comprising:
performing, by one or more computers; discovering, by a transaction generation framework at runtime, runtime-discoverable information within a transaction creator module, wherein the transaction generation framework is bound at runtime to the transaction creator module; identifying based on the runtime-discoverable information, by the transaction generation framework, one or more transaction methods of the transaction creator module, wherein the runtime-discoverable information comprises a name of at least one of the one or more identified transaction methods, wherein at least one of the one or more transaction methods causes a test transaction to be performed on a network-based service under test, wherein the network-based production service is configured to process requests from clients for the service via a network; and identifying based on the runtime-discoverable information, by the transaction generation framework, one or more data provider methods of the transaction creator module, wherein at least one of the one or more data provider methods provides test data for one or more of the one or more transaction methods. - View Dependent Claims (6, 7, 8, 9, 10)
-
11. A non-transitory, computer-readable storage medium storing program instructions that when executed cause one or more computers to perform:
-
discovering, by a transaction generation framework at runtime, runtime-discoverable information within a transaction creator module, wherein the transaction generation framework is bound at runtime to the transaction creator module; identifying, by the transaction generation framework based on the runtime-discoverable information, one or more transaction methods of the transaction creator module, wherein the runtime-discoverable information comprises a name of at least one of the one or more identified transaction methods, wherein individual ones of the one or more transaction methods cause a test transaction to be performed by a network-based service under test, wherein the network-based service is configured to process requests from clients for the service via a network; identifying, by the transaction generation framework based on the runtime-discoverable information, one or more data provider methods of the transaction creator module, wherein at least one of the one or more data provider methods provides test data for one or more of the one or more transaction methods; and identifying, by the transaction generation framework based on the runtime-discoverable information, a data source for one or more of the one or more data provider methods, wherein the data source comprises one or more records usable for one or more of the one or more test transactions. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification