Test Automation – Step 1 – Test Design

The word “Automation” is used for so many things, it has lost all meaning. So, I’m going to describe exactly what I mean by Test Automation as a process and specifically what I’m calling a Test Automation System.

It’s going to take me multiple entries, so I’m going to break it into steps.

Test Design
–Write Test Cases
–Put them in a database
–Add data
–Pick the ones you want to automate

First comes the QA part. You need tests. To come up with tests, you need to consider the Software Under Test using all of your knowledge (specifications, conversations, implicit specifications and so on). Then, you consider all the various types of testing, like Positive tests, Error tests, Stress tests, Stability tests, Performance tests. It is very difficult to separate Test Design from Test Planning; at this stage, we’re only looking at coming up with a good set of tests (Test Design), not who will do them, when or how (Test Planning or Management).

It turns out that this is actually an infinitely large task, so in reality you will have to make some decisions about which areas and types of tests you would like to focus on and also how deep you would like the testing to be in each area. In general it’s easy: old parts of the software get spot checking and the new parts get the bulk of the attention.

Since this involves a significant amount of data, you will need a place to keep it all. I call this a Test Case Management System. You need a way to create a taxonomy of tests, which is usually broken up by application or area of an application and then sub-areas. You also need to store information about the steps in the test case, the type of test and what the expected results are.

The next step is to add data to go with your test cases. For example, you might have a test to fill out information on a web page form. Even for a few fields, the number of iterations is large. You might explicitly specify all of the data to use for some special tests, especially error tests or other key areas. But for most, a list is best. In automation, these are usually referred to as Data Driven tests. For manual testing, I’ve heard them called matrix, spreadsheet, or combinations and permutations.

Here we come to the first Grand Question of automation: which tests should we automate? I’m not even going to give any advice here. There are article and maybe even whole books on this subject. Have meetings, decide on your criteria, then move to the next step.

Advertisements

No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: