You are on page 1of 14

The Importance of Software Testing

1
A Necessary Evil

 All project managers know that they must


do some testing
 The basic questions are;
 How much?
 What sort?
 By whom?
 When and by when?

 All difficult questions.


2
Why do we test?

 Provide confidence in the system


 Identify areas of weakness
 Establish the degree of quality
 Establish the extent that the requirements have
been met, i.e. what the users asked for is what
they got not what someone else though they
wanted
 To provide an understanding of the overall system
 To prove it is both usable and operable
 To provide sufficient information to allow an
objective decision on applicability to deploy

3
Another view – cynical?

 To use up spare budget


 To provide a good excuse why the project is
late
 To provide jobs for people who can’t code
 To make the developers look good
 To provide the project manager with some
contingency in the plan and can be cut if if
push come to shove!

4
First up – How much?

 How good does the product need to be?


 How do we measure it?
 How do we make a decision?
 Are there any legal or compliance issues?
 What industry are you in?
 What will it cost?
 Time and resource [human and machine]
 Are we capable?
 We know what we need to do but can we do it?

5
How do we decide?

 What matters to our users?


 What does the system do?
 Risk
 Requirements
 Money

 Test Techniques - Coverage


 Static
 Dynamic

6
Secondly – What sort?

 Unit
 Interface
 Functionality
 Performance
 Usability ………plus about another
 Security
20 ‘abilities’ 
 Availability
 Operability

7
Do we need tools to help?

 Automated test tools are often seen as a silver


bullet

 Some tests cannot be successfully executed or


analysed without them

 80% of test tools end up as shelfware through:


 Abandonment
 Neglect
 Banishment

8
Thirdly – By whom?

 Users: those who will ultimately use the


system
 Customers: those who define the system –
are they the same as the users?

 Testers
 Analysts
 Developers

9
Are we capable of testing?

 Is an experienced tester better than an


experienced user at finding faults?

 How can testers help themselves and users?


 Working with the users to understand their
systems
 Providing testing skills transfer
 Attending testing industry conferences
 Attaining industry recognised software testing
qualifications

10
Lastly – When?

 Once the code is complete?


 As soon as the architecture is defined?
 Once the system delivery is complete?
 During development?
 Once the business requirements have been
defined?
 As soon as the project is given the go-
ahead?

11
Test then Code

Then test some more……………………

12
By when?

 Project deadline driven by:


 Legislation
 Arbitrary date
 Financial year
 Calendar date
 Seasonal
 Marketing window
 Safety Criticality
 Money

13
Summary

 Testing is an integral part of the system development


function, not an afterthought:
 Testing starts with the requirements not the code
 Testing is a static and dynamic activity
 Prevention is better than cure
 The sooner you find the fault the cheaper it is to fix
 Create re-usable ‘testware’
 Process first then tools
 Not everyone can test well, use professional testers
 Planned testing in a controlled environment provides
objective metrics

 To gain a Return on Investment you must first Invest

14

You might also like