Automating with Open Source Testing Tools Corey Mc

  • Slides: 20
Download presentation
Automating with Open Source Testing Tools Corey Mc. Garrahan r. Smart 01 -July-08

Automating with Open Source Testing Tools Corey Mc. Garrahan r. Smart 01 -July-08

Agenda • • • Getting from Here to There Test Procedures Criteria for Tool

Agenda • • • Getting from Here to There Test Procedures Criteria for Tool Selection Tools Discussed And the winner is… The Next Step

Where We Were • No Manual Test Scripts • No Testing Tool • Totally

Where We Were • No Manual Test Scripts • No Testing Tool • Totally dependent on Sakai Scripts Where We Want to Be • Acceptance tests for all tools • Regression Suite • Automated the Test Suites

Manual Test Procedures • • Writing Test procedures Procedures vs. Scripts Hire Testers Automate

Manual Test Procedures • • Writing Test procedures Procedures vs. Scripts Hire Testers Automate Procedures

Test Script Resource s 1: Add Item Test ID Test Objective 1. 1 Add

Test Script Resource s 1: Add Item Test ID Test Objective 1. 1 Add an empty folder 1. 1. 1 Make folder publicly available 1. 1. 2 Restrict folder access to site participants 1. 1. 3 Add more than one folder at one time 1. 1. 4 Add a folder with spaces in the name Pass/Fail Notes

Test Procedure Step ID Action Expected Result 1. Select the Announcements tool o The

Test Procedure Step ID Action Expected Result 1. Select the Announcements tool o The Announcements page is displayed 2. Select the Add link o The Add Announcement page is displayed with the following options: o. Announcement Title o. Body o. Access o. Availability o. Attachments o. Email Notification 3. Create an Announcement with the following information: Title: This is a Test Body: Lorem ipsum … Access: No change Availability: No Change Attachments: None Email Notification: No change Select the Add Announcement button o The Announcements page is displayed showing the This is a Test announcement.

Criteria • • • Functional Test tool Open Source Collaborative in nature Easy to

Criteria • • • Functional Test tool Open Source Collaborative in nature Easy to use, easy to learn Ability to record and playback Manual scripting capabilities Command Line functionality Maintenance of Scripts User Community

Tools • JMeter • Push To Test – Test. Gen 4 Web • Selenium

Tools • JMeter • Push To Test – Test. Gen 4 Web • Selenium – IDE, Remote Control, Core, Grid

Apache JMeter may be used to test performance both on static and dynamic resources.

Apache JMeter may be used to test performance both on static and dynamic resources. It 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. You can use it to make a graphical analysis of performance or to test your server/script/object behavior under heavy concurrent load.

Scorecard • • • Ease of use - NO Record and Playback - YES

Scorecard • • • Ease of use - NO Record and Playback - YES Manual scripting – YES Command Line – YES Script Maintenance - NO User Community - Established

Push To Test w/ Test. Gen 4 Web Push. To. Test. Maker is a

Push To Test w/ Test. Gen 4 Web Push. To. Test. Maker is a functional, end-to-end testing platform that validates the service code from interface to database and back. Push. To. Test is the open-source platform for software developers, QA groups, and IT management to test, optimize, monitor, and govern information systems. Test. Gen 4 Web is a Navigation recorder, and playback tool. It records the user action on the page, form fills, etc, and can save the recording to a file and replay it back for you on demand. Combined with translators, which can convert this recording to automated command line test tools, you can generate HTTPUnit, PHP-Simple. Test scripts.

Scorecard • • • Ease of use - YES Record and Playback - YES

Scorecard • • • Ease of use - YES Record and Playback - YES Manual scripting – YES Command Line – YES Script Maintenance - NO User Community - Growing

Selenium IDE is an integrated development environment for Selenium tests. It is implemented as

Selenium IDE is an integrated development environment for Selenium tests. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests. Selenium IDE includes the entire Selenium Core, allowing you to easily and quickly record and play back tests in the actual environment that they will run.

Scorecard • • • Ease of use – YES Record and Playback - YES

Scorecard • • • Ease of use – YES Record and Playback - YES Manual scripting – YES Command Line – YES Script Maintenance - YES User Community - Growing rapidly

And the winner is… • Selenium – How we use Selenium • Sample Tests

And the winner is… • Selenium – How we use Selenium • Sample Tests • Language Options • Test. Suite. html

How We Use Selenium IDE • Environment Setup • Site Creation and Data Seeding

How We Use Selenium IDE • Environment Setup • Site Creation and Data Seeding • Acceptance Testing • Positive Path Functional Tests • Regression Testing • Incorporating bug fixes and code changes into the Acceptance Tests on an ongoing basis

Test. Suite. html <html> <head> <title>Test Suite</title> </head> <body> <table cellpadding="1" cellspacing="1" border="1"> <tbody>

Test. Suite. html <html> <head> <title>Test Suite</title> </head> <body> <table cellpadding="1" cellspacing="1" border="1"> <tbody> <tr> <td>Test suite for setting up environment and acceptance tests</td> </tr> <td<a target="test. Frame" href=“SS-01. htm" >Site Setup for 2. 5</a></td> </tr> <td<a target="test. Frame" href=“ANNC-01. htm" >Create announcements</a></td> </tr> <td<a target="test. Frame" href=“CAL-01. htm" >Create calendar events</a></td> </tr> <td<a target="test. Frame" href=“LGOUT-01. htm" >Log out</a></td> </tr> </tbody> </table> </body> </html>

Language Options • • • HTML Java C# Perl PHP Ruby

Language Options • • • HTML Java C# Perl PHP Ruby

Support with Selenium • Support Engineers Record steps to recreate bug and attach Selenium

Support with Selenium • Support Engineers Record steps to recreate bug and attach Selenium test to JIRA Issue • QA uses Selenium test to verify bug fix • Tests are added to Regression Suite

The Next Step • Continuous Integration • Selenium Remote Control and Selenium Grid

The Next Step • Continuous Integration • Selenium Remote Control and Selenium Grid