Testing Processes of Web Applications Susan Cohen

Preview:

Citation preview

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 Client Web 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 casesExample: 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:

Recommended