Test Scripts shall be in syntax of scripting languages

By mark.

Occasionally I got questions like

  • Why you didn't build TestWise as Eclipse plugin? Why you built a new IDE from scratch?
  • Do you support test scripts in Java or C#?

First question is easy to answer: testers don't need the complexity of Eclipse. They just need a tool simple, small, view/edit/run test scripts. Also another important human factor, if testers are using the same tool as developers, it puts programmers on a dominant position. From my experience, minor details count.

The same argument (sharing same tool/language with programmers) goes for the second question as well. Test scripts are shall be simple, concise, ideally one line for one operation. It is good to know people (with some programming skills) now move away from expensive record/playback tool for open-source test frameworks, Selenium is a popular choice. However, if the choice is made purely for the benefits of programmers, then I disagree.

Recently at the TIST conference, two people from separate companies told me the similar story: despite of a lot of effort programmers spent providing various ways (such as page-objects, environment selection, data-driven,... etc) to help non-tech testers get engaged, outcome not ideal. That's because the whole approach was programmer-centric.

I think test scripts shall be in scripting languages such as Ruby, Python, not compiled ones such as Java or C#. Why, because it is called 'test scripts' for a reason.

Continuous Integration Officer = CIO

By mark.

In last post, I stated the vital importance of Continuous Integration by quoting Google CEO's speech and Lisa Crispin's blog. Then I found for this such important role, there is no conventional title. Well, I will give it one: Continuous Integration Officer, in short, CIO.

I recently browsed my book collection and found the paragraph below on CI in this classic book: Implementing Lean Software Development: From Concept to Cash:

"We have been told many times that this (Continuous Integration) is a very difficult discipline to put in place, but once it is working, no one would ever think of going back to the old way of doing things." (page 203)

TIST2011 Conference Slides and Videos

By mark.

第四届天津国际软件测试会议演讲用的视频演示 (Quicktime格式)


webdriver-selenium support in TestWise2

By mark.

Back to 2010-07, the first pre-release of TestWise2 supports upcoming webdriver-selnium (or known as Selenium2) via watir-webdriver. To help TestWise users to migrating existing RWebSpec test scripts over with no or little changes, and same time being more flexible, TestWise2 will introduce rwebspec-webdriver gem, let me illustrate with an example:

To use RWebSpec with Watir, in your test_helper.rb

require 'rwebspec'

Now if you want to switch to RWebSpec with Webdriver-Selemnium, just change the line in test_helper to:

 require 'rwebspec-webdriver'

Try latest TestWise2 pre-release: TestWise-2.0b1-setup.exe
(please note: selenium-webdriver is still under development)

As always, RWebSpec gives the flexibility to mix with underlying framework, i.e, you can develop and run plain webdriver-selenium or watir test scripts directly in TestWise2.

Also change the test framework in the project settings in TestWise2.

TestWise IDE, Recorder, and RubyShell March Updates

By mark.

TestWise Recorder v1.3 now supports latest Firefox 4.

Also the new version of TestWise v1.11 is available for download, which now supports latest Watir 1.9 along with some enhancements.

RubyShell v1.5 sees updates of many gems, such as Watir 1.8, Ruby on Rails 3.0.5, Sinatra 1.2.1, ... ,etc. In case of you are not familar with RubyShell, this let you run tests from command line, which is a must if you want to integrate your UI test execution at a part of Continuous Integration Process.

TestWise for Mac pre-release

By mark.

Update (2010-12-24): Ver 2.0p5

Update (2010-12-10): Ver 2.0p4

TestWise for Mac is coming closer, you may download the pre-release version here: TestWise-2.0p5.zip


1. Pre-requiste:

  • Snow Leopard (Mac OS X 10.6.x)
  • RubyGems 1.3.7 or above installed (sudo gem update --system)

2. Double click the zip file to uncompress, get TestWise App.

3. Double click the TestWise App to launch

To run a Watir test, you need (on Mac) Firefox started with JSSH,

/Applications/Firefox.app/Contents/MacOS/firefox-bin -jssh

TestWise2 will add (besides Watir) support for Selenium2 (webdriver), which means your tests can be run in Chrome as well.

To switch:
And in your test helper, require 'rwebspec-webdriver' instead of 'rwebspec'.

With Selenium2, JSSH is not required for running tests in Firefox.

Continuous Integration in Nutshell: 1 of 12

By mark.

This is the first post of Continuous Integration in Nutshell series post. The importance of CI is getting realized in software projects, as Lisa Crispin summarized: "If I had to pick one reason our team has been so successful the past 7 years, our CI process is it.". I totally agree with that.

However for many people, CI is still a blur concept. The purpose of this series is to clarify that. Here is No. 1:

Continuous Integration in Nutshell: 1 of 12

If you require a bigger or print version, please contact support@agileway.com.au.

Continuous Integration: "crazy to not do it"

By mark.

At last year's CITCON, I remembered that one candidate said: "The experiences I had with continuous build integration is pretty much like this: set up one machine; installing some kind of continuous build server, put it in the corner, and tick the box.". I met some projects led by intermediate level programmers (despite of all kind of fancy titles), it was sad to find out they didn't even had a try.

How important is continuous integration? I couldn't say better than Lisa Crispin:

Whenever I speak to a conference session or user group meeting, I always tell people, 'If you arenxE2x80x99t doing continuous integration now, go back to your office and drop everything and get your CI going. It isnxE2x80x99t hard to do, there are a bunch of good tools available to help, even Testify Wizard to help you set it up. A programmer can do it in a matter of days or less. TherexE2x80x99s no excuse to not do CI.'

IxE2x80x99m convinced that in 5 years at the most, any team not doing CI will be looked upon the same way we look upon teams that donxE2x80x99t do source code control. It would just be crazy to not do it! Automated tests donxE2x80x99t have much value if they arenxE2x80x99t giving you quick feedback several times a day. Without CI, your technical debt is bound to bury you quickly.

If I had to pick one reason our team has been so successful the past 7 years, our CI process is it. ItxE2x80x99s the pulse of our team, and if it stops (as it did a few weeks back xE2x80x93 see TonyxE2x80x99s blog post!), we all just about have a heart attack! When itxE2x80x99s ticking along, we feel healthy and happy.

In up coming posts, I will share my experiences on CI.

Watir Quick Start Guide

By mark.

On Watir forum, there are countless posts on how to get started with Watir, some popular questions are:

  • Unable to install?!
  • How to install Watir behind a firewall on Windows?
  • How to use Watir with RSpec?

It will be a pity for testers giving up on Watir because having difficulty in installation. Actually, it can be made very simple. That's why I created the Watir One-Minute Quick Start Guide.