130 likes | 272 Views
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.
E N D
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 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
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