A Java Accessibility Feature Plug
Download
Report
Transcript A Java Accessibility Feature Plug
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
Overview
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
essential.
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
made.
Security Testing-testing how well the system protects against
unauthorized access attempts.
Defining Testing Methodologies
Continued
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:
www.softwareqatest.com/qatfaq1.html
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
graphical
analysis
of
performance
or
test
server/script/object behavior under heavy concurrent
load.
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
systems.
Project OpenLoad- Open source load testing tool from
SourceForge.net/Open 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
PushToTest.com 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: http://www.webtestingtools.com
Testing Tool Limitations
What are the deficiencies of the
previous mentioned tools?
Answer
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
Continued
W3C’s
Web Content Accessibility Guidelines
(WCAG) www.w3c.gov
US
Government section 508 www.usgov.508
UK’s
Disability Act www.ukd.uk
Accessibility Validation Tools
Bobby
- an automated accessibility checker:
www.cast.org/bobby
A-Prompt
- An evaluation and repair tool:
http://aprompt.snow.utoronto.ca
W3C’s
HTML Validation Service:
http://validator.w3.org
The
WAVE helps sighted developers see ALT
text and the order in which talking browsers
and screen reader receive input
http://www.temple.edu/inst-disabilities/piat/wave/
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
www.jython.org
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,
2005
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
performance.
References
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 ?