 WSL is a Scripting Language that allows you to easily and quickly write scripts to test web application functionality through Internet Explorer. WSL scripts allow you to automate testing from the UI down. It can be used as a substitute to writing and executing manual test scripts, is designed to be as human readable as possible, and is complimentary to other testing techniques and tools such as TDD, unit testing, manual exploratory testing, performance testing. and tools like Cucumber. WSL can be used to test web applications written in any language. The main objective of WSL is to lower the barrier of adoption for WATiR as a test tool by non-developers. Ideally testers and user acceptance testers should find it accessible enough to start using it. With this objective in mind WSL has one main guideline - Accessibility, Simplicity and Ease of Use. WSL is not intended to be a silver bullet when it comes to testing, on the contrary, it should be used with all the other good development practices you have at your disposal.  WSL is an internal domain specific language built on top of the Ruby WATiR library. The real magic happens in WATiR; WSL merely makes that magic accessible to the non-developer masses. WSL contains keywords such as open_url click and select. Using keywords along with input values you build up scripts that mimic what a user would do through the browser, but because you do not need human intervention to execute the keywords in the script you remove any ambiguity that can occur through translation between user, developer, tester. You can practice techniques like using checked examples to ensure you are delivering what the user wants you to deliver. I started developing WSL whilst working on an agile project. We wanted to automate as much testing in the sprints as possible, wanted something that was lightweight, cheap, and simple to use. I came across WATiR and was very impressed with it's functionality, however to start using WATiR you needed to know how to write Ruby code. This wasn't ideal if we wanted tester to use it! I explored the idea of using WSL as a facade that hides the complexity of WATiR, and as much complexity of Ruby as possible. The biggest barrier I found to its adoption was the apprehension that it is considered as writing code - non-developers don't want to do that! WSL is as human readable as possible; you should be able to follow it as easily as following a manual test script, and be able to execute it faster and easier to boot. |