Automated Test Approach for Web Based Software



Similar documents
A Framework of Model-Driven Web Application Testing

Techniques and Tools for Rich Internet Applications Testing

Reusability of WSDL Services in Web Applications

Model-based Configuration Management for a Web Engineering Lifecycle

Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency

The Dentist Online Reservation System Design and Implementation Web Based Application and Database Management System Project

Levels of Software Testing. Functional Testing

What is a life cycle model?

Component visualization methods for large legacy software in C/C++

Service Level Agreements based on Business Process Modeling

Lecture 20: Software Evolution

Towards Web Design Frameworks (Wdfs)

Complete Web Application Security. Phase1-Building Web Application Security into Your Development Process

Web. Studio. Visual Studio. iseries. Studio. The universal development platform applied to corporate strategy. Adelia.

Modeling the User Interface of Web Applications with UML

Principles and Software Realization of a Multimedia Course on Theoretical Electrical Engineering Based on Enterprise Technology

Design of Remote data acquisition system based on Internet of Things

Latest Trends in Testing. Ajay K Chhokra

So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)

Expert System and Knowledge Management for Software Developer in Software Companies

Techniques for Scaling Components of Web Application

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Understanding Web personalization with Web Usage Mining and its Application: Recommender System

Advancements in the V-Model

Case Study. Data Governance Portal Brainvire Infotech Pvt Ltd Page 1 of 1

Towards Collaborative Requirements Engineering Tool for ERP product customization

The Microlease Asset Management Solution

A Multidatabase System as 4-Tiered Client-Server Distributed Heterogeneous Database System

Use of a Web-Based GIS for Real-Time Traffic Information Fusion and Presentation over the Internet

MRV EMPOWERS THE OPTICAL EDGE.

A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS

SHOPPING APPLICATION FOR E-COMMERCE

Adding New Level in KDD to Make the Web Usage Mining More Efficient. Abstract. 1. Introduction [1]. 1/10

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

How To Understand The Architecture Of Java 2Ee, J2Ee, And J2E (Java) In A Wordpress Blog Post

A Mind Map Based Framework for Automated Software Log File Analysis

REQUIREMENTS FOR AUTOMATED FAULT AND DISTURBANCE DATA ANALYSIS

Service Oriented Architectures

Analyzing the Different Attributes of Web Log Files To Have An Effective Web Mining

Complementing Your Web Services Strategy with Verastream Host Integrator

A Case Study in Integrated Quality Assurance for Performance Management Systems

[Rokadiya,5(4): October-December 2015] ISSN Impact Factor

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

Hadoop Technology for Flow Analysis of the Internet Traffic

Using Object And Object-Oriented Technologies for XML-native Database Systems

A Platform Independent Testing Tool for Automated Testing of Web Applications

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Applying 4+1 View Architecture with UML 2. White Paper

An Automated Workflow System Geared Towards Consumer Goods and Services Companies

PSG College of Technology, Coimbatore Department of Computer & Information Sciences BSc (CT) G1 & G2 Sixth Semester PROJECT DETAILS.

Selbo 2 an Environment for Creating Electronic Content in Software Engineering

Basic Testing Concepts and Terminology

Application of MVC Platform in Bank E-CRM

MRV EMPOWERS THE OPTICAL EDGE.

P ERFORMANCE M ONITORING AND A NALYSIS S ERVICES - S TABLE S OFTWARE

UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application

PERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS

Distributed systems. Distributed Systems Architectures

ETL-EXTRACT, TRANSFORM & LOAD TESTING

Virtual Team Collaboration Glossary

The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary

SQLFlow: PL/SQL Multi-Diagrammatic Source Code Visualization

Software as a Service Business Model (Introducing SOA and Web Service)

McAfee Asset Manager Console

Availability and Load Balancing in Cloud Computing

Semantic Search in Portals using Ontologies

International Journal of Engineering Technology, Management and Applied Sciences. November 2014, Volume 2 Issue 6, ISSN

Survey of Web Testing Techniques

Developers Integration Lab (DIL) System Architecture, Version 1.0

Self-organized Multi-agent System for Service Management in the Next Generation Networks

Distributed Systems Architectures

SOFTWARE TESTING STRATEGY APPROACH ON SOURCE CODE APPLYING CONDITIONAL COVERAGE METHOD

