25
Plug-in Tool Plug-in Tool for Java Based for Java Based Performance Tools Performance Tools based on Jython based on Jython Christopher Boyd Christopher Boyd SE690 Research Seminar SE690 Research Seminar Fall 2004 Fall 2004

An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

  • View
    232

  • Download
    1

Embed Size (px)

Citation preview

Page 1: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

An Accessibility Validation An Accessibility Validation and Repair Plug-in Tool and Repair Plug-in Tool

for Java Based for Java Based Performance Tools based Performance Tools based

on Jython on Jython

Christopher Boyd Christopher Boyd

SE690 Research SeminarSE690 Research Seminar

Fall 2004Fall 2004

Page 2: 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 Web-Application Testing OverviewOverview

The increase of Web applications The increase of Web applications increases the importance of Quality increases the importance of Quality Assurance.Assurance.

The complexity of the technologies The complexity of the technologies involved in Web-Applications involves involved in Web-Applications involves great challenges in the testing of Web-great challenges in the testing of Web-Applications.Applications.

The need for automated testing tools The need for automated testing tools are essentialare essential..

Page 3: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Defining Testing Defining Testing Methodologies Methodologies

Load/Stress Testing - testing an application Load/Stress Testing - testing an application with multiple users to evaluate the with multiple users to evaluate the applications response time. applications response time.

Functional Testing- Testing the functional Functional Testing- Testing the functional aspects of the application according to the aspects of the application according to the software requirements.software requirements.

Unit-Testing- Testing particular code modules Unit-Testing- Testing particular code modules individually to assure performance.individually to assure performance.

Regression Testing- re-testing after Regression Testing- re-testing after modifications have been made.modifications have been made.

Security Testing-testing how well the system Security Testing-testing how well the system protects against unauthorized access protects against unauthorized access attempts.attempts.

Page 4: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Defining Testing Defining Testing Methodologies ContinuedMethodologies Continued

Here I have mentioned just a few Here I have mentioned just a few testing procedures. There are testing procedures. There are several other types of testing. For several other types of testing. For more information on Software more information on Software Testing please visit the following: Testing please visit the following: www.softwareqatest.com/qatfaq1.www.softwareqatest.com/qatfaq1.htmlhtml

Page 5: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Performance ToolsPerformance 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.

Page 6: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Performance Tools Performance Tools ContinuedContinued

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.

Page 7: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Performance Tools Performance Tools ContinuedContinued

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.

Page 8: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Performance Tools Performance Tools ContinuedContinued

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.

Page 9: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Performance Tools Performance Tools ContinuedContinued

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.

Page 10: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Performance Tools Performance Tools ContinuedContinued

Several other testing tools exist that have Several other testing tools exist that have features applicable to one’s testing needs. For features applicable to one’s testing needs. For additional information concerning these and additional information concerning these and

other Web Testing Tools please visit:other Web Testing Tools please visit: http://www.webtestingtools.comhttp://www.webtestingtools.com

Page 11: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Testing Tool LimitationsTesting Tool Limitations

What are the deficiencies of What are the deficiencies of the previous mentioned the previous mentioned tools?tools?

Page 12: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

AnswerAnswer

While the previously mentioned While the previously mentioned are great as far as several Web-are great as far as several Web-Site performance tools, they fail to Site performance tools, they fail to include accessibility compliance include accessibility compliance testing for visually impaired, or testing for visually impaired, or unsited users!unsited users!

Page 13: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Visually Impaired Internet Visually Impaired Internet UsersUsers

People with disabilities access the People with disabilities access the internet differently than sighted users. internet differently than sighted users. Many use text to speech translators to Many use text to speech translators to retrieve the information presented on retrieve the information presented on Web-Sites. Without conforming to Web-Sites. Without conforming to Accessibility standards this information Accessibility standards this information is often non-accessible. This could is often non-accessible. This could potentially reduce popularity or profit potentially reduce popularity or profit for your organization.for your organization.

Page 14: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

The Law and The Law and AccessibilityAccessibility

Website accessibility is more than just Website accessibility is more than just good practice. For many organizations, good practice. For many organizations, it’s the law. Governments worldwide it’s the law. Governments worldwide have mandated that their federal have mandated that their federal agencies have accessible websites, and agencies have accessible websites, and private firms should pay attention. A few private firms should pay attention. A few have found themselves the target of have found themselves the target of lawsuits under the Americans with lawsuits under the Americans with Disability Act alleging their sites denied Disability Act alleging their sites denied access to people with disabilitiesaccess to people with disabilities11

Page 15: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

The Law and Accessibility The Law and Accessibility ContinuedContinued

W3C’s Web Content Accessibility W3C’s Web Content Accessibility Guidelines (WCAG) Guidelines (WCAG) www.w3c.govwww.w3c.gov

US Government section 508 US Government section 508 www.usgov.508www.usgov.508

UK’s Disability Act UK’s Disability Act www.ukd.ukwww.ukd.uk

Page 16: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Accessibility Validation Accessibility Validation ToolsTools

Bobby - an automated accessibilityBobby - an automated accessibility checker:checker: www.cast.org/bobbywww.cast.org/bobby

A-Prompt - An evaluation and repair tool:A-Prompt - An evaluation and repair tool: http://aprompt.snow.utoronto.cahttp://aprompt.snow.utoronto.ca

