1. Technical Field
The present invention describes a system and method for converting the business processes to test-centric activity diagrams to computationally generate automated test suites for various quality attributes.
2. Prior Art
Automated test scenario generation has always been a challenge, a problem that the software testing industry has been looking to solve. Conventionally, it has been proven that over 30% of the effort in a typical software test life cycle is spent in authoring and maintaining test cases. Reduction of this effort will have significant impact on the overall cost of the project and resource optimization.
The age-old Graph theory has been “re-purposed” to derive test sequences (paths) from the diagram and additional “In-house” methods have been used to generate additional test cases.
U.S. Pat. No. 8,479,164 titled “Automated Test execution plan generation” describes a method to automatically generate test execution plans. Using this test execution plan generation tool, a set of user- configured testing parameters for a software application under test can be obtained. Using the user-configured test parameters and a predefined test execution plan data model, a test execution plan can be automatically generated. This tool consists of a computer program product stored on a physical medium where the plurality of user-configured testing parameters correlates with, at least one of the items contained in a predefined test execution plan data model associated with this tool.
U.S. Pat. No. 6,378,088 titled “Automated test generator” describes a process where the test generator generates tests by randomly traversing a description of the interface of the program being tested. It consists of a computer and the test generator is executed by the computer. This represents an interface of the application program as a graph and it also automatically generates a test that exercises the application program. The tests generated contain randomly selected actions and randomly generated data. When these tests are executed, it randomly manipulates the program being tested.
U.S. Pat. No. 7,865,780 titled “Method for test case generation” describes a system, which provides randomly generated test cases for set of interfaces for a piece of software. The method comprises of a random test case number generator and a test case generator comprising of a parameter value generator. The parameter value generator assigns the parameter value for each interface based on the test case number. The method involves initializing a test case generator with parameter arrays with cardinality and a prime number for each individual parameter for each of the set of interfaces.
EP1926021 titled “Software test case generation” describes an apparatus, a computer program and a method for test case generation. The apparatus consists of a parser module, which analyses a source code into a code model, an analysis module, which utilizes the code model to parse a source code, in such a way that the execution paths can be determined. The system also consists of a user-interface module to visualize the possible execution paths in the source code and to allow the selection of the execution path from the user. A generation module is configured to generate a test case for testing of the selected execution path. These modules are configured to execute a computer program.
The present invention describes a system and a method for converting the business processes to test-centric activity diagrams to generate automated test suites for various quality attributes.
The method is based on a set of scientific, statistical and expert system based principles. The method is pro-agile with very less dependency on test documentation. This reduces the effort put in by a test engineer in arriving at test cases that measure the quality of the systems under test. Automated test suites generation is an effective method for testing. The test suites are generated by test-centric activity diagrams. The method takes an activity diagram as an input, which can either be generated using Unified Modeling Language (UML) or the requirements can be modeled by using any standard business modelers available, which is then exported in the industry standard Extensible Markup Language Metadata Interchange (XMI) file format. The method automatically generates test scenarios using this input. Since the generated test scenarios are mapped to the corresponding business processes, almost 100% of functional coverage can be achieved. The method also takes Path based, Expert System based, Exception based and Event based test conditions as inputs to the test generator for the production of automated test suites.
Test-centric activity diagrams are the graphical representations of workflows and business processes and is an effective method to generate test suites.
The method is useful to domain specialists and business analysts to add special custom tags for specific validation conditions and functional checks. The method is useful in addressing the faults such as wrongly initialized states, wrongly traversed conditions, unhandled errors, un-triggered events, which leads to different types of failures in the system.
The system for converting the business processes to test-centric activity diagrams to generate automated test suites consists of a processor to convert the business flows to the test centric activity diagram, a parsing module to parse the test centric activity diagram to produce nodes and edges, an analysis module to analyze the test centric activity diagram in terms of the nodes and edges by using different configurations and combination of test conditions and a test case generator to generate the test cases from test conditions through a graph theory and a custom method.
A complete understanding of the present invention may be obtained by reference to the accompanying drawings, when considered in conjunction with the subsequent, detailed description of preferred embodiments in which like elements and components bear the same designations and numbering throughout the figures.
a illustrates parsing activity diagram to produce nodes and edges.
b illustrates generation of different types of nodes and edges.
a illustrates flow of generating test cases using concurrent test conditions.
b illustrates flow of generating test cases using path or signal based test conditions.
a illustrates parsing the activity diagram to produce nodes and edges. The centric activity diagram is parsed through a XMI file 23 to get the document object of XMI file 24. The child elements are iterated 25 to check the action of node type 26 and to get element name identity and tags information 27. The tags are checked for equality 28 with the key words and the action object without tags 29 and the action object with tags 30 are created to generate nodes and edges 7.
b illustrates the generation of different types of nodes and edges. For the node types 31, node identity (ID) is obtained for incoming and outgoing node called a decision node 32, for fork or join node 33 and for incoming, outgoing and sequence action node called as action node 34. The data is further collected and the object is added to a decisions list 35 to generate the nodes and edges 7. The edges are generated by building connections using the collected data and adding the edges to graph and pairs to the pair list 36.
a illustrates flow of generating test cases using concurrent test conditions. The test case is generated by selecting the test conditions 37. The test conditions are parallel work items, which run either concurrently or sequentially. The test conditions 37 are converted to concurrency conditions 38, which are part of the test conditions. Further, the test condition is generated by either taking concurrency as one block 39 or concurrency test conditions are also generated as separate test conditions 40. Finally, automated test cases or test suites are generated 41.
b illustrates flow of generating test cases using path or signal based test conditions. The test conditions, nodes & edges of path based, signal based, and exception based test conditions are configured 42 and listed. The list is iterated based on the test conditions type 43. The test condition object is created using the test steps and test condition type 44. The created test condition object is added to the test conditions list 45 and the automated test cases or test suites are generated 46.
The above detailed description of the embodiments, and the examples, are for illustrative purposes only and are not intended to limit the scope and spirit of the invention, and its equivalents, as defined by the appended claims. One skilled in the art will recognize that many variations can be made to the invention disclosed in this specification without departing from the scope and spirit of the invention.
This patent application is the non-provisional of and claims the benefit of U.S. Provisional Patent Application No. 61/976,522 having a filing date of 8 Apr. 2015.
Number | Date | Country | |
---|---|---|---|
61976522 | Apr 2014 | US |