A Survey On Testing Strategies For User Interface And Its Applications

Y.V. Ashwin Karthick *  P.V.S. Sarma **    S. Amarnath Babu ***  P. Harini ****   A.S.A.L.G.G. Gupta *****
*-***** M.Tech Student, Department of Software Engineering, St Ann's College of Engineering & Technology, JNTUK.
** Professor, Department of I.T, St Ann's College of Engineering & Technology.
*** Associate Professor and Head, Department of I.T, St Ann's College of Engineering & Technology.
**** Professor and Head, Department of C.SE, St Ann's College of Engineering & Technology.

Abstract

User interface design is a subset of a field of study called interaction with computer. A user interface is a collection of techniques and mechanisms to interact with something. In a graphical interface, the interaction mechanism is a pointing device of some kind. Interacts with is a collection of elements referred to as objects. Event-Driven Software (EDS) can change state based on incoming events common examples are GUI and web applications. GUI Testing is to check the look and feel of the application. UI Testing is the user interface testing which is done in front of the user. There are various tools are available for automated GUI testing and web application testing. The web application is built using asp, jsp, php, servlet. Here our specific contribution is to develop a single testing tool for testing both GUI and Web Applications together. GUI is built through the java technology. Various GUI and web based testing tools are compared.

Keywords :

Introduction

Now here the authors presenting a testing process of user interface and its applications. The user interface is the systems by which the users i.e. people interact with a system (machine). The interface which is included by software and hardware (logical and physical) components. A web application is an application that is accessed by users over a network such as the Internet or an intranet. The web application is that coded in a browser – support language (such as JavaScript, combined with a browser-rendered markup language like HTML). The main goal of the testing is to uncover the errors. There are various tools are available for automated GUI testing and web application testing. Testing (GUI) includes how handling of events on keyboard and mouse, different like drop down, check box, windows, frames etc. Testing (WEB) include handling of buttons (text box, actions, methods) which is to be submitted.

Various Testing strategies are Abbot , Jacareto , and Pounder. Manual testing is the process of manually testing software for defects. It requires a tester to play the role of an end user, and use most of all features of the application to ensure correct behavior. Completeness of testing ensures that, the tester often follows a written test plan that leads them through a set of important test cases. GUI testing is a process to test application's user interface and to detect if application is functionally correct. GUI testing involves carrying set of tasks and comparing the result of same with the expected output and ability to repeat same set of tasks multiple times with different data input and same level of accuracy.

1. Literature Survey

1.1 User Interface Applications (GUI)

The user interface is the part of a computer and its software that people can see, hear, touch, talk to, or otherwise understand or direct. The user interface has essentially two Components: input and output

Input is how a person communicates his or her needs or desires to the computer. Some common input components are the keyboard, mouse, trackball, one's finger (for touch-sensitive screens), and one's voice (for spoken instructions).

Output is how the computer conveys the results of its computations and requirements to the user. Today, the most common computer output mechanism is the display screen, followed by mechanisms that take advantage of a person's auditory capabilities: voice and sound. A Graphical User Interface (GUI) is a type of user interface that allows users to interact with electronic devices using images rather than text commands. A Graphical User Interface (GUI) is a hierarchical, graphical front-end to a software system that accepts as input usergenerated and system-generated events from a fixed set of events and produces deterministic graphical output. [1] the user interacts with is a collection of elements referred to as objects. They can be seen, heard, touched, or otherwise perceived. Objects are always visible to the user and are used to perform tasks. They are interacted with as entities independent of all other objects. People perform operations, called actions, on objects. A GUI contains graphical objects; each object has a fixed set of properties. Characteristics of a Great User Interface are: Responsiveness, Familarity, Clarity, Concision, and Forgiveness.

GUI Testing includes how handling of events on keyboard and mouse, different like drop down, check box, windows, frames etc. The Event Driven Software (EDS) is some time referred as re-active in terms of software, which is to be problem of event context and testing of software strategy. [1, 3-5].

The event context to GUIs, but believe that our techniques may be relevant to these other domains We use the term GUI testing to mean that a GUI-based software application is tested solely by performing sequences of events on GUI widgets; [6] and the correctness of the software is determined by examining only the state of the GUI widgets.

1.2 Web Applications

A web-page is information which will be accessed by only a web browser and is suitable for WWW (World Wide Web).It will be displayed on a monitor or a device (mobile/tablet).There are two types of transfer of data in networks internet and intranet. Intranet is a private network/office is used only in that offices only, but internet is differing from intranet it will be used all the people. The format for this is like only HTML/XHTML format, in between this a hyperlinks is to navigate to other web page. These pages are served from web servers, in this there are two types of pages i.e. static web page and dynamic web page. The static web page will be constant may be construct by server side and dynamic web page which will be not constant it may be construct by client side. A web browser can have a Graphical User Interface, The examples of GUI like Internet Explorer, Mozilla Firefox, Chrome and Opera, or can be text-based, like Lynx or Links.

An application which will be accessed by users over a network such as internet or intranet, it is a web application and it may be a software application coded by a script language combined with a mark up language. The markup languages such as HTML/XML/DHTML.

In contrast, web applications use web documents written in a standard format such as HTML and JavaScript, which are supported by a variety of web browsers. Web applications can be considered as a specific variant of client-server software where the client software is downloaded to the client machine when visiting the relevant web page, using standard procedures such as HTTP. Client web software update may happen each time the web page is visited.

In the early days of the Web each individual web page was delivered to the client as a static document, but the sequence of pages could provide an interactive experience, as user input is returned through web form elements embedded in the page markup.

2. Testing Strategy on UI & Applications

