Posts in Test Automation
Testing tools are like screwdrivers
It occurred to me while I was at AWTA over the weekend that testing tools are like screwdrivers. There are different types for different problems (Philips and Standard or Performance Testing and Functional Testing), they come in all sorts of different sizes, and they all cost different amounts.

If you think of your average enterprise level automation tool, it’s similar to a mutlihead screwdriver. These tools offer everything under the sun (performance testing, functional testing, test management, defect tracking, data-driven technology, etc…) all you have to do is purchase the tool and start recording! They have a screwdriver bit for every type of testing you might want and several of the bits come in different sizes.

If you look at an open source tool, it’s more like a plain old screwdriver . It only has one head – so it only performs one specific task (like functional testing); and it only comes in one size (so it may only work with a specific technology like Java, .NET, or Internet Explorer). These limitations are often offset by the lower cost (notice I did not say free, someone still has to learn how to use the tool).

Now think about some of the problems you can encounter when using screwdrivers. The most common problem I encounter it that I don’t have the right size screwdriver the job at hand. Sometimes if I use a screwdriver, it’s to small and I can’t exert the force necessary to loosen the screw (common problem with open source tools). Other times it may be too big and I might strip the head of the screw (common problem with enterprise tools). If I own a multiheaded screwdriver, I might lose some of the bits (many companies don’t take the time to learn about all the things their tools can really do for them and thus invest in shelfware).

With this analogy in mind, think about the types of testing you do with your automation tools. Do you need a multiheaded screwdriver or just one right-sized screwdriver? I have been in situations where I’ve needed both. My last project needed a multiheaded screwdriver because I needed to provide and coordinate performance testing and functional testing for multiple platforms using multiple technologies. My current project only needs one or maybe two screwdrivers. We only use one technology an only support one browser.

What kind of screwdriver do you need?
Google Sets for small data sets and brainstorming
I discovered a cool little tool for generating small data sets about a year ago and I recently had a chance to use it again. The tool is called Google Sets and can be found at Google Labs along with some other cool stuff. I recently used this tool to generate a set of names, credit cards, and businesses for an article on testing financial applications. It's simple, quick, and I like it.



For a quick example, if you enter the following simple test terms:

  • Functional

  • Performance

  • Usability


you get the following list of test ideas in response:

  • Usability

  • Performance

  • Functional

  • Security

  • Scalability

  • Reliability

  • Availability

  • Manageability

  • Maintainability

  • Functionality

  • Supportability

  • Extensibility

  • Stress

  • Recovery

  • Flexibility

  • Interoperability

  • Portability

  • Regression

  • compatibility

  • Volume

  • Consistency

  • Extranet Considerations

  • Specifications

  • Location independence

  • High availability

  • Secure Management

  • safety

  • Fault tolerance

  • Stability

  • Identity

  • Installation

  • Accessibility

  • Synchronization

  • Hardware characteristics

  • Peripherals

  • Standards compliance

  • Cost Savings

  • Routing

  • Configuration

  • Operations

  • accuracy

  • Platform neutrality

  • Connection management


And each term returned links to a google search on the topic. So you can see this can be a great test-idea generating tool as well.

Any other ideas on how this tool could be used?