building quality into web applications - meeting the challenges of testing and usability paula...

Post on 01-Jan-2016

220 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Building Quality into Web Applications -

Meeting the Challenges of Testing and Usability

Paula Duchnowski CQA, CSTE

paula.duchnowski@compuware.com

(608) 226-8212

2

The challenges of Web testing Special types of tests for Web-based

systems When and how to conduct usability

tests

Topics of Discussion

3Source: Jupiter/NFO Consumer Survey

53%24%

9% 1%13%

53% did not leave the site

24% returned, only after going to competitor’s site

13% did not return to the site after completing session

9% left the site, never returned

1% unknown

Functionality Design Usability Content Scalability Performance

User reaction to web site problems

47% left

site47% left

site

Importance of Quality on the Web

4

Internet Challenges: Process

Primary Challenge: Moving at ‘Web’ speed - how can testing keep pace?

Iterative, incremental OO development methods

Increased focus on Usability Increased focus on Quality: 40% of

users will NOT return to a site if their experience is negative

5

Internet Challenges: Technical

Architecture multi-tiered: Multiple points of failure

Elimination/fuzzy boundaries between customer and business systems

Open access requires strict security

6

Web Testing must be

FAST! Don’t have weeks

to test - maybe days

Risk-based testing

Iterative & incremental

Traditional Waterfall Life Cycle

Analysis

Design

Build

TEST

Implementation

8

Web Development Life Cycle (Web DLC)

Development is iterative

Testing must transform into an iterative and incremental approach that mirrors development

9

What about Iterative Development?

Prototypes & mini-builds that continue to evolve in an incremental and iterative life cycle

Each iteration is tested - depth of test increases

10

What about Iterative Development? (continued)

Testing: As with other deliverables- develop mini-builds of test plans. The test assets will evolve and grow with the application itself until it reaches its final maturity

Will need test environment early to perform some level of verification on prototypes and other iterations

11

Link verification & continuity Configuration tests Security Load and performance testing Usability testing

Web - More Types of Tests

12

Link Verification and Continuity

Verification: each link has to have a destination

Continuity: each link goes to the proper destination

13

Link Verification Tools that can

evaluate missing / dead links

Difficult to test all links manually

Tools won’t test link continuity

14

Platformand Browser Tests

INTERNET 4.0 INTERNET 5.0 NETSCAPE 4.5 NETSCAPE 4.6 AOL

WINDOWS NT

WINDOWS 98

WINDOWS 95

WINDOWS2000

MacIntosh (?)

15

Configuration / Platform Too many combinations to

realistically test ALL Know user profile

– Most common configurations Full test on one or two

configurations Sub-set of tests on other

support configurations

16

Configuration Testing Don’t wait ’til

final stages Supported

configurations will impact design

Test early on different combinations

Need a LAB

I can’t believe I didn’t test this in

Netscape!

17

Security Testing Validates that the

application is protected from unauthorized use

Ensures data protected from unauthorized access and/or modification

18

Security Testing (continued) Security needs to be

considered through all phases of a project

Define a Security Policy and tailor for risk facing a certain system

Tests focus on ensuring that policies are followed

19

Common Security Considerations

Password security Encryption of data (including

passwords!) Firewalls Data access by non-UI means Virus detection Transmission logging Physical security

20

Stress & Load Testing Subject site to extreme

conditions (high transaction volume, large database size, etc.

Identifies impact of system on processing time, storage and other applications

Know customer & transaction profile

21

Stress and Load Testing Measure the Following

Breaking point: a.k.a. “performance knee”

Throughput: Hits per second that system supports

Response time: Time to respond to a piece of information

Download time: Time to load images Round-trip time: Total transaction time

(include connection & processing)

22

More Stress and Load Things to Measure

Stress the servers, network, and database

Monitor: – CPU usage– Disk space– Memory utilization– Memory leaks

23

Usability Testing

An objective and efficient way to assess how well your Web site works for target users

24

Usability Testing Measures

Ease of use Ease of learning Appeal Efficiency

Usability testing measures your site at any stage of development for:

25

Why Usability Testa Web Site

The average Web site has 11 “usability catastrophes” that prevent users from completing a task (Nielsen)

On average, only 42% of users are able to find specific information on the Web (Spool)

If their first experience is negative, 40% of users will not return to a site

26

Benefits ofUsability Testing

Increase the user’s task efficiency and success rate

Find problems early in design and correct them

Increase sales Gain repeat users Increase user satisfaction

27

Primary Usability Techniques

Prototyping– Paper or online (low-fi or hi-fi)

Heuristic evaluation by usability expert

Observation– Various user profiles

Recording and analysis of user sessions

28

Usability Testing Equipment

Paper

Pen/markers

Post-its

Stopwatch

Tape recorder

Computer w/logging software

Usability Lab

Simple …………….. to Complex

29

Activities in the Web DLC to assure Web site Quality

30

Analysis

Identify testing requirements by developing the testing strategy

Project requirements should consider security, usability, configuration

31

Design Develop test cases Usability test design

– Use white board drawings– Paper Prototypes

Prepare the test environment: Create lab

Install test tools

32

Design (continued) Facilitate review of key work

products Train test team Establish defect repository Update test strategy Develop Unit Test Checklists

33

Build Conduct Unit testing Develop test cases Develop test scripts Facilitate code reviews

34

Build (continued) Create / maintain test data Finalize Test environment Create / maintain test data Track defects

35

Test Test execution

– For tests identified in the test strategy

Track & monitor defects Analyze test results Develop testing

summary reports Establish regression

test suite

36

Test - Usability Test with

different users Test online

prototypes Record and/or

observe user experiences

37

Implementation Regression test

enhancements / fixes

Continue to track defects

Conduct usability tests to identify improvements / enhancements

38

The challenges of Web testing Special types of tests for Web-based

systems When and how to conduct usability

tests

Summary

39

Comments? Questions?

Q&A

top related