1、International Journal of Software Engineering & Applications (IJSEA), Vol.3, No.1, January 2012 STUDY PAPER ON TEST CASE GENERATION FOR GUI BASED TESTING Isabella1and Emi Retna2 1 PG Research Scholar, Software Engineering Group, School of Computer Science and Technology, Karunya University, Coimbato
2、re, India 2 Head Computer Technology Centre, Karunya University, Coimbatore, India ABSTRACT With the advent of WWW and outburst in technology and software development, testing the software became a major concern. Due to the importance of the testing phase in a software development lifecycle, testi
3、ng has been divided into graphical user interface (GUI) based testing, logical testing, integration testing, etc.GUI Testing has become very important as it provides more sophisticated way to interact with the software. The complexity of testing GUI increased over time. The testing needs to be perfo
4、rmed in a way that it provides effectiveness, efficiency, increased fault detection rate and good path coverage. To cover all use cases and to provide testing for all possible (success/failure) scenarios the length of the test sequence is considered important. Intent of this paper is to study some t
5、echniques used for test case generation and process for various GUI based software applications. KEYWORDS GUI Testing, Model-Based Testing, Test Case, Automated Testing, Event Testing. 1. INTRODUCTION Graphical User Interface (GUI) is a program interface that takes advantage of the computers graphic
6、s capabilities to make the program easier to use. Graphical User Interface (GUI) provides user an immense way to interact with the software 1. The most eminent and essential parts of the software that is being used today are Graphical User Interfaces (GUIs) 8, 9. Even though GUIs provides user an ea
7、sy way to use the software, they make the development process of the software tangled 2. Graphical user interface (GUI) testing is the process of testing softwares graphical user interface to safeguard it meets its written specifications and to detect if application is working functionally correct.
8、GUI testing involves performing some tasks and comparing the result with the expected output. This is performed using test cases. GUI Testing can be performed either manually by humans or automatically by automated methods. Manual testing is done by humans such as testers or developers itself in som
9、e cases and it is often error prone and there are chances of most of the test scenarios left out. It is very time consuming also. Automated GUI Testing includes automating testing tasks that have been done manually before, using automated techniques and tools. Automated GUI testing is more, efficien
10、t, precise, reliable and cost effective. A test case normally consists of an input, output, expected result and the actual result. More than one test case is required to test the full functionality of the GUI application. A collection of test cases are called test suite. A test suite contains detail
11、ed guidelines or objectives for each collection of test cases. Model Based Testing (MBT) is a quick and organized method which automates the testing process through automated test suite generation and execution techniques and tools 11. Model based testing uses the directed graph model of the GUI cal
12、led event-interaction graph (EIG) 4 and event semantic interaction graph (ESIG). Event interaction graph is a refinement of event flow graph (EFG) 1. EIG contains events that interact with the business logic of the GUI application. Event Semantic Interaction (ESI) is used to identify set of events t
13、hat need to be tested together in multi-way interactions 3 and it is more useful when partitioning the events according to its functionality. This paper is organized as follow: Section 2 provides some techniques, algorithms used to generate test cases, a method to repair the infeasible test suites a
14、re described in section 3, GUI testing on various types of softwares or under different conditions are elaborated in section 4, section 5 describes about testing the GUI application by taking event context into consideration and last section concludes the paper. 2. TEST CASE GENERATION 2.1. Using GU
15、I Run-Time State as Feedback Xun Yuan and Atif M Memon 3, used GUI run time state as feedback for test case generation and the feedback is obtained from the execution of a seed test suite on an Application Under Test (AUT).This feedback is used to generate additional test cases and test interactions
16、 between GUI events in multiple ways. An Event Interaction Graph (EIG) is generated for the application to be tested and seed test suites are generated for two-way interactions of GUI events. Then the test suites are executed and the GUIs run time state is recorded. This recorded GUI run time state
17、is used to obtain Event Semantic Interaction(ESI) relationship for the application and these ESI are used to obtain the Event Semantic Interaction Graph(ESIG).The test cases are generated and ESIGs is capable of managing test cases for more than two-way interactions and hence forth 2-, 3-,4-,5- way
18、interactions are tested. The newly generated test cases are tested and additional faults are detected. These steps are shown in Figure 1. The fault detection effectiveness is high than the two way interactions and it is because, test cases are generated and executed for combination of events in diff
19、erent execution orders. There also some disadvantages in this feedback mechanism. This method is designed focusing on GUI applications. It will be different for applications that have intricate underlying business logic and a simple GUI. As multi-way interactions test cases are generated, large number of test cases will be generated. This feedback mechanism is not automated. Figure 1. Test Case Generation Using GUI Runtime as Feedback