2.1 Strategy on GUI

In this the authors test the User Interface and its Web Applications. User interface is that the Graphical which may contain several events. Every event may be done by certain action with objets. Each application has window and each window contains the number of components and each component generates the events. So in this system they check that component generates specified event or not [2].

For example on clicking on submit button the new window will be opened, this is the general case what want to done. After that we want to check that all possible events are correctly done or not if all actions are correctly done in a possible manner then any fault cannot be occur, if any fault occur then we want to check which object/action has been changed or what event has been changed. In this now we want to check that component each component has many events and handlers/action, these all are come under GUI applications which may be buttons, checkbox, radio buttons etc. Here if we take any type of GUI window it may be consist of components and event/event handler/objects like these…by seeing that we can know that it is working or not properly. Now we take an example window which may be occur in GUI, the occurrences we can observe below by taking an example of LAN for Windows Graphical User Interface - Remotely power on computers.

Ex: LAN for Windows Graphical User Interface - Remotely power on computers (Figure 1).

We just need to know the IP and the MAC address and the computer will "wake up”. If we did not know any one of above it will go to fault.

Figure 1. Wake on LAN

In any window (GUI) we see the below strategy

2.2 Testing tools

Abbot is a one of framework for GUI testing. Basic functionality allows developer to write GUI unit tests in the form of Java methods which call into the Abbot framework to drive an application's GUI. Besides tests written in Java, Abbot also allows the specification of tests in the form of XML test scripts. It provides a script editor, Costello, for editing such scripts. Besides the manual editing of test scripts, Costello also supports the recording of scripts by capturing the events occurring in a running application.

Pounder is exclusively taken for capturing interactions for GUI testing and replaying also. It memorizes XML files (interaction scripts) and is not intended to be used for manually writing tests. Compared with Abbot and Jacareto, Pounder is a lightweight tool, as can be seen by its taken (focus) and its small size.

Jacareto is a capture & replay tool for programs written in Java. You can capture actions on applications and replay them later on (like macros). Jacareto can be used for many purposes: GUI tests, Creation of animated demonstrations, Creation of macros, Qualitative and quantitative analyses of user behavior. There are mainly front ends that may (CleverPHL, Picorder) be included in Jacareto.

CleverPHL is a GUI front end for Jacareto & Picorder is a command line front end for Jacareto.

These Abbot, Jacareto, Pounder test the Components which includes Events, Actions, Objects in that Text fields, Moving of Mouse points cursors and dragging etc.

2.3 Strategy on web

The web page or application consists of set of data which may be linked from set of pages or links abstracted from the server. In this web page there may be a set of pages which may be redirected from one to one. When we click on submit button on first page it will go to second page, it is the general case we have done After that we want to check that all possible events are correctly done or not .if all actions are correctly done in a possible manner then any fault cannot be occur, if any fault occur then we want to check all the buttons, frames, links, text boxes and fields etc. which may be listed in that page. From the first page we want to go to second then we use the buttons or links, by seeing that we can identify the links/buttons are working or not. If the link is not working then we check hyperlink property. If the text field or password field is empty then automatically the button cannot be work, when we see the radio button there is some possible conditions for working it like all these in any web page all are want to be work very effectively, if any one on that web page cannot be work the overall web page will be come into a fault. So when we gone to submit we see all the links, buttons, text fields etc.

Figure 2. A simple web page (cannot process to next page/sesion because the name field is empty)

Figure 3. A simple web page (process to next page/session)

Here we take a sample web page as example. In that one there are Name, Age like text boxes and Gender, Marital Status like drop down and a button is Update for updating the data that entered by user (Figure 2).

If the Name/age field is empty it is not process to next page. If drop down is not select again it shows error and cannot process to next page.

In Figure 3 the name field is not empty so the page automatically redirect to next session when update button is pressed.

Conclusion

In the recent days we observe that there is great demand for the standalone applications to communicate with some processes in web. If there is provision to stand alone application even to communicate with web application then complex things can be made easy with this intension, This approach has combined the features of web application, that can produce good and effective results to users problems. Hence this approach has wonderful to serves most of the needs in both User Interface and Web Application.

References

[1]. Bryce, R.C., Sampath, S., and Memon, A. (2011). Developing a single model and test prioritization strategies for event-driven software. IEEE Transactions on Software Engineering.
[2]. A.M. Memon and Q. Xie, “Studying the Fault- Detection Effectiveness of GUI Test Cases for Evolving Software,” IEEE Trans. Software Eng., Vol. 31, No. 10, pp. 884-896, Oct. 2005.
[3]. A.M. Memon, “Developing testing techniques for eventdriven pervasive computing applications,” in Proceedings of The OOPSLA 2004 workshop on Building Software for Pervasive Computing (BSPC 2004), Oct. 2004.
[4]. G.J. Tretmans and H. Brinksma, “TorX: Automated model-based testing,” in First European Conference on Model-Driven Software Engineering, Nuremberg, Germany, A. Hartman and K. Dussa-Ziegler, Eds., December 2003, pp. 31–43.
[5]. H. Ural and B. Yang, “A test sequence selection method for protocol testing,” IEEE Transactions on Communications, vol. 39, no. 4, pp. 514–523, 1991.
[6]. A. Marchetto and P. Tonella, “Search-based testing of Ajax web applications, “in 1st International Symposium onSearch Based Software Engineering, May 2009, pp. 3–12.
[7]. J. Offutt, S. Liu, A. Abdurazik, and P. Ammann, “Generating test data from state-based specifications,” Software Testing, Verification and Reliability, vol. 13, no. 1, pp. 25–53, 2003.