TL;DR: This work proposes to use isotropic properties of contexts as metamorphic relations for testing context-sensitive software, where distinct points on the same isotropics curve of contexts would entail comparable responses by the components.
Abstract: Context-sensitive middleware-based software is an emerging kind of ubiquitous computing application. The components of such software communicate proactively among themselves according to the situational attributes of their environments, known as the "contexts". The actual process of accessing and updating the contexts lies with the middleware. The latter invokes the relevant local and remote operations whenever any context inscribed in the situation-aware interface is satisfied. Since the applications operate in a highly dynamic environment, the testing of context-sensitive software is challenging. Metamorphic testing is a property-based testing strategy. It recommends that, even if a test case does not reveal any failure, follow-up test cases should be further constructed from the original to check whether the software satisfies some necessary conditions of the problem to be implemented. This work proposes to use isotropic properties of contexts as metamorphic relations for testing context-sensitive software. For instance, distinct points on the same isotropic curve of contexts would entail comparable responses by the components. This notion of testing context relations is novel, robust, and intuitive to users.
TL;DR: An overview of fault injection techniques and their applicability to testing SOAP RPC based Web service systems and a detailed example of the WS-FIT package is given to detect a problem in a Web service based system.
Abstract: This work provides an overview of fault injection techniques and their applicability to testing SOAP RPC based Web service systems. We also give a detailed example of the WS-FIT package and use it to detect a problem in a Web service based system.
TL;DR: The aim of this PhD thesis was to investigate, define and apply a variety of conceptual tools, analysis, testing and restructuring techniques able to support the quality of Web applications.
Abstract: The current situation in the development of Web applications is reminiscent of the early days of software systems, when quality was totally dependent on individual skills and lucky choices. In fact, Web applications are typically developed without following a formalized process model: requirements are not captured and design is not considered; developers quickly move to the implementation phase and deliver the application without testing it. Not differently from more traditional software system, however, the quality of Web applications is a complex, multidimensional attribute that involves several aspects, including correctness, reliability, maintainability, usability, accessibility, performance and conformance to standards. In this context, aim of this PhD thesis was to investigate, define and apply a variety of conceptual tools, analysis, testing and restructuring techniques able to support the quality of Web applications. The goal of analysis and testing is to assess the quality of Web applications during their development and evolution; restructuring aims at improving the quality by suitably changing their structure.
TL;DR: For all that the effectiveness of performance testing in terms of the accuracy of load simulation is a common topic of conversation and concern among people and organizations that build or depend on Web-based applications, testing in such a way as to reliably predict performance is still often more of an art than a science.
Abstract: For all that the effectiveness of performance testing in terms of the accuracy of load simulation is a common topic of conversation and concern among people and organizations that build or depend on Web-based applications, testing a Web site in such a way as to reliably predict performance is still often more of an art than a science. More than a few brilliant minds have dedicated their careers to this complex topic, and several have published detailed and mathematically sound methods to plan for, predict and model performance characteristics very accurately - as long as there is sufficient empirical data to work from.
TL;DR: A comparison tool was developed to validate both the backend data base contents and the front-end Web page contents in the project referred to here, to ensure the reliability of e-commerce applications.
Abstract: The work describes the requirements and constraints of testing a Web application system for the Austrian Chamber of Commerce. It separates the testing task into two parts - one for testing the Web architecture and one for testing the Internet application itself. The high costs of testing an Internet application are driven not only by the complexity of the architecture, but also by the complex usage profiles of the application. Non-functional quality characteristics such as usability, performance, security and interoperability take on particular importance in Web-based systems. Without a staff of skilled testers equipped with automated tools, it is not possible to ensure the reliability of e-commerce applications. The evolution of such systems requires that the evolved application be tested against the old one. In the project referred to here, a comparison tool was developed to validate both the backend data base contents and the front-end Web page contents.
TL;DR: This work presents an abstract model of an infrastructure integrated with an evaluation process, by applying testing strategies based on contextual information of components and user tasks, and shows the components' dynamic interaction by a temporal model from which testing strategies could be more precisely defined and applied.
Abstract: New challenges in software testing arise from evaluating pervasive computing systems, which are a special type of component-based software. Transparent interconnection of components becomes highly important when users need to switch between operative contexts. Dynamic assembly requires evaluating components to ensure they conform to the updated system's requirements, and components semantical information could be analysed with a proper ontology. Thus, our focus is set on semantic interoperability. We present an abstract model of an infrastructure integrated with an evaluation process, by applying testing strategies based on contextual information of components and user tasks. A typical case study is used to present both static and dynamic aspects of participating components. To improve this description we show the components' dynamic interaction by a temporal model from which testing strategies could be more precisely defined and applied.
TL;DR: The motivation of online testing, especially those of Web-based applications, is argued, and some key problems, such as how to reduce the interference to the normal services of system, how to improve the efficiency of onlineTesting, etc. are introduced.
Abstract: Testing of Web-based applications is difficult. Online testing of Web-based applications is more difficult. We argue the motivation of online testing, especially those of Web-based applications. We explain what online testing is, what it concerns, and the difference between online testing and offline testing. We introduce some key problems, such as how to reduce the interference to the normal services of system, how to improve the efficiency of online testing, etc. In the end, current research works including our primary research work were introduced.
TL;DR: The process for Web application testing is modeled, which describes a series of testing flows such as the testing requirement analysis, test cases generation and selection, testing execution, and testing results analysis and measurement.
Abstract: Web application testing is concerned with numerous and complicated testing objects, methods and processes. So a testing framework fitting for the properties of Web application is needed to guide and organize all the testing tasks. Based on the analysis for Web application characters and traditional software testing process, the process for Web application testing is modeled, which describes a series of testing flows such as the testing requirement analysis, test cases generation and selection, testing execution, and testing results analysis and measurement. Furthermore, the realization techniques are also investigated so as to integrate each testing step and implement the whole testing process harmoniously and effectively. Thus the framework is suitable for the Internet environment and can guide the Web application testing actively and availably.
TL;DR: This paper builds a UML model and implemented the prototype for Web Records, a software tool that serves the event management requirements of an organization through a database driven architecture with a web front end and shows how developers can exploit UML and its extension mechanisms in modeling and testing web applications.
Abstract: Web applications have evolved from small web site add-ons to large multi-tiered applications. Many web applications have an impressive number of concurrent users distributed all over the world. Building web applications is serious business, as they are becoming progressively more intricate as well as mission critical. Systematically modeling and testing these applications can help manage their growing complexity. In this paper, we describe an approach for engineering web applications with UML and, as key part of this approach, focus on testing such applications using a strategy we denote ‘combo testing’. Combo testing involves the use of a new modeling construct that we propose, ‘web application compound’ (or, in short, ‘web compound’), and allows thorough verification of functional requirements of web applications via two types of testing: use case-based testing and web compounds unit testing. As an example, we have built a UML model and implemented the prototype for Web Records, a software tool that serves the event management requirements of an organization through a database driven architecture with a web front end. Through Web Records we illustrate our approach and show how developers can exploit UML and its extension mechanisms in modeling and testing web applications.
TL;DR: A study of some existing testing ideologies, technologies and tools in Web testing field and a Web linking model based on Petri net is put forward.
Abstract: With the rapid development of Web applications,people attach more importance to Web application testing which is an important means of guaranteeing Web quality and reliability.In this paper,we make a study of some existing testing ideologies,technologies and tools in Web testing field.Firstly,we describe characteristics of Web application. Secondly,we analyze and compare several testing models,strategies and methods.Finally,we put forward a Web linking model based on Petri net.
TL;DR: The software testing techniques, equivalence partition and path testing, are applied to a real world Web application called "project management and time tracking system" and a reusable design framework aimed specifically at creating reusable Web applications is proposed.
Abstract: We show that how to apply the software testing techniques, equivalence partition and path testing, to a real world Web application called "project management and time tracking system". Our experiments of testing show that the method is simple and efficient and so is one of the practical solutions for testing of Web applications. We also propose a reusable design framework aimed specifically at creating reusable Web applications.
TL;DR: A framework for Web-based software testing that focuses on scalability and evolving the test suite automatically as the application's operational profile changes is designed and an initial prototype is developed that not only demonstrates how existing tools can be used together but provides insight into the cost effectiveness of the overall approach.
Abstract: Low reliability in Web-based applications can result in detrimental effects for business, government, and consumers as they become increasingly dependent on the Internet for routine operations. A short time to market, large user community, demand for continuous availability, and frequent updates motivate automated, cost-effective testing strategies. To investigate the practical tradeoffs of different automated strategies for key components of the Web-based software testing process, we have designed a framework for Web-based software testing that focuses on scalability and evolving the test suite automatically as the application's operational profile changes. We have developed an initial prototype that not only demonstrates how existing tools can be used together but provides insight into the cost effectiveness of the overall approach. This paper describes the testing framework, discusses the issues in building and reusing tools in an integrated manner, and presents a case study that exemplifies the usability, costs, and scalability of the approach.
TL;DR: Two alternative models for white-box testing of a real-world Web application using the navigation model and the control flow model are presented and white- box testing criteria are defined on them.
Abstract: White-box testing exercises a software system by ensuring that a model of the internal structure is covered by the test cases. Extending this approach to Web applications is far from obvious, because at least two abstraction levels can be considered to represent the internal structure of a Web application: the navigation model and the control flow model. To further complicate the matter, dynamic code generation must be taken into account in both models. In this paper, the two alternative models are presented and white-box testing criteria are defined on them. Their usage for the white-box testing of a real-world Web application is described, highlighting the associated costs and benefits.