W3C’s HTML Validation Service:W3C’s HTML Validation Service: http://validator.w3.orghttp://validator.w3.org

The WAVE helps sighted developers see The WAVE helps sighted developers see ALT text and the order in which talking ALT text and the order in which talking browsers and screen reader receive inputbrowsers and screen reader receive input http://www.temple.edu/inst-disabilities/piat/wave/http://www.temple.edu/inst-disabilities/piat/wave/

Page 17: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

The ProblemThe Problem

Many developers of Web-Applications Many developers of Web-Applications are unaware of accessibility.are unaware of accessibility.

Web-Testing tools often omit this Web-Testing tools often omit this feature.feature.

Companies that encourage web-Companies that encourage web-testing often have to use a testing often have to use a combination of tools.combination of tools.

No single tools seems to be a resolve.No single tools seems to be a resolve.

Page 18: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

A Proposed SolutionA Proposed Solution

Since it is imperative to test functionality, Since it is imperative to test functionality, load performance, scalability, as well as load performance, scalability, as well as accessibility, then an accessibility feature accessibility, then an accessibility feature added to a tool that test other aspects as added to a tool that test other aspects as previously mentioned would reduce the previously mentioned would reduce the tools needed to meet all testing features.tools needed to meet all testing features.

My goal is to add an accessibility feature My goal is to add an accessibility feature to an existing tool that checks for overall to an existing tool that checks for overall accessibility compliance standards.accessibility compliance standards.

Page 19: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

My ApproachMy Approach

Html Syntax tag extraction- The web pages will be Html Syntax tag extraction- The web pages will be parsed for certain tags then checked for parsed for certain tags then checked for accessibility compliance standards such as accessibility compliance standards such as alternate text for images, table headers, etc. alternate text for images, table headers, etc. Based on the outcome of parsing, the users will Based on the outcome of parsing, the users will be prompted for compliance concerns. The be prompted for compliance concerns. The software tester should not have to be directly software tester should not have to be directly knowledgeable with compliance definitions, an knowledgeable with compliance definitions, an intelligent tool should step the individual intelligent tool should step the individual through the process with input dialog and tool-through the process with input dialog and tool-tip example correction descriptions. This will tip example correction descriptions. This will also aid in turn around time for adherence to also aid in turn around time for adherence to accessibility standardsaccessibility standards

Page 20: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

My Approach ContinuedMy Approach Continued

What is Jython ? To answer this What is Jython ? To answer this question I must first a brief explanation question I must first a brief explanation of Python. Python is a high-level object-of Python. Python is a high-level object-oriented programming language oriented programming language written in C. Do to the popularity of written in C. Do to the popularity of Java developed by Sun Microsystems. Java developed by Sun Microsystems. The need for a Java implementation of The need for a Java implementation of Python emerged. The result was the Python emerged. The result was the birth of Jython. More information can birth of Jython. More information can be found at be found at www.jython.orgwww.jython.org

Page 21: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

My Approach ContinuedMy Approach Continued

Jython ( Based on Python) is a Jython ( Based on Python) is a scripting language that allows test scripting language that allows test scripts to be written in Java or scripts to be written in Java or Python to develop what are known as Python to develop what are known as test agents. This conjunction of test agents. This conjunction of programming languages becomes a programming languages becomes a powerful asset to developers powerful asset to developers comfortable with the aspects of Java comfortable with the aspects of Java that need to develop scripts.that need to develop scripts.

Page 22: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Estimated Project Time Estimated Project Time LineLine

Initial SE 690 Presentation: Nov Initial SE 690 Presentation: Nov 12th, 200412th, 2004

Final SE690 Presentation Jan Final SE690 Presentation Jan 14th, 200514th, 2005

Initial SE696 Presentation April Initial SE696 Presentation April 8th, 20058th, 2005

Final SE696 Presentation/Demo Final SE696 Presentation/Demo June 04th, 2005June 04th, 2005

Page 23: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Project LimitationsProject Limitations

This is a Java based plug-in that This is a Java based plug-in that will not be compatible with tools will not be compatible with tools that are not implemented in Java that are not implemented in Java utilizing Swing’s Jmenu.utilizing Swing’s Jmenu.

You may still have to run the You may still have to run the application through a screen application through a screen reader to see the overall reader to see the overall performance.performance.

Page 24: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

ReferencesReferences

1. “Maximum Accessibility Making Your Web 1. “Maximum Accessibility Making Your Web Site More Usable for Everyone”, by John M. Site More Usable for Everyone”, by John M. Slatin and Sharron Rush.Slatin and Sharron Rush.

2. “Building Accessible WebSites”, by Joe Clark.2. “Building Accessible WebSites”, by Joe Clark.

3. “Java Testing and Design From Unit Testing 3. “Java Testing and Design From Unit Testing to Automated Web Test” by Frank Cohen.to Automated Web Test” by Frank Cohen.

4. “E-Business & e-Commerce How To 4. “E-Business & e-Commerce How To Program”, by Deitel, Deitel & Nieto.Program”, by Deitel, Deitel & Nieto.

Page 25: An Accessibility Validation and Repair Plug-in Tool for Java Based Performance Tools based on Jython Christopher Boyd SE690 Research Seminar Fall 2004

Questions Questions ??