Self-Refactored Automation System for Software UI Automation Testing
Publication Date: 2014-Feb-12
The IP.com Prior Art Database
This invention provides a method to generate GUI automation test system automatically, which is called a business component based automation system. This system enables test automation to be automated through a UI component generator, business component generator and a test case generator. This invention creates a three-layer structure that is UI component layer, business component layer and test case layer to enhance the reusability of the automation code to improve the testing efficency.
Page 01 of 8
--Refactored Automation System for Software UI Automation Testing
Refactored Automation System for Software UI Automation Testing
• Field of the Invention
The present invention relates to the field of software functional testing, and more specifically to a test automation framework for Graphical User Interface(GUI) based software applications.
• Background to the invention
GUI testing is the process of testing a product's graphical user interface to ensure it meets the required specifications. If we don't consider the cost and the huge effort of automation test development, automation test is always a better choice, since it can avoid manual errors, and can run repeatedly. It's especially useful in regression testing.
As known in the art, record and playback tool is always the key components in GUI automation testing tool, although it has many drawbacks, e.g., it's not reliable, it requires re-recording for minor GUI changes. After an amendment is made, creation of a new GUI test script is necessary. However, creating a script every time for any GUI change is cumbersome and inefficient.
Discussions and researching on improving GUI automation test framework never stop. Many inventions focused on generation two-layer framework, which includes UI component layer and test cases layer. This framework helps when there're some changes of UI properties, only the UI component layer need to be changed without changing test cases. But when a common function changes, all corresponding test cases should be changed accordingly. For example, when the function of login the application changes, all test cases which includes login should be changed.
A more practical and more mature framework is a three-layer framework, which includes UI component layer, business component layer and test case layer. It eliminates the drawbacks of two-layer framework described above. It makes the framework more reusable and maintainable. But the limitations and drawbacks are still obvious:
1. Currently, the existing three-layer framework is still developed manually. Before developing, it requires well proposed and planned on how the business component structures; the undergoing testing and development may go through numerous iterations for skilled automation test developers before it is completed.
2. Since it's manually developed, it highly depends on the automation developers, e.g., the coding style varies among developers. In other word, it's not uniformed: for new comers, it requires huge effort to understand the existing framework before they are able to maintain the framework.
What is needed is to generate the GUI automation test system in a simple but more efficient, more uniformed and more intelligent way.
Page 02 of 8
• [Patent - US 20130074043 A1 Self Generating Automation System (SGAS) including framework for automation of software functional testing] http://www.google.com.hk/patents/US20130074043?dq=GUI+automation+test&hl=zh...