Software Test Consultancy



Coton Park House
Linton
Swadlincote
Derbyshire
DE12 6RA UK


T: +44(0)1283 763632
F: +44(0)1283 763631


Software Testing Best Practice




Contents

Software Testing Best Practice

Adopting Best Practice

SQC Capabilities

More Details

Problems With Test Strategies

Software Assurance

Analysis Led Approach

Selecting Test Packages



Software Testing is a demanding activity. Shortage of resources and tight timescales are the norm. Given this, the effective use of the available resources is essential. Effective testing demands an in-depth understanding of the practice of software testing. Effective use of these practices demands that methods are adopted that guide teams towards achieving best practice.

Software testing is most efficient / effective when it is risk driven. It requires a systematic approach be used to select what should be tested and the nature of the tests to apply (see section on an Analysis Led Approach ). Systematic techniques must be used to design the tests. Choosing appropriate test packages is very important. All packages should address specific fault finding objectives or management support purposes ( see section on Selecting Test Packages ).

The important test packages, those that must take priority if resources are to be used effectively, can only be identified as the project progresses. Analysis must be performed by the test team to permit identification of these packages. Big bang test definition is the wrong approach. It is not possible to identify / define the highest priority test activities in the planning stages, a test strategy developed at this stage should limit itself to strategic test packages and to addressing the analysis to be undertaken to allow the test definition to evolve (see section on Problems With Test Strategies ).

Delivering a high quality software product does not just require effective testing. Testing finds problems but prevention is as important. Quality depends upon addressing all aspects of a software assurance programme. ( see Software Assurance )

Adopting Best Practice


Changing software assurance practices within an organisation can be difficult. This is true whether the change aims to introduce formal assurance for the first time, is attempting to replace expensive but ineffective practices or is trying to improve on current performance. A major danger is to attempt to apply generic prescriptive processes which are impractical or unsuitable or to apply them without adapting them to the needs of the organisation.

When attempting change having informed independent advice available is highly beneficial. It helps to identify an appropriate approach, provides guidance on adequate resourcing and helps to avoid the pitfall of trying to do too much at once. A pragmatic external consultant can prevent an organisation attempting to apply standards and methods 'by the book' when a more flexible interpretation is necessary.

SQC Capabilities

Software testing and software assurance consultancy assignments are performed by Neil Hudson MBCS CEng a British Computer Society Registered Consultant. Neil has over 15 years real world experience of software assurance and software testing. He has also designed / implemented software and managed software development. He has evolved an effective pragmatic approach to software assurance based upon his experiences in this field. ( see Neil Hudson's Profile ).

The approaches are outlined above and described in more detail elsewhere on this site. These approaches are based on many years of experience. Experience of the difficulties of delivering effective software assurance. In particular, of the difficulties of applying off the shelf formulaic processes and of applying the 'big bang' approach to upfront test definition ( in particular see Problems With Test Strategies ).

Having managed all development activities, not just software assurance, for a number of projects Neil has been responsible for the delicate balance between competing assurance, development and business demands. His views on software assurance have been shaped by this with a clear recognition that generally assurance activities are not an end in themselves.

SQC's consultancy offering is based on this wide ranging experience and on the approaches that have been developed to overcome the difficulties encountered along the way. SQC can provide clients with highly effective pragmatic consultancy to support their adoption of better software assurance and software testing practices.