SlideShare a Scribd company logo
1 of 59
1
© Copyright 2015 Ioan Toma, Srdjan Komazec, Nelia Lassiera
Web Engineering
Testing and Usability of Web Applications
2
Where are we?
# Date Title
1 5th March Web Engineering Introduction and Overview
2 12th March Requirements Engineering for Web Applications
3 19th March Web Application Modeling
4 26th March Web Application Architectures
5 16th April Developing Applications with WebML
6 23rd April Testing and Usability
7 30th April Web Technologies I
8 7th May Web Technologies II
9 21th May Web Application Development Process
10 28th May Project Management for Web Applications
11 11th June Web Application Security
12 18th June Mobile Application Development
13 25th June Final Exam
3
Overview
• Introduction
• Fundamentals of Testing on the Web
• Methods and techniques to Test Web Applications
• Automatic Web application Testing
• Fundamentals of Usability on the Web
• Summary
4
INTRODUCTION
5
Testing and Usability
• Testing
– Checking the conformance of the application versus its design requirements
– Oriented to functional aspects
• Usability
– Designing and verifying the conformance of the application versus its user ability and
capability of interaction
– Oriented to non-functional aspects
• Testing and Usability are orthogonal aspects
– In some cases they slightly overlap!
6
The Importance of Testing
• Traditionally, testing has focused on functional requirements – not
enough for Web applications.
• On the Web, testing is a critical measure of quality assurance.
– Meeting users’ expectations
– Finding errors and shortcomings
– Many users, many platforms
– Behavior of third-party software
7
The Importance of Usability
• “Mission critical” Web applications
• Poor design leads to lost time, productivity
• Your website speaks for your organization
– Customers have choices
– Easy come, easy go
• Diverse contexts
– Proliferation of web-enabled devices
– Increasing adoption by special needs groups – ex. seniors
8
FUNDAMENTALS OF TESTING
ON THE WEB
What are the peculiarity of testing Web applications?
9
Terminology
• Some definitions
– Testing: An activity conducted to evaluate the quality of a product to improve it by
identifying defects and problems.
– Error: the actual result deviates from the expected.
• Our expected results should (theoretically) come from our requirements definition.
• Most often, the goals/concerns/expectations of stakeholders serve as the testing basis.
– Test case: a set of inputs, execution conditions, and expected results for testing an
object.
10
Testing Objectives
• Main objective: find errors, NOT show that none exist.
• Complete test coverage is impossible, so testing focuses on mitigating
the largest risks.
– Where’s the greatest potential for loss?
– What are the sources of this risk?
• Start testing as early as possible – even with restricted resources and
time.
11
Testing Levels
• Unit tests:
– Testing the “atomic” units - classes, Web pages, etc. - independently.
(Developer)
• Integration tests:
– Test the interaction of units (Tester & Developer)
• System tests:
– Testing the whole, integrated system (Dedicated team)
• Acceptance tests:
– “Real-world” tests – testing under conditions that are as close to the
“live” environment as possible (Client)
• Beta tests:
– Informal, product-wide tests conducted by “friendly” users.
12
The Tester Role
• The ideal tester has a “destructive” attitude.
• Very difficult for developers to “destroy” their own work.
• However, Web projects focus heavily on unit tests, making them more
prone to errors.
• Thus, some guidelines:
– Have others in the Web team perform tests.
– Best tester is the one who gets the most bugs fixed.
13
Web Engineering Specifics 1
• Errors in Web content
– Found mainly through proofreading - very costly
– Alternative tests: Spell-checking, meta-information
• Hypertext structure
– Is each page accessible via a link?
– Does each page link to the hypertext structure?
– Are there any broken links?
– What happens when the user hits “Back” in their browser?
14
Web Engineering Specifics 2
• Subjective requirements for presentation
– Often in the eye of the beholder (e.g., aesthetics).
– Tester must distinguish accepted behavior from faulty.
– Presentation testing on the Web borrows from print publishing.
• Multi-platform delivery
– Can you test on every device?
– Can you create test cases on every device?
– Simulators are frequently available, but may be buggy.
15
Web Engineering Specifics 3
• Global availability
– Testing dynamic content in multiple languages
– Testing for layout difficulties due to varying text lengths.
• Juvenility & Multidisciplinarity of Web team
– Reluctance to accept testing methods.
– Lack of testing knowledge.
– Consensus-building is required.
– May do too much testing; just as bad as too little.
16
Web Engineering Specifics 4
• Multiple System Components
– Third-party; different platforms.
– Testing of the components’ integration and configuration is also required.
• Immaturity of test methods
– Suitable test suites for new technologies often don’t exist, or are poorly designed.
• Continuous change
– Requirements, hardware, software changes.
– Retest following each major upgrade.
17
METHODS AND TECHNIQUES
TO TEST WEB APPLICATIONS
How can I test my Web application?
18
Link Testing
• Finding broken links
– Can be automated through a spider
– Doesn’t help for pages with no incoming links.
• Finding orphan pages
– Orphans are pages with no links back to the navigation structure.
– Users get frustrated and leave.
• Capturing statistics
– Depth & breadth of navigation.
– Distance between two related pages.
– # of links.
– Load times.
19
Browser Testing
• Browsers vary by:
– Manufacturer
– Version
– Operating system
– Device
– Configuration (stylesheets, JavaScript on/off)
– W3C Standard compliance
• Important questions to ask:
– How is state managed?
– Can a (dynamic) web page be bookmarked?
– Can users open multiple windows?
– What happens when cookies and/or scripting is turned off?
20
Load Testing
• Does the system meet required response times and throughput?
• Load profile - expected access types, visits per day, transaction types,
transactions per session, etc.
• Must determine the range of values for response times and throughput.
• Evaluate the results to look for bottlenecks.
21
Stress Testing
• How does the system behave under abnormal/extreme conditions?
• The test should tell you…
– If the system meets the target responses times and throughputs
– If the system responds with an appropriate error message. (i.e. graceful degradation)
– If the system crashes (it should NOT!)
– How quickly the system recovers to normal operation.
22
Continuous Testing
• Simulates usage over a long period of time
• Testing for errors that “pop up” because resources aren’t released by an
operation.
– Unreleased database connections
– Other memory leaks
• Typically, running the operation a few times doesn’t produce an error,
hence the need for continuous testing.
23
Security Testing
• A systematic test scheme is strongly encouraged.
• Testing for correctness is not sufficient
– Is confidential data inadvertently exposed?
– What happens if we input incomplete data?
– What happens if we inject malicious code?
– SSL-encrypted pages
• Is our SSL certificate working?
• What happens if I try to access a protected page/site in a non-secure way (i.e., http://)?
Taken from XKCD (http://imgs.xkcd.com/comics/exploits_of_a_mom.png)
24
Test-Driven Development
• Inspired by the test-first approach used in XP (eXtreme Programming);
can be used in any type of project.
• Tests must be written before implementation.
– Every unit has a test.
– When a test fails, the developer must only change the code to successfully run the
test.
• Developers can concentrate on small steps, while still making clean
code that works.
• More pressure leads to more testing.
25
AUTOMATIC WEB
APPLICATION TESTING
How can we reduce the cost of Web application testing?
26
JUnit Overview
• Open source Java testing framework used to write and run repeatable
automated tests
• A structure for writing test drivers
• JUnit features include:
– Assertions for testing expected results
– Test features for sharing common test data
– Test suites for easily organizing and running tests
– Graphical and textual test runners
• JUnit is widely used in industry
• JUnit can be used as stand alone Java programs (from the command
line) or within an IDE such as Eclipse
27
Cactus Overview
• Built on Junit framework
• Intended to test JSP, Servlets, EJBs, Filters, and custom tags
• Complex architecture that has client JVM call the J2EE application
server JVM
• Testcase classes must reside on client and server
28
Other JUnit Extensions
• HttpUnit
– Parses HTML results into DOM
– Easy link navigation and form population
– Useful for automated acceptance tests
• Canoo WebTest
– HttpUnit inside Ant
• JUnitPerf
– Wrap any JUnit tests
– Measure desired performance and scalability tolerances
29
Automating Testing - Advantages
• Some tests are impossible to perform manually.
– Load & stress tests.
– Link testing for large websites.
• More tests can be run in less time.
• When updating an application, can detect errors caused by side-effects
to unchanged functionality.
30
Automating Testing - Disadvantages
• Expectations of automated testing is often too high.
– Automation does NOT improve effectiveness.
– If tests are poorly devised, automating them does not magically improve them.
• Automation is expensive
– Test execution infrastructure must be maintained.
– License fees & training costs
31
FUNDAMENTALS OF
USABILITY ON THE WEB
How to design usable Web applications?
32
Usability Defined
• ISO/IEC standard definition (1998):
– “[T]he extent to which a product can be used by specified users within a specified
usage context to achieve specified goals effectively, efficiently, and satisfactorily.”
• Usability engineering is an ongoing, but critical process
– Define user and task models
– Iteratively test and reevaluate
– User-based vs. expert methods
33
Defining Usability in Web Applications
• Traditional software usability specifics do not necessarily carry over to
the Web:
– People use your application immediately.
– No manual or trainers.
– No salespeople.
• How to categorize users?
– First-time or returning?
– Expert or novice?
– Broadband or dial-up?
– Desktop or mobile?
34
Top Problems
• Contact information – address or phone number is buried
• Search function is not visible or unclear as to functionality
• No easy way to get back to critical points
• Pages that should load fast don’t (e.g. main page or key link page)
• “What’s new” is old
• Back button requires a repost of data
35
Usability Engineering
• Consists of 4 phases that are essentially parallel to the Web
Engineering process
Usability Engineering
Web Engineering
Analysis Design Coding Testing Maintenance
Analysis Design Implementation Operation
36
User-Centered vs. Usage-Centered
Phase Focal Points
User-Centered
(Traditional)
Usage-Centered
(Web)
Requirements Meetings, interviews,
focus groups
Competitive analysis;
Task analysis &
models
Design &
Implementation
User requirements
Direct user
participation
Models
Inspection & remote
testing
Operation Training, evaluation
of help-desk logs
Log file analysis;
server stats; user
feedback analysis
37
Requirements Analysis
• Systems Analysts & Usability Experts take the lead:
– Competitive Analysis
– Define qualitative/quantitative goals
• Information, Entertainment, Exchange (Siegel)
• Make them concrete and testable!
– User-centered: build user profiles
– Usage-centered
• Task analysis
• Ease-of-use or Ease-of-learning?
38
Interaction and Design
• Initially, the Interface Designer builds a conceptual model
– Presentation: Storyboards & Paper mock-ups
– Navigation: Card-sorting
– Based on core use cases
– Shows the basic structure
• Getting feedback from potential users
• Usability expert provides input after this first round.
39
Interaction and Design
• Designer and coders can then elaborate on the details
• Additional user testing:
– Prototypes – exhibit some functionality
– Usability Tests – real context, real tasks.
• Remote usability testing
– Sample of representative users
– Client-Logging software
– Web-cams if possible
– Better external validity & lower costs(?)
40
Coding and Post-Deployment
• Usability Expert assumes the role of the Quality Assurance manager.
– Consistency?
– Observed guidelines & standards?
– Adhered to (current) requirements?
• Bring same users back in for testing, if possible.
• Document, document, document!
41
General Design Guidelines
• Design guidelines represent best practices
• OK for “general” users
– Normal cognitive ability
– Normal audiovisual abilities
• Some guidelines may be inappropriate for audience members with
special needs.
– Ex. Navigation elements for schizophrenics
• More rigorous usability engineering techniques (just discussed) should
be employed
42
Human Information Processing
• Human cognition plays a critical role in user interface design.
– Perception
• Positioning, grouping, arranging
• Perceiving shapes and relationships
– Memory
• Limitations of working memory
• Chunking, 7 + 2 (Miller)
– Attention
• Focusing on one aspect
• Movement, color schemes
43
Guidelines – Response Times
• As response times increase, user satisfaction decreases
– Anything greater than 3 seconds, and the user becomes aware she’s waiting
– After 10 seconds, user gives up
• Optimize, or minimize graphics
• Consider breaking up large pages.
• <img> - use “width” & “height” attributes
• Don’t forget your dial-up audience!
– Home page size should be < 50Kb
– Provide warnings (MPG – 2.5Mb)
44
Guidelines – Efficiency
• Minimize distance between clickable elements (while keeping effective
sizing)
• Avoid frequent changes between mouse and keyboard
• Tab-friendly for text-based browsers
• Minimize clicks to accomplish tasks (rule of thumb: no more than 4
clicks)
45
Guidelines – Colors
• Colors have different meaning depending on your audience
– Cultural differences
– Domain-specific meanings
– Warm vs. cool colors
• Make sure all information conveyed by colors is also available without
color.
• Minimize the number of colors
• Avoid extreme hues, highly saturated colors
• How does your site look on an LCD? CRT?
46
Guidelines – Text Layout
• Screen vs. Paper
• Consider different window sizes
– Avoid fixed width layouts
– Avoid multiple columns (typically)
• Readability
– Sans-serif for screen, serif for print
– Avoid patterns, low-contrast background
– Short paragraphs
• Allow for user-selected font-sizes
47
Guidelines – Page Structure
• Display considerations
• Use relative positioning over absolute.
• Vertical scrolling is fine; horizontal scrolling is NOT.
• Important elements should ALWAYS be visible.
• Make page print-friendly or provide alternative style & print button.
48
Guidelines – Navigation
• Provide your user with a model of the site
– Intuitive navigation elements
– Site map
– Breadcrumbs
• Dropdown menus
– Pros: Efficient use of space
– Cons: Key information is hidden
49
Guidelines – Multicultural
• Location is typically not a constraint on the Web.
• “Smallest common cultural denominator”:
– Avoid over-expressive colors
– Symbols
– Language
– Information representation (date/time formats)
• Present form elements consistently
50
Guidelines – Consistency
• Consistency keeps learning to a minimum; users don’t want to have to
think!
• Identity can be set by consistent components
– Header: home, logo, navigation, search, help
– Footer: author, modification, contact
• Consistent design helps users avoid getting lost, especially when
jumping to different sub-units of an organization.
51
More on Web Accessibility
• People with disabilities are adopting the Web in greater numbers.
• Tim Berners-Lee stressed universal access to the Web as essential.
• 20% of the world’s population have disabilities in at least one of the
senses.
• Key takeaways:
– Designing for special needs doesn’t necessarily require reinventing your application.
– Doing so can also help “general” users
52
Web Accessibility Initiative (WAI)
• Web Content Accessibility Guidelines 2.0 (WCAG, 2008) published by
the W3C’s WAI
• 12 Guidelines
• 4 Groups
1) Perceivable
2) Operable
3) Understandable
4) Robust
• Defines Special Needs Groups
• Conformance Levels (A, AA, AAA)
53
WRAP-UP
That’s almost all for day…
54
Things to keep in mind
(or summary)
• Testing and Usability are orthogonal issues
– Testing covers functional requirements validation
– Usability tends to cover “non-functional” requirements validation (this is not totally
exact)
• Both are part of a good (Web) application design process
• They can be partially automated
• Key differences
– Testing deals mainly with in house and (rarely) external developers and end users
– Usability relies on expertise outside “technological world”
55
Bibliography
• Mandatory reading
– Kappel, G., Proll, B. Reich, S. & Retschitzegger, W. (2006). Web Engineering, Wiley &
Sons. 7th and 11th Chapter
• Other References
– Kent Beck, eXtreme Programming Explained
– http://www.usability.gov/
56
Testing Tools
• JUnit.org
– http://www.junit.org
• Cactus
– http://jakarta.apache.org/cactus
• Clover
– http://www.thecortex.net/clover
• dbUnit
– http://www.dbunit.org
• HttpUnit
– http://www.httpunit.org
• Canoo WebTest
– http://webtest.canoo.com
• Selenium
– http://www.seleniumhq.org/
57
Usability Tools
• Development
– Firefox Developer Toolbar (http://chrispederick.com/work/web-developer/)
• Testing
– http://www.fujitsu.com/global/accessibility/assistance/wi/
– http://webusability.com/usability_tools.htm
– http://wave.webaim.org/
• Comprehensive list of WAI tools
– http://www.w3.org/WAI/ER/tools/complete
58
Where are we?
# Date Title
1 5th March Web Engineering Introduction and Overview
2 12th March Requirements Engineering for Web Applications
3 19th March Web Application Modeling
4 26th March Web Application Architectures
5 16th April Developing Applications with WebML
6 23rd April Testing and Usability
7 30th April Web Technologies I
8 7th May Web Technologies II
9 21th May Web Application Development Process
10 28th May Project Management for Web Applications
11 11th June Web Application Security
12 18th June Mobile Application Development
13 25th June Final Exam
59
Questions?

More Related Content

Similar to WE-06-Testing.ppt

An Automation Culture: The Key to Agile Success
An Automation Culture: The Key to Agile SuccessAn Automation Culture: The Key to Agile Success
An Automation Culture: The Key to Agile SuccessTechWell
 
Cross Browser Testing: El reto de la eficiencia
Cross Browser Testing: El reto de la eficienciaCross Browser Testing: El reto de la eficiencia
Cross Browser Testing: El reto de la eficienciaSoftware Guru
 
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...Esraa Farrag
 
Other Testing Types
Other Testing TypesOther Testing Types
Other Testing TypesRajathi-QA
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.pptAnilKumarARS
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool OverviewANKUR-BA
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools OverviewSachin-QA
 
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-54&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5hemasubbu08
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous TestingParasoft
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...Roberto Pérez Alcolea
 
Testing web based applications
Testing web based applicationsTesting web based applications
Testing web based applicationsTeniola Alimi
 
How Oracle Integrates Accessibility into the Development Process
How Oracle Integrates Accessibility into the Development ProcessHow Oracle Integrates Accessibility into the Development Process
How Oracle Integrates Accessibility into the Development Process3Play Media
 
Sucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QASucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QASucheta Kale
 
Bugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfBugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfNitisak Mooltreesri
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Testplant
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test AutomationKlaus Salchner
 
Test Strategies in Microservices
Test Strategies in MicroservicesTest Strategies in Microservices
Test Strategies in MicroservicesMesut Özen
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Dakiry
 
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and TacticalTLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and TacticalAnna Royzman
 

Similar to WE-06-Testing.ppt (20)

An Automation Culture: The Key to Agile Success
An Automation Culture: The Key to Agile SuccessAn Automation Culture: The Key to Agile Success
An Automation Culture: The Key to Agile Success
 
Cross Browser Testing: El reto de la eficiencia
Cross Browser Testing: El reto de la eficienciaCross Browser Testing: El reto de la eficiencia
Cross Browser Testing: El reto de la eficiencia
 
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
 
Other Testing Types
Other Testing TypesOther Testing Types
Other Testing Types
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-54&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
 
Testing web based applications
Testing web based applicationsTesting web based applications
Testing web based applications
 
How Oracle Integrates Accessibility into the Development Process
How Oracle Integrates Accessibility into the Development ProcessHow Oracle Integrates Accessibility into the Development Process
How Oracle Integrates Accessibility into the Development Process
 
Sucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QASucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QA
 
Bugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfBugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perf
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test Automation
 
Test Strategies in Microservices
Test Strategies in MicroservicesTest Strategies in Microservices
Test Strategies in Microservices
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
 
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and TacticalTLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
 
Software testing
Software testingSoftware testing
Software testing
 

Recently uploaded

Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 

Recently uploaded (20)

Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 

WE-06-Testing.ppt

  • 1. 1 © Copyright 2015 Ioan Toma, Srdjan Komazec, Nelia Lassiera Web Engineering Testing and Usability of Web Applications
  • 2. 2 Where are we? # Date Title 1 5th March Web Engineering Introduction and Overview 2 12th March Requirements Engineering for Web Applications 3 19th March Web Application Modeling 4 26th March Web Application Architectures 5 16th April Developing Applications with WebML 6 23rd April Testing and Usability 7 30th April Web Technologies I 8 7th May Web Technologies II 9 21th May Web Application Development Process 10 28th May Project Management for Web Applications 11 11th June Web Application Security 12 18th June Mobile Application Development 13 25th June Final Exam
  • 3. 3 Overview • Introduction • Fundamentals of Testing on the Web • Methods and techniques to Test Web Applications • Automatic Web application Testing • Fundamentals of Usability on the Web • Summary
  • 5. 5 Testing and Usability • Testing – Checking the conformance of the application versus its design requirements – Oriented to functional aspects • Usability – Designing and verifying the conformance of the application versus its user ability and capability of interaction – Oriented to non-functional aspects • Testing and Usability are orthogonal aspects – In some cases they slightly overlap!
  • 6. 6 The Importance of Testing • Traditionally, testing has focused on functional requirements – not enough for Web applications. • On the Web, testing is a critical measure of quality assurance. – Meeting users’ expectations – Finding errors and shortcomings – Many users, many platforms – Behavior of third-party software
  • 7. 7 The Importance of Usability • “Mission critical” Web applications • Poor design leads to lost time, productivity • Your website speaks for your organization – Customers have choices – Easy come, easy go • Diverse contexts – Proliferation of web-enabled devices – Increasing adoption by special needs groups – ex. seniors
  • 8. 8 FUNDAMENTALS OF TESTING ON THE WEB What are the peculiarity of testing Web applications?
  • 9. 9 Terminology • Some definitions – Testing: An activity conducted to evaluate the quality of a product to improve it by identifying defects and problems. – Error: the actual result deviates from the expected. • Our expected results should (theoretically) come from our requirements definition. • Most often, the goals/concerns/expectations of stakeholders serve as the testing basis. – Test case: a set of inputs, execution conditions, and expected results for testing an object.
  • 10. 10 Testing Objectives • Main objective: find errors, NOT show that none exist. • Complete test coverage is impossible, so testing focuses on mitigating the largest risks. – Where’s the greatest potential for loss? – What are the sources of this risk? • Start testing as early as possible – even with restricted resources and time.
  • 11. 11 Testing Levels • Unit tests: – Testing the “atomic” units - classes, Web pages, etc. - independently. (Developer) • Integration tests: – Test the interaction of units (Tester & Developer) • System tests: – Testing the whole, integrated system (Dedicated team) • Acceptance tests: – “Real-world” tests – testing under conditions that are as close to the “live” environment as possible (Client) • Beta tests: – Informal, product-wide tests conducted by “friendly” users.
  • 12. 12 The Tester Role • The ideal tester has a “destructive” attitude. • Very difficult for developers to “destroy” their own work. • However, Web projects focus heavily on unit tests, making them more prone to errors. • Thus, some guidelines: – Have others in the Web team perform tests. – Best tester is the one who gets the most bugs fixed.
  • 13. 13 Web Engineering Specifics 1 • Errors in Web content – Found mainly through proofreading - very costly – Alternative tests: Spell-checking, meta-information • Hypertext structure – Is each page accessible via a link? – Does each page link to the hypertext structure? – Are there any broken links? – What happens when the user hits “Back” in their browser?
  • 14. 14 Web Engineering Specifics 2 • Subjective requirements for presentation – Often in the eye of the beholder (e.g., aesthetics). – Tester must distinguish accepted behavior from faulty. – Presentation testing on the Web borrows from print publishing. • Multi-platform delivery – Can you test on every device? – Can you create test cases on every device? – Simulators are frequently available, but may be buggy.
  • 15. 15 Web Engineering Specifics 3 • Global availability – Testing dynamic content in multiple languages – Testing for layout difficulties due to varying text lengths. • Juvenility & Multidisciplinarity of Web team – Reluctance to accept testing methods. – Lack of testing knowledge. – Consensus-building is required. – May do too much testing; just as bad as too little.
  • 16. 16 Web Engineering Specifics 4 • Multiple System Components – Third-party; different platforms. – Testing of the components’ integration and configuration is also required. • Immaturity of test methods – Suitable test suites for new technologies often don’t exist, or are poorly designed. • Continuous change – Requirements, hardware, software changes. – Retest following each major upgrade.
  • 17. 17 METHODS AND TECHNIQUES TO TEST WEB APPLICATIONS How can I test my Web application?
  • 18. 18 Link Testing • Finding broken links – Can be automated through a spider – Doesn’t help for pages with no incoming links. • Finding orphan pages – Orphans are pages with no links back to the navigation structure. – Users get frustrated and leave. • Capturing statistics – Depth & breadth of navigation. – Distance between two related pages. – # of links. – Load times.
  • 19. 19 Browser Testing • Browsers vary by: – Manufacturer – Version – Operating system – Device – Configuration (stylesheets, JavaScript on/off) – W3C Standard compliance • Important questions to ask: – How is state managed? – Can a (dynamic) web page be bookmarked? – Can users open multiple windows? – What happens when cookies and/or scripting is turned off?
  • 20. 20 Load Testing • Does the system meet required response times and throughput? • Load profile - expected access types, visits per day, transaction types, transactions per session, etc. • Must determine the range of values for response times and throughput. • Evaluate the results to look for bottlenecks.
  • 21. 21 Stress Testing • How does the system behave under abnormal/extreme conditions? • The test should tell you… – If the system meets the target responses times and throughputs – If the system responds with an appropriate error message. (i.e. graceful degradation) – If the system crashes (it should NOT!) – How quickly the system recovers to normal operation.
  • 22. 22 Continuous Testing • Simulates usage over a long period of time • Testing for errors that “pop up” because resources aren’t released by an operation. – Unreleased database connections – Other memory leaks • Typically, running the operation a few times doesn’t produce an error, hence the need for continuous testing.
  • 23. 23 Security Testing • A systematic test scheme is strongly encouraged. • Testing for correctness is not sufficient – Is confidential data inadvertently exposed? – What happens if we input incomplete data? – What happens if we inject malicious code? – SSL-encrypted pages • Is our SSL certificate working? • What happens if I try to access a protected page/site in a non-secure way (i.e., http://)? Taken from XKCD (http://imgs.xkcd.com/comics/exploits_of_a_mom.png)
  • 24. 24 Test-Driven Development • Inspired by the test-first approach used in XP (eXtreme Programming); can be used in any type of project. • Tests must be written before implementation. – Every unit has a test. – When a test fails, the developer must only change the code to successfully run the test. • Developers can concentrate on small steps, while still making clean code that works. • More pressure leads to more testing.
  • 25. 25 AUTOMATIC WEB APPLICATION TESTING How can we reduce the cost of Web application testing?
  • 26. 26 JUnit Overview • Open source Java testing framework used to write and run repeatable automated tests • A structure for writing test drivers • JUnit features include: – Assertions for testing expected results – Test features for sharing common test data – Test suites for easily organizing and running tests – Graphical and textual test runners • JUnit is widely used in industry • JUnit can be used as stand alone Java programs (from the command line) or within an IDE such as Eclipse
  • 27. 27 Cactus Overview • Built on Junit framework • Intended to test JSP, Servlets, EJBs, Filters, and custom tags • Complex architecture that has client JVM call the J2EE application server JVM • Testcase classes must reside on client and server
  • 28. 28 Other JUnit Extensions • HttpUnit – Parses HTML results into DOM – Easy link navigation and form population – Useful for automated acceptance tests • Canoo WebTest – HttpUnit inside Ant • JUnitPerf – Wrap any JUnit tests – Measure desired performance and scalability tolerances
  • 29. 29 Automating Testing - Advantages • Some tests are impossible to perform manually. – Load & stress tests. – Link testing for large websites. • More tests can be run in less time. • When updating an application, can detect errors caused by side-effects to unchanged functionality.
  • 30. 30 Automating Testing - Disadvantages • Expectations of automated testing is often too high. – Automation does NOT improve effectiveness. – If tests are poorly devised, automating them does not magically improve them. • Automation is expensive – Test execution infrastructure must be maintained. – License fees & training costs
  • 31. 31 FUNDAMENTALS OF USABILITY ON THE WEB How to design usable Web applications?
  • 32. 32 Usability Defined • ISO/IEC standard definition (1998): – “[T]he extent to which a product can be used by specified users within a specified usage context to achieve specified goals effectively, efficiently, and satisfactorily.” • Usability engineering is an ongoing, but critical process – Define user and task models – Iteratively test and reevaluate – User-based vs. expert methods
  • 33. 33 Defining Usability in Web Applications • Traditional software usability specifics do not necessarily carry over to the Web: – People use your application immediately. – No manual or trainers. – No salespeople. • How to categorize users? – First-time or returning? – Expert or novice? – Broadband or dial-up? – Desktop or mobile?
  • 34. 34 Top Problems • Contact information – address or phone number is buried • Search function is not visible or unclear as to functionality • No easy way to get back to critical points • Pages that should load fast don’t (e.g. main page or key link page) • “What’s new” is old • Back button requires a repost of data
  • 35. 35 Usability Engineering • Consists of 4 phases that are essentially parallel to the Web Engineering process Usability Engineering Web Engineering Analysis Design Coding Testing Maintenance Analysis Design Implementation Operation
  • 36. 36 User-Centered vs. Usage-Centered Phase Focal Points User-Centered (Traditional) Usage-Centered (Web) Requirements Meetings, interviews, focus groups Competitive analysis; Task analysis & models Design & Implementation User requirements Direct user participation Models Inspection & remote testing Operation Training, evaluation of help-desk logs Log file analysis; server stats; user feedback analysis
  • 37. 37 Requirements Analysis • Systems Analysts & Usability Experts take the lead: – Competitive Analysis – Define qualitative/quantitative goals • Information, Entertainment, Exchange (Siegel) • Make them concrete and testable! – User-centered: build user profiles – Usage-centered • Task analysis • Ease-of-use or Ease-of-learning?
  • 38. 38 Interaction and Design • Initially, the Interface Designer builds a conceptual model – Presentation: Storyboards & Paper mock-ups – Navigation: Card-sorting – Based on core use cases – Shows the basic structure • Getting feedback from potential users • Usability expert provides input after this first round.
  • 39. 39 Interaction and Design • Designer and coders can then elaborate on the details • Additional user testing: – Prototypes – exhibit some functionality – Usability Tests – real context, real tasks. • Remote usability testing – Sample of representative users – Client-Logging software – Web-cams if possible – Better external validity & lower costs(?)
  • 40. 40 Coding and Post-Deployment • Usability Expert assumes the role of the Quality Assurance manager. – Consistency? – Observed guidelines & standards? – Adhered to (current) requirements? • Bring same users back in for testing, if possible. • Document, document, document!
  • 41. 41 General Design Guidelines • Design guidelines represent best practices • OK for “general” users – Normal cognitive ability – Normal audiovisual abilities • Some guidelines may be inappropriate for audience members with special needs. – Ex. Navigation elements for schizophrenics • More rigorous usability engineering techniques (just discussed) should be employed
  • 42. 42 Human Information Processing • Human cognition plays a critical role in user interface design. – Perception • Positioning, grouping, arranging • Perceiving shapes and relationships – Memory • Limitations of working memory • Chunking, 7 + 2 (Miller) – Attention • Focusing on one aspect • Movement, color schemes
  • 43. 43 Guidelines – Response Times • As response times increase, user satisfaction decreases – Anything greater than 3 seconds, and the user becomes aware she’s waiting – After 10 seconds, user gives up • Optimize, or minimize graphics • Consider breaking up large pages. • <img> - use “width” & “height” attributes • Don’t forget your dial-up audience! – Home page size should be < 50Kb – Provide warnings (MPG – 2.5Mb)
  • 44. 44 Guidelines – Efficiency • Minimize distance between clickable elements (while keeping effective sizing) • Avoid frequent changes between mouse and keyboard • Tab-friendly for text-based browsers • Minimize clicks to accomplish tasks (rule of thumb: no more than 4 clicks)
  • 45. 45 Guidelines – Colors • Colors have different meaning depending on your audience – Cultural differences – Domain-specific meanings – Warm vs. cool colors • Make sure all information conveyed by colors is also available without color. • Minimize the number of colors • Avoid extreme hues, highly saturated colors • How does your site look on an LCD? CRT?
  • 46. 46 Guidelines – Text Layout • Screen vs. Paper • Consider different window sizes – Avoid fixed width layouts – Avoid multiple columns (typically) • Readability – Sans-serif for screen, serif for print – Avoid patterns, low-contrast background – Short paragraphs • Allow for user-selected font-sizes
  • 47. 47 Guidelines – Page Structure • Display considerations • Use relative positioning over absolute. • Vertical scrolling is fine; horizontal scrolling is NOT. • Important elements should ALWAYS be visible. • Make page print-friendly or provide alternative style & print button.
  • 48. 48 Guidelines – Navigation • Provide your user with a model of the site – Intuitive navigation elements – Site map – Breadcrumbs • Dropdown menus – Pros: Efficient use of space – Cons: Key information is hidden
  • 49. 49 Guidelines – Multicultural • Location is typically not a constraint on the Web. • “Smallest common cultural denominator”: – Avoid over-expressive colors – Symbols – Language – Information representation (date/time formats) • Present form elements consistently
  • 50. 50 Guidelines – Consistency • Consistency keeps learning to a minimum; users don’t want to have to think! • Identity can be set by consistent components – Header: home, logo, navigation, search, help – Footer: author, modification, contact • Consistent design helps users avoid getting lost, especially when jumping to different sub-units of an organization.
  • 51. 51 More on Web Accessibility • People with disabilities are adopting the Web in greater numbers. • Tim Berners-Lee stressed universal access to the Web as essential. • 20% of the world’s population have disabilities in at least one of the senses. • Key takeaways: – Designing for special needs doesn’t necessarily require reinventing your application. – Doing so can also help “general” users
  • 52. 52 Web Accessibility Initiative (WAI) • Web Content Accessibility Guidelines 2.0 (WCAG, 2008) published by the W3C’s WAI • 12 Guidelines • 4 Groups 1) Perceivable 2) Operable 3) Understandable 4) Robust • Defines Special Needs Groups • Conformance Levels (A, AA, AAA)
  • 54. 54 Things to keep in mind (or summary) • Testing and Usability are orthogonal issues – Testing covers functional requirements validation – Usability tends to cover “non-functional” requirements validation (this is not totally exact) • Both are part of a good (Web) application design process • They can be partially automated • Key differences – Testing deals mainly with in house and (rarely) external developers and end users – Usability relies on expertise outside “technological world”
  • 55. 55 Bibliography • Mandatory reading – Kappel, G., Proll, B. Reich, S. & Retschitzegger, W. (2006). Web Engineering, Wiley & Sons. 7th and 11th Chapter • Other References – Kent Beck, eXtreme Programming Explained – http://www.usability.gov/
  • 56. 56 Testing Tools • JUnit.org – http://www.junit.org • Cactus – http://jakarta.apache.org/cactus • Clover – http://www.thecortex.net/clover • dbUnit – http://www.dbunit.org • HttpUnit – http://www.httpunit.org • Canoo WebTest – http://webtest.canoo.com • Selenium – http://www.seleniumhq.org/
  • 57. 57 Usability Tools • Development – Firefox Developer Toolbar (http://chrispederick.com/work/web-developer/) • Testing – http://www.fujitsu.com/global/accessibility/assistance/wi/ – http://webusability.com/usability_tools.htm – http://wave.webaim.org/ • Comprehensive list of WAI tools – http://www.w3.org/WAI/ER/tools/complete
  • 58. 58 Where are we? # Date Title 1 5th March Web Engineering Introduction and Overview 2 12th March Requirements Engineering for Web Applications 3 19th March Web Application Modeling 4 26th March Web Application Architectures 5 16th April Developing Applications with WebML 6 23rd April Testing and Usability 7 30th April Web Technologies I 8 7th May Web Technologies II 9 21th May Web Application Development Process 10 28th May Project Management for Web Applications 11 11th June Web Application Security 12 18th June Mobile Application Development 13 25th June Final Exam