Join AllAdvantage.com

Testing Strategies and Methodologies


 

Background

My background is a user acceptance tester (end user / quality assurance testing) for a UK financial services company). I am one of a team of eight testers, working in a department called Model Office (literally because we model the activities of the company).

My role is that of a Project Leader, and as such one of my responsibilities is to formulate, create, and document testing strategies for the developmental projects undertaken by my company.

Because we do end user testing, our primary concern is proving the functionality of the application, and demonstrating this functionality to the business areas of the company who will use the application.

This is achieved by a series of controlled testing processes, which start, with the creation of the testing strategy.

This document is explained over.

 

Testing Strategies

The testing strategy is a word processor document that defines exactly what Model Office will do when we are testing the development project. This document circulated around the relevant business areas for approval and is ultimately signed and dated by a senior manager of each area to formally approve the contents.

This circulation and approval is done to mitigate the risk that Model Office is testing the application in such a way that the business areas will not sign off the application, because it has not been proven to their satisfaction.

Due to the nature and contents of the strategy document (which will be detailed later) Model Office will not commence testing unless the testing strategy document has been formally approved.

 

Contents

Every development project, and the application being developed, is different, and so the testing strategy formulated for each project is different.

However, some elements of the testing strategy are pretty common to all development projects, and I have listed those below.

One thing which I always ensure is present, is that the document is well formatted and professional looking. This sounds petty, but these documents will be circulated around quite a few people for inspection, and will also be circulated at least twice (once as a draft, and once as final for signing), so care should be taken to ensure that the document does not reflect badly of you.

Should formatting would be;

All of these will greatly contribute to appearance of the document, and are not difficult to achieve using a modern word processor.

I use Word 6 in work and Word 97 at home. Using Word it is the work of 30 minutes to set up a template with the necessary styles (Headings, etc) to use for all documents. The remaining sections can be easily automated (table of contents is simple, and can easily be set to update automatically when printing).

I have such a template available, and it is available from my company site (www.amjec.co.uk ) on the testing documents page - http://www.amjec.co.uk/testdocs.htm

 

Scope

Each strategy document should start with a scope of the testing strategy.

This section details the precise extent of the testing, and allows the reader to instantly identify;

I also generally include the exclusions from the testing, along with precise details as to why those areas are not being tested. I find that this avoids the situations where people assume that something will be tested, and that they ‘just haven’t read it in the strategy’.

 

Project Management

This section of the strategy defines how I shall run the testing project. As the testing is (strictly speaking) done on behalf of the users, we include this so that they have a feeling of control. I also find that the business areas knowing how the project will be ran is a comfort factor to those people.

This section tends to have three subsections.

 

Problem Management

 

  • Will be identified.
  • Will be analysed.
  • Will be escalated to development teams.
  • Will be controlled, i.e. how they will be recorded and prioritised, how you will ensure that all problems are remedied and that none are forgotten / missed.
  •  

     

    Testing Strategy

    This section of the document details all of the testing processes that shall be executed to prove the functionality of the application. This is also broken up into smaller sections;

    Testing Methodologies

    Stabilisation Testing

    We have already discussed this methodology

     

    Guerrilla Testing

    This is testing that opportunistically seeks to find severe bugs wherever they may be. Guerrilla testing is much less planned than the previous kind.

    The extent of planning is usually "Mr(s) X , you’re the most experienced tester, and you have a knack for finding bugs. From now until the end of the project, bash away at whatever seem to be the shakiest parts of the application."

    Guerrilla tests are usually not documented or preserved.

    I must at this point acknowledge Brian Marick (Testing Foundations) and Steve Stukenbourg's (Pure Atria) article "The Test Manager at the Project Status Meeting" for the above quote. I have always termed this as 'unstructured testing', but there description is much better.

    Unfortunately, I have lost the URL for this article, but do have a copy. If you want a copy, it is available from my company site (www.amjec.co.uk ) on the testing documents page - http://www.amjec.co.uk/testdocs.htm

    Better still, mail me the URL, and I'll post a link to it.

     

    Regression Testing

    This is testing carried out to prove that existing functionality of an application has not been impaired.

    It usually consists of running a series of tests which have previously been proven as accurate, and ensuring that these cases continue to yield the same results.

    Regression Testing is usually down towards the end of the testing project, when (hopefully) most of the major bugs have been fixed..

     

    Test Data / Test Cases Modules

    The final section (and usually by far the largest) is the details of the precise test cases / data that shall be passed through the application.

    This section should contain all the test cases and the anticipated results of passing those cases through the application.

    I will not go into great detail, as this is both the most self-explanatory section, and also the most subjective.

    However, I can relate a short ‘war story’ concerning test cases from my own experience.

    Previously we have requested business areas to supply test cases that we would process, and return for checking.

    This was to allow the users to ensure that all the specifics they needed to see in the application were functioning correctly.

    However, what tended to happen would be each area would overlap test cases, as there are always areas of common interest.

    For example, one of our applications produces the legal documentation between our company and the client when a new life assurance policy is taken out.

    These are very important documents, and many areas would be interested in seeing that they were correct;


    Home | Read my CV | Search the WWW | Pictures
    User Acceptance Testing | Learning to Program in C