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

30

Upload: brianne-hines

Post on 12-Jan-2016

248 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing
Page 2: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

Objectives

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

Page 3: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation 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

Page 4: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 5: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

Testing Concepts:1

WebApp testing A collection of related activities to

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

Page 6: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 7: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

Web-Testing: Challenges

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

Page 8: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

Dimensions of Quality

WebApp design Evaluated by Review/inspection Testing

Page 9: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation 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

Page 10: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 11: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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?

Page 12: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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 …

Page 13: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 14: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 15: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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. …

Page 16: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

Web testing: Content Testing Content testing objectives include

Uncover syntactic errors Typographical Spelling etc

Use proper tools (e.g. Spell checkers)

Page 17: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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 …

Page 18: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 19: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 20: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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)

Page 21: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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) …

Page 22: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 23: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 24: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 25: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation 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

Page 26: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 27: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 28: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

Compatibility testing

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

Page 29: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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

Page 30: Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing

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?