Introduction to Watir - A Powerful Software Test Automation tool

What is WATIR?

1. Web Application Testing In Ruby
2. It is a library for the Ruby language which drives Internet Explorer the same way people do;
- clicks links,
- fills in forms,
- and presses buttons.

3. Watir can also check results, such as whether expected text appears on the page.
- It can be used to test all types of web applications (ASP.Net, JSP, PHP, Rails, etc…)
4. Open Source – written by Bret Pettichord, Paul Rogers and many other contributors.

What WATIR is not?

1. Watir is not a record/playback tool.
2. However, there are several recorders “out there”
- WatirMaker
- Watir WebRecorder
- Webmetrics RIA Script Recorder (most recent discussion…they are considering open sourcing their application)
3. Watir is not a link checker
- However, you can easily write your own link checker and customize it to your specific needs.
4. Watir is not a test case management tool.
- However, you can write one in Ruby if desired.
5. Doesn't test Flash or Applets.

How does Watir work?

1. Uses the COM interface of Internet Explorer (IE)
- a.k.a ActiveX or OLE
2. Allows an external program to control IE
- Similar interfaces exist for Word, Excel, PowerPoint and Outlook.
3. Full access to the contents of an HTML page
4. Provides different ways to access objects

Benifits of Using Watir - An Open Source Automation Testing Tool

Watir is a testing tool for automating browser-based tests of web applications.

  • It’s a free Open Source tool. There are no costs to use the tool.
  • There’s a very active and growing community behind it-> 
  • It uses Ruby, a full-featured modern scripting language, rather than a proprietary vendor script.
  • It supports your web app no matter what it is developed in.
  • It supports multiple browsers on different platforms.
  • It is powerful and easy to use, yet beautifully lightweight.

Testers Developers War | How Testers should deal with Developers?

Successful testers should be diplomatic. I know this is tough, but this is one of the important way to get success in testing Career. Testers should know how to get the things done from developers.

Below is an excellent article by Debasis Pradhan (Software Testing Zone) where he has mentioned Software Testing Diplomacy: A Tester’s Guide on How to Deal with Programmers!

I found the below article very useful. How you guys find it helpful too. Happy Testing..


Article by Debasis Pradhan - 
When I started my career as a software tester, it hardly took me any time to witness the ongoing rivalry between the programmers and the testers. When you are young in your software testing career and join a new work place, things are much like a prison. You notice people are divided into groups and you are pulled into a group even before you realize what is going on! This is probably so common in software development teams that people take it for granted! To make matters worse I have even seen some managers who encourage such practice of antagonism! Unfortunately, they believe that such enmity between the programmers and testers can help them squeeze out more value out of the team. But ironically, I am yet to experience a case where this was true!

After spending all these years in software testing field, I have heard lot of stories involving such friction between the testing and development team. I am not sure what started this enmity and how all this began. But under such circumstances of serious hostility it might often be very difficult to maintain a positive attitude and deliver your 100%. However, instead of blaming others for the situation let's search for solutions that might help during such situations:

Deliver the bitter medicine in a sugar-coated capsule:
Most of the times, as testers we are the bearer of bad news. We will have to tell the programmers that their baby (code) is ugly. And clearly, no mother will ever want to hear such a statement [irrespective of how ugly her baby really is]. Hence, I can understand how difficult it can be for the programmers to accept the fact that their code is defective and someone else has detected it. To deliver such a bad news, you will have to do so tactfully and professionally! Hence, testers may have to be diplomatic when confronting a programmer with a fundamental goof. Diplomacy, tact and a smile on the face - all can work to the tester’s advantage and are essential in preserving a harmonious relationship with the programmers.

Be unbiased:
While communicating, treat programmers and testers alike (e.g. refer them as "we" instead of "you". Make the programmers feel that they belong to us and together we are a team.). Restrain from any blame game. The programmers should not feel that they are being targeted for anything. I have seen that if the programmers are once convinced about the importance and the complexity of our job, they start respecting our craft. I often tell my programmers that because of them I earn my bread and butter and because of me their jobs are saved from getting sacked. It is essentially a symbiotic relationship between a tester and a programmer. And once the programmers realize this fact, gaining their cooperation becomes easy.

Maintain a sweet tongue:
Make sure that you don’t make the programmer embarrassed while reporting a defect in her code. They are also human beings who are prone to errors. It is quite natural for them to make mistakes. Do realize this and stop making your bug reports weapons of embarrassment for your programmer, every time you report a bug. To earn respect, start showing them respect. Above all else, watch your temper and leave aside your ego. As the old proverb warns us, "You catch more flies with honey than you do with vinegar." A little courtesy can go a long way towards building successful and long-lasting relationships. A balanced combination of humility and humor can be fruitful.

How do you deal with your programmers? How do you manage when things become hostile? What do you do when you are dealing with a programmer who considers you as her enemy? Share your stories and ideas via commenting.


Load Testing Approach - Quick Guide to Plan and Execute Load Test Using Load Runner!

Quick guide to plan and execute a load test