Implementing a secure high visited web site by using of Open Source softwares. S.Dawood Sajjadi Maryam Tanha. University Putra Malaysia (UPM)

Integration of Hotel Property Management Systems (HPMS) with Global Internet Reservation Systems

GenericServ, a Generic Server for Web Application Development

META DATA QUALITY CONTROL ARCHITECTURE IN DATA WAREHOUSING

Master s Program in Information Systems

Scaling Objectivity Database Performance with Panasas Scale-Out NAS Storage

How To Test A Web Based System

Students who successfully complete the Health Science Informatics major will be able to:

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

PLUMgrid Toolbox: Tools to Install, Operate and Monitor Your Virtual Network Infrastructure

Novell LDAP Proxy Server

Web-based Multimedia Content Management System for Effective News Personalization on Interactive Broadcasting

unless the manufacturer upgrades the firmware, whereas the effort is repeated.

Software Testing Strategies and Techniques

Transcription:

Automated Test Approach for Web Based Software Indrajit Pan 1, Subhamita Mukherjee 2 1 Dept. of Information Technology, RCCIIT, Kolkata 700 015, W.B., India 2 Dept. of Information Technology, Techno India, Salt Lake, Kolkata 700 091, W.B., India 1 indrajit.pan@gmail.com 2 subhamita.mukherjee@gmail.com Abstract Modern society is getting themselves more and more familiar with web enabled services. Its efficiency requires different mission critical pre deployments challenges. Thus we require extensive testing of such software applications. However the method of testing for web based applications are dissimilar from traditional software testing methods. This is due to the versatile use of diverse technologies in the web application. Literature doesn t suggest any modest modular testing technique for these mission critical applications. The main challenges for web based application testing lies within the strategy to find out a proper technique for identification of different static and dynamic module contained within an web application. In our paper we propose a simple automated testing technique for these applications. This proposed model identifies different static and dynamic components or modules of any specific web application. Then all those logical and functional modules are tested individually through control path flow based testing. Keywords Client Server Model, Dynamic Identification, Web Application Testing I. INTRODUCTION In recent times, wide utilization and easy availability of Internet has produced remarkable growth in demand for web based applications. Different spheres are emerging with fantastic application developments those may cater the needs of our fast growing life. It involves e-marketing and e-shopping, e-banking, e-education and different business related issues. Finger tip operations and business are really becoming the part of our fastest growing life. These kind of practices are not only confined in urban areas but also they are getting familiar in rural zones. These systems are nevertheless a type of web based software. These online software applications have mainly two ends as of the other web applications. One is server end and another part is executed at client s end. 238 The server side involves logical part and a huge database or knowledgebase to store the information. So easily this could be thought of as a distributed system with a Client- Server or multi-tier architecture including a few basic requirements. Thus there is a need for wide number of users support and the heterogeneous and concurrent access for them. Now such critical web based application requires special attention towards its effective execution. The efficient execution strategies require pre deployment testing of the application. Testing a web based application is a real challenge. Web application testing technique is different in concept from normal software testing techniques [1]. Though the testing objectives for web based applications are similar with traditional testing goals still in most of the cases approaches are different. This is because of the convolutions and oddities of web application. Indeed they have to be adapted to the specific operational environments. Another web application critical feature to be specifically tested is its security and ability to be protected from intruders. In general a web application is developed using diverse technologies involved in development of singular modules. This may require generation of different test suites for dissimilar modules. As of now, we can hardly find any such testing models which will be well suited to test all of the modules developed upon diverse technologies. A list of around two hundred commercial and complementary testing tools for web application is listed in [2], but mostly they are specific for load testing or security testing or they check for HTML validations. But for functional testing their capabilities are limited. So we feel there is a need to generate certain techniques which will be equipped to identify different logical modules. Following to this identification they will be able to drive the separate testing for those individual modules. This generic test model will be able to test both functional and non functional requirements of the web applications.

