An Accessibility Validation and
Repair Plug-in Tool
for Java Based Performance Tools
based on Jython
Christopher Boyd
SE690 Research Seminar
Fall 2004
Web-Application Testing
 The
increase of Web applications increases
the importance of Quality Assurance.
 The complexity of the technologies involved
in Web-Applications involves great challenges
in the testing of Web-Applications.
 The need for automated testing tools are
Defining Testing Methodologies
Load/Stress Testing - testing an application with multiple
users to evaluate the applications response time.
Functional Testing- Testing the functional aspects of the
application according to the software requirements.
Unit-Testing- Testing particular code modules individually to
assure performance.
Regression Testing- re-testing after modifications have been
Security Testing-testing how well the system protects against
unauthorized access attempts.
Defining Testing Methodologies
Here I have mentioned just a few testing
procedures. There are several other types of
testing. For more information on Software
Testing please visit the following:
Performance Tools
Apache JMeter - A 100% pure Java desktop application
designed to load test functional behavior and measure
performance. Originally designed for testing Web
Applications but has since expanded to other test
functions; may be used to test performance both on static
and dynamic resources (files, Servlets, Perl scripts, Java
Objects, Data Bases and Queries, FTP Servers and more).
Can be used to simulate a heavy load on a server, network
or object to test its strength or to analyze overall
performance under different load types; can make a
server/script/object behavior under heavy concurrent
Performance Tools Continued
Embarcadero Extreme Test- Performance test tool from
Embarcadero Technologies. Capabilities include
capture/playback/scripting and test probes/agents that
work with a wide variety of applications. Load can be
generated against HTTP and JDBC, allowing testing of Web
sites, Web-based applications, and relational database
Project OpenLoad- Open source load testing tool from Source Development Network,
distributed under GNU General Public License (GPL).
Command-line tool; runs on Linux and Win32 systems.
Performance Tools Continued
Avalanche- Load testing hardware + software appliance
from Spirent Communications. Includes scenario
recorder and integrates with Mercury's Loadrunner for
more sophisticated user scripts. Supports all major
protocols, SSL, forms, dynamic URL's, unique IP addresses,
cookies, session ID's and more. Can simulate distributed
DOS attacks, concurrent media streams, large numbers of
realistic e-mail users, configurable link speed emulation
and packet loss rates, HTTP aborts, and more.
Performance Tools Continued
TestMaker- Free open source utility maintained by and Frank Cohen, for performance,
scalability, and functional testing of Web application. A
framework and utility to build and run intelligent test
agents that implement user behaviors and drive the
system as users would. Features an XML-based scripting
language and library of test objects to create test agents.
Includes capability to check and monitor email systems
using SMTP, POP3, IMAP protocols. Java-based tool - runs
on any platform.
Performance Tools Continued
jblitz- Affordable load testing tool from Clan Productions
aimed at small web site developers. Each part of a site's
functionality can be tested apart or together with up to
500 threads to simulate many users. Can request
anything normally addressable through browser,
including regular web pages, ASP scripts, JSP scripts,
Servlets, CGI scripts etc.
Performance Tools Continued
Several other testing tools exist that have features
applicable to one’s testing needs. For additional
information concerning these and other Web Testing
Tools please visit:
Testing Tool Limitations
What are the deficiencies of the
previous mentioned tools?
While the previously mentioned are great as
far as several Web-Site performance tools,
they fail to include accessibility compliance
testing for visually impaired, or unsited users!
Visually Impaired Internet Users
People with disabilities access the internet
differently than sighted users. Many use text
to speech translators to retrieve the
information presented on Web-Sites. Without
conforming to Accessibility standards this
information is often non-accessible. This
could potentially reduce popularity or profit
for your organization.
The Law and Accessibility
Website accessibility is more than just good practice.
For many organizations, it’s the law. Governments
worldwide have mandated that their federal agencies
have accessible websites, and private firms should
pay attention. A few have found themselves the
target of lawsuits under the Americans with
Disability Act alleging their sites denied access to
people with disabilities1
The Law and Accessibility
 W3C’s
Web Content Accessibility Guidelines
 US
Government section 508 www.usgov.508
 UK’s
Disability Act
Accessibility Validation Tools
 Bobby
- an automated accessibility checker:
 A-Prompt
- An evaluation and repair tool:
 W3C’s
HTML Validation Service:
 The
WAVE helps sighted developers see ALT
text and the order in which talking browsers
and screen reader receive input
The Problem
 Many
developers of Web-Applications are
unaware of accessibility.
 Web-Testing tools often omit this feature.
 Companies that encourage web-testing often
have to use a combination of tools.
 No single tools seems to be a resolve.
A Proposed Solution
 Since
it is imperative to test functionality, load
performance, scalability, as well as
accessibility, then an accessibility feature
added to a tool that test other aspects as
previously mentioned would reduce the tools
needed to meet all testing features.
 My goal is to add an accessibility feature to an
existing tool that checks for overall
accessibility compliance standards.
My Approach
Html Syntax tag extraction- The web pages will be
parsed for certain tags then checked for accessibility
compliance standards such as alternate text for images,
table headers, etc. Based on the outcome of parsing,
the users will be prompted for compliance concerns.
The software tester should not have to be directly
knowledgeable with compliance definitions, an
intelligent tool should step the individual through the
process with input dialog and tool-tip example
correction descriptions. This will also aid in turn
around time for adherence to accessibility standards
My Approach Continued
What is Jython ? To answer this question I must first
a brief explanation of Python. Python is a high-level
object-oriented programming language written in C.
Do to the popularity of Java developed by Sun
Microsystems. The need for a Java implementation
of Python emerged. The result was the birth of
Jython. More information can be found at
My Approach Continued
Jython ( Based on Python) is a scripting
language that allows test scripts to be
written in Java or Python to develop
what are known as test agents. This
conjunction of programming languages
becomes a powerful asset to developers
comfortable with the aspects of Java
that need to develop scripts.
Estimated Project Time Line
 Initial
SE 690 Presentation: Nov 12th, 2004
 Final SE690 Presentation Jan 14th, 2005
 Initial SE696 Presentation April 8th, 2005
 Final SE696 Presentation/Demo June 04th,
Project Limitations
 This
is a Java based plug-in that will not be
compatible with tools that are not
implemented in Java utilizing Swing’s Jmenu.
 You may still have to run the application
through a screen reader to see the overall
1. “Maximum Accessibility Making Your Web Site More Usable
for Everyone”, by John M. Slatin and Sharron Rush.
2. “Building Accessible WebSites”, by Joe Clark.
3. “Java Testing and Design From Unit Testing to Automated
Web Test” by Frank Cohen.
4. “E-Business & e-Commerce How To Program”, by Deitel,
Deitel & Nieto.
Questions ?

A Java Accessibility Feature Plug