objectives testing concepts for webapps testing process content testing user interface testing ...

Post on 12-Jan-2016

248 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Objectives

Testing Concepts for WebApps Testing Process Content Testing User Interface Testing Component-level testing Navigation Testing Configuration Testing Security Testing Performance Testing

Web-testing?

To understand the testing objectives of web, Need to understand a set of quality and Need to understand the environment in

which web-application is configured

Web Application Quality:

Web Quality

Usability FunctionalityEfficiency

Reliability Maintainability

simplicity

Help feature

GUI & Aesthetic

Researchingretrieving

Navigation/browsing

Special features

Response Time,

Pg generation speed

Graphic generation

speed

Correct link processing

Error recovery

I/O validation

Ease ofcorrection

adaptability

extensibility

Security

Testing Concepts:1

WebApp testing A collection of related activities to

uncover errors Content (Data) Capability (functionality) Quality (non-functionality)

Testing Concepts:2

Who does it? Web designer (or engineer)

Why is important? Customers loss confidence Business loss because customer may go

to different sites

Web-Testing: Challenges

Main difficulty to localize errors due to OS NTW HW/SW

Dimensions of Quality

WebApp design Evaluated by Review/inspection Testing

Evaluation and Quality

Both Static/dynamic testing work with dimension of quality Content:

Syntactic and semantics Functions:

Customer expectation is tested Usability:

ease of use Compatibility:

test under different HW/SW Navigability:

ease of navigation (e.g., deadlinks) Interoperability:

ease of interfacing with different applications Security: vulnerabilities maintainability:

ease of change Performance:

Speed under different OSs

Characteristics of errors in Webapp Localizing error in webapp is

different from traditional applications Characteristics of errors in WebApp

Interfacing errors (PDA/Mobile phone, etc)

Configuration errors Client/Server errors

Testing Strategies?

What kind of testing strategy can be adopted for WebApp?

Is there any testing pattern that can be adopted for Webapp?

Can we use the architecture of a system?

Web testing

The steps that can be used to detect errors in webapp Review Content model Review Interface model (all use-cases,

usability) Review design for navigation Review design for maintenance Test for security Test for performance Test for usability concerns …

WebApp Test Planning

planning is a roadmap for all work that follows

A WebApp test plan identifies A task set to be applied as testing begin The work products to be created as each

task is implemented The assessment by which the test

results is evaluated, recorded, and reused

The testing process

Test Content

Security test

Performance testingConf. test

Test Components (pg)

Test navigation (link, menu, etc)

test Interface

Used for Integration testing

GUI design, graphic design, Content design,

navigation design,Architecture designComponent design

WebAPP Testing: Process or Task set Process

1. Review stakeholder needs and key requirements2. Set the priorities3. Define testing strategy using the content structure

(linear, grid, hierarchy, NTW, etc)4. Define a test schedule 5. Assign responsibilities for tasks6. Perform unit test (pages)7. Perform integration test using navigations and content 8. Perform configuration (assess C-side and S-side for

configurability)9. Perform load or other testing for performance10. Perform security testing (try to break your own system)11. Perform Usability testing12. …

Web testing: Content Testing Content testing objectives include

Uncover syntactic errors Typographical Spelling etc

Use proper tools (e.g. Spell checkers)

Content Testing: Test for Semantics errors

Uncover semantics errors by testing Accuracy of info (executable testing (e.g.

DB)) Consistency of info ( Internal vs external). Testing for offensive material (e.g.

copyright, offensive, etc) Readability Graphic style …

e.g. test for Accuracy of info in Database (DB) WebApp works with sophisticated DBMS

e.g. airline reservation system The objective is to identify the

following problems Mismatch between SQL query and user

requests Communication errors due to remote DB

and web-server Compatibility of raw data from DB to the

original requesters

Layer of interface and test design

Client layer (user interface)

Sever layer (webapp)

Server layer (data Transformation)

Server layer (data mgt)

Database layer (data access)

DB

HTML scripts

User Data

User Data to SQL

Raw Data/SQL

Need test cases design methods for each layer of interaction

Web Testing: GUI Testing

GUI Testing V&V of a web-app for GUI takes place

During requirements analysis ( conformance to the user requirements)

During design ( ensure generic quality for all user have been met)

During testing (execute both generic and application specific features of GUI)

Checklist for Interface testing Testing interface structure (or syntax)

Links Forms C-side scripting Dynamic HTML Pop-up windows CGI scripts Streaming content Cookies (both sides (C/S), content, expiration date) Application specific interface mechanism (check out

request) …

Example the list of interface features

Animation Buttons Color Control Dialoged Fields Forms Frames Graphs Labels Links Menus Messages Navigation Pages Selectors Text Tool bars

Usability?

What is usability? How quickly people can learn to use

something How efficient they are while using it How memorable it is How error-prone it is How much users like using it

Testing interface for Usability Test how good user can interact with

webApp? usability testing

Usability test designed by web engineer evaluated by end-users

What is usability measure? can the site be used at all

Web-wide tasks has been widely used for usability testing

Steps to perform Usability Testing The following process can be used

1. Define a set of usability testing categories (accessibility, comfortably, etc)

2. Identify goals for each categories3. identify participants who will conduct

the tests4. Develop a mechanism for assessing

the usability of the WebApp

Qualitative assessment of usability Qualitative assessment of usability

Ease of use Easy to learn Simplicity Effectiveness

Ease of understandability Clear Informative

Ease of Predictability Inconsistent Generally uniform predicable

Component level testing (function)

Driven by form level input Can be tested using Black box

techniques Equivalence partition Boundary value analysis Path testing

Needed if the logical complexity of the function is high

Compatibility testing

WebApp must work within different environments Different computers Display devices Different OS Different Browsers

Summary

The main objective for webApp testing include Exercise each of quality/functionality

dimensions of WebApp to locate the errors

Tests are driven by users and/or specification in the form of use-case scenarios

Open questions

How to perform compatibility testing? Server side Client side

How to perform quality testing? How to specify usability? Security?

What are the coverage criteria for Content? GUI? Navigation?

top related