II. PREVIOUS WORK AND IMPLEMENTATION CHALLENGES The basic objective of e-software testing comprises of execution of the application using combination of inputs and state to reveal failures. Here failure means the error in the system due to which it cannot perform a designated task within the stipulated time [3]. Errors are classified as fault in application or anomalies in running environment. Since the running environment mainly affects the performance, stability or compatibility while the application is responsible for the functional requirements. Web application testing will have to be considered from two distinct perspectives. The first perspective will verify the conformance of the application with all non functional requirements. The second perspective will consider the problem of testing functional requirements. These two perspectives are complementary but not mutually exclusive [4]. The non functional requirements include performance, stability, scalability, compatibility, usability, security and accessibility. So the designs of testing strategies are important for verification of all non functional requirements. The functional requirement testing involves uncovering of the errors of the application. These errors might cause due to the faults in implementation logic. Mainly these types of checks reveal the error in the run time [5]. Now prior to the discussion on different features and aspects of web applications, we need to get ourselves familiar with web application representation models. In general software testing models are needed to represent the essential concepts and relationships about the items to test [5]. Such models will be helpful to select the test strategies for a specific kind of software. Web application models are represented by different methodologies. Mainly the web applications feature the flavors of traditional software along with the additional technology required to host the application over the web or internet. In literature there are different conventional models like Relationship Management Data Model, Object Oriented Hypermedia etc. [6], [7]. These models are tied with Navigational models and Interface Models to offer the services. Apart from these, there are models like Structural Model, Hypertext Model, Presentation Model and Personalization Model for specifying different characteristics of Web services. Now if we look through the Meta model of web application [8], we will visualize it as a collection of web pages. These web pages are mainly server pages and client pages. Server pages are deployed in web server 7 client pages are displayed in user terminal to interface clients interactions with server page. Owing to these models and modern technologies, we can experience a number of new features observed within web based application. It often has an evolutionary lifecycle and is rapidly updated. They often use a diversity of information representation formats and execution platforms. There components can be developed using various techniques and written in different languages. They often operate in open and dynamic environments. As serviced based computing techniques maturing they tend to be increasingly involved in collaboration with other information systems. More over it is common that they store and process a huge amount of information that demands a network of computer systems to process and store. Finally the web based systems usually have a large number of users with diverse user types. Because of these properties web based applications are complex and difficult to develop and maintain. Although there is much established work in the validation and verification of traditional software but they are inadequate for web application. In web application executable codes are embedded with data like textual, graphical and audio visual. One example is Java applet program. Thus we require a software testing tool that will perform both static and dynamic testing. As well as diverse data patterns and different distributed execution platforms demands a flexible testing environment. So that it can be easily expanded up to any limit and as well as the test results can integrated easily to generate a overall summary. Also the system quality can be judged through this. III. TEST STRATEGY CATEGORIZATION The testing of web application is a complex assignment. Hence we try to categorize diverse aspects of web software under different basic module. Hence a specific module is a collection of some non functional or functional requirements. Now if we deep dive in to the system architecture, we can visualize the system as in Figure 1. 239 Fig. 1: High level Module Description

In this high level view we can see three different modules namely Client Tier, Business Tier and Database Tier. Our dynamic testing modules categorically work on these three different aspects of a web application. The test controller is separated among these three modules and then starts on working in a distributed manner. The broad level description of primary classification of web contents (and or codes) is described below: Step 1: A master test Controller retrieves all the pages of a web site. Step 2: Master controller initiates code content crawling on all these retrieved pages. Step 3: Pages are classified in three tiers namely Business, Database and Client. Step 4: The master controller passes on the control to sub controllers for specific and in detail testing. Step 5: Sub controller generates event specific test cases and executes them on specific tiers and finally the test data is shared with testing outcomes of other controllers. Once the master controller communicates a Failed (F) status to client modules then that will generate TRAP to all linked modules. Here we use different message passing protocols to communicate between master controller and client controllers. The major signals we have used here are: a. test() Check status of other controllers, whether they are in active or inactive mode b. stat_response() Any controller revert back the status in response of test() c. estab_port() Request for Establish connection between any two controller on a specific Port No. d. conn_set() Connection is established on the specified port. e. send_sig() Test status is communicated to Master controller. f. broadcast_stat() Test status is broadcasted among all related client controllers. The above mentioned signals are extensively used between different sub controllers and with the master controller to communicate the test results in between. The message communication has been elaborated in figure 2. IV. PROPOSED DYNAMIC TEST CONTROLLER In the previous section we have seen that an web application is categorized in three different modules. We also assign three different sub controllers to individually look after these modules or components. However the task of these controllers is facsimiled in a distributed environment. The sub controller specific to three different modules are generated by master controller. Here the master controller generates three different virtual thin clients first to look after three different modules. Here all three thin clients individually generate some subsidiary thin clients. These are specific for each pro-functions of a specific tier. These function specific thin clients are executed only when that specific function is triggered. The execution of a pro-function will terminate in either of two states namely, Success (S) or Failed (F). This status signal is sent to penultimate thin client and the same is also communicated to Master component. The master component in return communicates the status to other thin clients. These thin clients are the test controllers for our system. Fig, 2: Message Passing between Different Test Controllers 240

