Building Quality into Web Applications - Meeting the Challenges of Testing and Usability Paula...
-
Upload
florence-nash -
Category
Documents
-
view
218 -
download
3
Transcript of Building Quality into Web Applications - Meeting the Challenges of Testing and Usability Paula...
Building Quality into Web Applications -
Meeting the Challenges of Testing and Usability
Paula Duchnowski CQA, CSTE
(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