Search In this Thesis
   Search In this Thesis  
العنوان
A Study of Graphical User Interface (GUI) Testing Techniques /
المؤلف
El Sayed, Tahany Akl.
هيئة الاعداد
باحث / تهانى عقل السيد
مشرف / محب رمزى جرجس
مشرف / علاء اسماعيل النشار
مشرف / عونى عبد الهادى أحمد
الموضوع
Graphical user interfaces (Computer systems.
تاريخ النشر
2014.
عدد الصفحات
148 p. ;
اللغة
الإنجليزية
الدرجة
ماجستير
التخصص
علوم الحاسب الآلي
تاريخ الإجازة
1/1/2014
مكان الإجازة
جامعة المنيا - كلية العلوم - قسم علوم الحاسب
الفهرس
Only 14 pages are availabe for public view

from 144

from 144

Abstract

A Graphical User Interface (GUI) is a type of user interface that allows users to interact with programs in many ways. A GUI offers graphical icons, and visual indicators to fully represent the information and actions available to a user. The actions are usually performed through direct manipulation of graphical elements. In a typical GUI, instead of laboriously typing commands to tell a computer what to do; a user can simply choose commands by activating or manipulating the pictures.
Nowadays, a GUI is widely used as a way for users to interact with software systems. According to ACM Computing Surveys, on average, more than 45% of the total source code is used for implementing a GUI which makes GUI testing inevitable. Due to the characteristics of the GUI, GUI testing is much more difficult than conventional software testing.
GUI testing automation involves several steps. Firstly, a set of test cases needs to be generated automatically according to certain coverage criteria. Secondly, after the test cases are generated, they need to be executed automatically. Each test case comprises an event sequence with GUI state and object information linked to them. An executor is used to mimic a user to perform all the events automatically in sequence. Thirdly, the aim of executing the test cases is to check whether the GUI performs as intended.
GUI test automation has faced two challenges technically in the past years. The first one is how to locate the correct GUI components, such as text boxes, list boxes, combo boxes, labels, and command buttons, for testing. The other challenge is automatic verification, which requires developing a general test script for different GUI components and verifying that the visible GUI representations are consistent with the intended functions and make sense to the end users.
GUI testing automation is traditionally performed through the Capture and Replay (CR) technique. CR tools provide a basic automation solution by recording mouse coordinates and user actions as scripts. A major problem of using mouse coordinates is that the scripts can break with even minor changes to the GUI layout.
Tool manufacturers have studied and developed various kinds of GUI testing tools. These tools have been designed to help test engineers record test scripts. However, none of the commercial tools have the capability of automatically generating GUI test scripts that perform and verify GUI actions and find bugs effectively. We need a tool capable of automatically programming the test script and testing the presentation layer of an application for reliability, consistency, and efficiency.
This thesis presents a study of the challenges that face the GUI testing automation. The study involves the development of an automated GUI testing tool. The ultimate goal of this tool is to tackle the difficulties in GUI testing, avoid the drawbacks and pitfalls of the current GUI testing methods, and fully automate the GUI testing process. This tool completes a GUI survey and informs the user of all the GUI components in need of testing. The tool will be able to generate a GUI test script based on the architecture of manually created script. The generated test script will be able to capture the event actions and changes performed on the GUI component being tested. It will also verify the position and the appearance of the GUI components and test the input to the GUI components. The result of the event actions and invocations will be converted from GUI to readable text formats. Then the test result reports will be used to fix the detected bugs. Using this tool, users don’t need to record, edit, and debug test scripts. Testers can spend their time creating test cases and executing them.
The thesis also describes the strategy that we have adopted in testing GUI applications, and the GUI testing coverage criteria that we have applied in our testing strategy.
Finally, the thesis describes the experiments that we have conducted using the proposed GUI testing tool to evaluate its error exposing ability and its verification capabilities, and the effectiveness of the adopted GUI testing coverage criteria.