V. EXTENDED OPERATIONAL DESCRIPTION This proposed dynamic test controller start working from a root within home directory of an web application. A simplest form of web structure has been depicted in figure 3. Owing to this fundamental detailing of web structure, our detailed message passing method (as shown in Figure 2) starts working from the root page or home page. It assumes the home page or login page as the master controller and then tries to find out different sub controller or navigating links (static or dynamic) associated with the master controller as of figure 5. Fig. 3: Simple Web Structure In figure 3 we can visualize that a root of web application may be connected with different static and dynamic kind of web pages, where a dynamic web page may be associated within a frame. This frame may accept different kind of varying input from the end users and depending on those inputs this frame will result in conditional navigation as of the structure shown in figure 4. Fig. 5: Establishment of Different Controlling Nodes This detection mechanism relates the key pages as a node and their associated link as an edge. Finally it establishes a graph like structure for the whole web application. This is called the master graph for our system as shown in figure 6. This master graph contains certain key nodes. These key nodes may contain some detailed logical constructs. These logical constructs may further be explored using some control path flow identification and testing mechanism. Here to test these Fig. 6: Master Graph Formation Fig. 4: Detailed Navigational Structure Control paths we may employ standard software testing methods. An ideal case of sub component detection for existing node of master graph has been shown in figure 7. 241

References [1] E. Hiett and R. Mee, Going Faster: Testing the Web Application, IEEE Software 19 (2), pp. 60-65, 2002 [2] R. Hower, Web Site Test Tools and Site Management Tools, Software QA Testing Resource Center. <http://www.softwareqatest.com/ qatweb1.html>, 2005 [3] IEEE Std. 610.12-1990, Glossary of Software Engineering Terminology in Software Engineering Standard Collection, 1990. IEEE CS Press Los Alamitos California, 1990 [4] H. Q. Nguyen, Testing Applications on the Web: Test Planning for Internet-Based Systems, John Willey & Sons, Inc., 2000 [5] R. V. Binder, Testing Object Oriented Systems Models, Patterns and Tools, Addison Wesley, Boston, MA, USA, 1999 Fig. 7: Node Decomposition VI. CONCLUSION This paper presents a dynamic module identifier for testing of web application. A prototype of the system architecture along with the communicating signals has been described here. This multiple test controller based architecture is perfectly suitable for testing of web applications. The dynamic nature of the controller constantly monitors the changes within the web applications and tests its implications on the overall services of the web portal. Sometimes the changes in the tiers may require new test cases and test strategies. The dynamic master controller is well adaptive to those changes. It can quickly generate a new type of thin client or sub controller to adapt the change. The versatile nature of web application requires dynamic test suites and strategies. Different sub controllers can manage different types of information and code patterns. The concept is powerful and extendible. The controllers can be distributed among different tiers to reduce the message traffic. Although the master controller performs the major operations related to testing, the module/ unit testing overheads are mostly reduced due to the incorporation of sub controllers in pro functions. [6] T. Isakowitz, A. Kamis and M. Koufaris, Extending the capabilities of RMM: Russian Dolls and Hypertext, Proceedings of 30 th Hawaii International Conference on System Science, Maui, III (6), pp. 177 186, 1997 [7] J. Gomez, C. Canchero and O. Pastor, Conceptual Modeling of Device Independent Web Applications, IEEE Multimedia, 8 (2), pp. 26 39, 2001 [8] G. A. Di Lucca, A. R. Fasolino, P. Tramontana, Reverse Engineering Web Applications: the WARE Approach, Journal of Software Maintenance and Evolution: Research and Practice, John Willey and Sons Ltd., pp. 71 101, 2004 242