Automating with Open Source Testing Tools Corey Mc




















- Slides: 20
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 Selection Tools Discussed And the winner is… The Next Step
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 Procedures
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 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 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 – IDE, Remote Control, Core, Grid
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 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 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 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 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 Manual scripting – YES Command Line – YES Script Maintenance - YES User Community - Growing rapidly
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 • 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> <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
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