System and Method for Comprehensive Meta-Data Driven Testing of Web Services APIs and Application UIs
Publication Date: 2016-May-31
The IP.com Prior Art Database
This invention describes how to use input field meta-data, for example, value limits, to define and implement a comprehensive set of automated tests for Web Services APIs and Application UIs.
Page 01 of 6
System and Method for Comprehensive Meta
System and Method for Comprehensive Meta-
--Data Driven Testing of Web Services APIs and Application UIs
Data Driven Testing of Web Services APIs and Application UIs
Disclosed is a system and method for a simple, meta data driven approach to testing the external interface component of an application. It removes the burden of designing and implementing automated test scripts / code from the tester while providing adequate system test coverage. The main innovations are the use of meta data, for example, input value limits, from which random input values are generated to test a Web Service API or UI.
Automated testing is becoming more and more important as the pace of software development accelerates with the wide spread use of Agile methods and continuous delivery. However, the time and effort required to design, implement, and maintain a comprehensive regression test suite for any reasonably complex software system can be restrictive.
Testers now require high level software development as well as high level testing skills to be successful in this environment, because today's test suites are large, complex systems of automated scripts.
Data driven testing provides some relief, but the tester is still required to specify the exact data to be used in each test case.
When a software system is in production, it is subjected to a wide range of data values. Regression test suites typically use the same set of data for each run. Adding some randomization to the data provides a much more realistic approximation to the way software is used by customers.
A standard testing approach is to use the following types of values for each input to the software system:
a value within the acceptable range for the input, expecting a good result
a value at the lower bound of the acceptable range for the input, expecting a good result
a value at the upper bound of the acceptable range for the input, expecting a good result
a value below the lower bound of the acceptable range for the input, expecting an error result
a value above the upper bound of the acceptable range for the input, expecting an error result
This invention defines a system that accepts test meta data of the type:
input field identifier
Page 02 of 6
input field type, eg, text, numeric, list
input field minimum value
input field maximum value
The system parses this meta data and for each input field, the system generates and executes the following test cases for the external interface of the application:
1. A random value within the acceptable range and expects success.
2. The lower bound value and expects success.
3. The upper bound value and expects success.
4. A random value lower than the lower bound and expects an error response.
5. A random value higher than the upper bound and expects an error response.
Note that this invention does not attempt to test the functional behavior of the SUT, just that the interface accepts or rejects input data...