alexcuesta

My tech blog

A thought: the three layers of testing

with one comment

After attending a talk about agile testing, I have come to the conclusion that in any project we have to take into account three layers of testing:

  1. Business specification testing
    This is, we have to ensure the application is doing exactly what the customer wants. This represents the most important layer to be tested and it should be our priority number one. I always say it is better to spend hours, even days, writing specification and checking with customers that this is what they want than spending  5-10 days developing something wrong. Testers and developers write the stories and scenarios in  BDD or tabular style focusing on the business point of view and I try to ignore technical aspects. Although testers can always test manually the behaviour of the application following the steps defined in the scenarios, automating the specification using a tool such as cucumber or fitnesse is a bonus in order to avoid mistakes or skip tests.
  2. Technical testing
    This is tests of technical aspects such as exceptions (server down, using alphas instead of numbers, invalid dates…). This is mainly covered with unit testing.
  3. Visual testing
    This tests are more difficult to automate (colors or element positions using CSS on different browsers) and most of them have to be done manually. Fortunately, this can be done first by developers themselves while developing; second by another developer if you are doing pair-programming or code reviews; third by the rest of the developers when the latest build is deployed on a development server; fourth by testers (QA); five by customers when it is showedcase; and sixth by QA again when it is tested for the release.

Another quote I heard once: “don’t try to test 100% of the application, it is almost impossible and you are going to get crazy”

Written by alexcuesta

August 21, 2010 at 1:49 am

Posted in Agile

One Response

Subscribe to comments with RSS.

  1. I also want to add that in the development process we should involve with the customers at each level. This also helps in last minutes changes.

    Cathy

    September 18, 2010 at 11:36 am


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: