Testing Processes of Web Applications Susan Cohen
Agenda Brief introduction Web Application Testing Aspects of Web application testing Architectural styles Levels of testing An approach to integration testing Capture/replay Implicit/explicit states Test case generation
Introduction Web applications could benefit from formalized processes, better techniques, and defined methodologies Process model for development of Web applications UML model of Web applications
Web Application Testing Thin Web Client Thick Web Client Web Delivery Thin Web Client: Web applications, Http protocol for message exchange Thick Web ClientWeb Delivery: Traditional Client/Server, Own communication protocol
Non-functional requirements Response time Load testing Computation resources Client server
Functional Requirements – Application as black box Partition legal inputs into equivalence classes Define one or more test cases for each of these classes Use test cases and inputs to generate output pages Deviations considered errors
Functional Requirements: Application as white-box HTML pages and messages exchanged via HTTP are known and drive the definition of test cases Example: Link validation Exploit knowledge of systems organization Server programs, dynamic pages, forms, links, etc
Levels of Testing Unit Test Integration Test System Test Acceptance Test Regression Test Integration and regression test dependent on type of web application
Capture/Recapture of graphical events versus HTTP messages
Approaching Integration Testing of Web Applications Starting point: UML model for the Web application Implicit and Explicit state models Operations cannot be fully automated and user intervention is unavoidable White box testing criteria Page testing Hyperlink testing Definition use testing All-uses testing All paths testing Disregard testing static pages with no forms
Test Case Generation Satisfying white box criteria means selecting a set of paths in the Web application graph Provides input values Explicit state model path selection is independent from input values Can automate path and variable selection Lots more info, but no more time See article for further details
Conclusions Much of the Web application testing process cannot be automated and requires user intervention Much work is still needed in Web application testing tools and techniques
Questions: