Author Archives: cheezy

Bowling Game in C++

Last year was a blast. I started the year coaching a team that was developing a grails web application. Next was a batch application written in perl and pl-sql. Next I moved on to objective-c and then on to php … Continue reading

Posted in C++, Test Driven Development | 2 Comments

Google Test Quick Reference

I just created a Google Test Quick Reference document for the developers at a client I am working with. I am going to have it laminated and hope they keep it handy as they learn the new framework. After completing … Continue reading

Posted in C++, Test Driven Development | 2 Comments

A day in the life of an acceptance tester

I am a tester on the Extremely Cheezy team. Our team is building a revolutionary new online bookstore application called depot. It is Friday afternoon and our new Iteration begins on Monday. The user-facing portion of the application is nearly … Continue reading

Posted in Cucumber, Ruby, Testing, Watir | 7 Comments

Working with Cucumber on the Windows platform

Frequently I teach classes on Cucumber for individuals in the testing community. Often this is their first exposure to Ruby and Cucumber and they usually have laptops running Windows. A week before the class I send out a document detailing … Continue reading

Posted in Cucumber, Testing | 9 Comments

Drag-and-Drop in Watir

A month ago I was working with a team that had a need to write acceptance tests for a feature that included drag-and-drop. My initial search turned up some code that implemented it well. I have since tried to find … Continue reading

Posted in Ruby, Watir | 13 Comments

Using Google Test with Visual Studio

Google Test (gtest) is a nice framework for test-driving C++ applications. Since I am about to begin working with a team using C++ I decided to give it a try. That team uses Visual Studio so my objective was to … Continue reading

Posted in C++, Test Driven Development | 2 Comments

UI Tests – putting it all together

I have really enjoyed writing this series on UI Tests with Cucumber. I have been able to share the things I have learned while working with diverse teams helping them adopt an Acceptance Test Driven approach to deliver quality software. … Continue reading

Posted in Cucumber, Ruby, Testing, Watir | 13 Comments

UI Tests – Default Data

I have been lucky over the past two years. I have had the opportunity to use Cucumber as a testing tool in several environments. I have worked on four web applications – one written in Groovy, one in PHP, and two in Java. I worked with a team developing a batch application. I worked with a team that was building Informatica transformations and I worked with a team developing an iPhone application. Even though each environment was quite different, cucumber worked as an amazing tool to implement Acceptance Test Driven Development in each case.

The most interesting thing about using Cucumber in such diverse environments is that I started to see similar patterns each time. In the first, second, and third post in this series we discussed the Page Object pattern. In this posting I will talk briefly about how this pattern applies to other environments. I will also talk about another pattern I discovered. I call it the Default Data pattern. Finally I will also talk about building high level Scenarios that express details only where necessary. Continue reading

Posted in Cucumber, Ruby, Testing, Watir | 12 Comments

UI Tests – Introducing a simple DSL

In the first and second posts of this series we introduced Page Objects and evolved them to include page partials and return the next page object. In this post we will introduce a simple domain specific language that will eliminate a lot of the annoying repetitive work we have done so far. After we look at the DSL we will refactor our tests to take advantage of its’ capabilities. When we are finished our scripts will be cleaner than when we left off at the end of the last post. Continue reading

Posted in Cucumber, Ruby, Testing, Watir | 19 Comments

UI Tests – Part Two

In the first post in this series I introduced the Page Object. If you haven’t done so I would suggest you read the first post as we will be building on it in this post. If you want to follow along with the code you can download this zip file that has the code where we left off last time.

In this second post I will introduce two simple concepts that will make our scripts more robust. We will apply one of these enhancements to our scripts taking us further down the path of creating tests that are not brittle. But first we will add one more scenario to our cukes. Continue reading

Posted in Cucumber, Ruby, Testing, Watir | 14 Comments