Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The Fundamentals of Testing


Published on

  • Be the first to comment

  • Be the first to like this

The Fundamentals of Testing

  1. 1. The Importance of Software Testing Testing Solutions Group Limited 6 th Floor, Walbrook House 23-29 Walbrook, London EC4N 8BT email:
  2. 2. A Necessary Evil <ul><li>All project managers know that they must do some testing </li></ul><ul><li>The basic questions are; </li></ul><ul><ul><li>How much? </li></ul></ul><ul><ul><li>What sort? </li></ul></ul><ul><ul><li>By whom? </li></ul></ul><ul><ul><li>When and by when? </li></ul></ul><ul><li>All difficult questions. </li></ul>
  3. 3. Why do we test? <ul><li>Provide confidence in the system </li></ul><ul><li>Identify areas of weakness </li></ul><ul><li>Establish the degree of quality </li></ul><ul><li>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 </li></ul><ul><li>To provide an understanding of the overall system </li></ul><ul><li>To prove it is both usable and operable </li></ul><ul><li>To provide sufficient information to allow an objective decision on applicability to deploy </li></ul>
  4. 4. Another view – cynical? <ul><li>To use up spare budget </li></ul><ul><li>To provide a good excuse why the project is late </li></ul><ul><li>To provide jobs for people who can’t code </li></ul><ul><li>To make the developers look good </li></ul><ul><li>To provide the project manager with some contingency in the plan and can be cut if if push come to shove! </li></ul>
  5. 5. First up – How much? <ul><li>How good does the product need to be? </li></ul><ul><ul><li>How do we measure it? </li></ul></ul><ul><ul><li>How do we make a decision? </li></ul></ul><ul><li>Are there any legal or compliance issues? </li></ul><ul><ul><li>What industry are you in? </li></ul></ul><ul><li>What will it cost? </li></ul><ul><ul><li>Time and resource [human and machine] </li></ul></ul><ul><li>Are we capable? </li></ul><ul><ul><li>We know what we need to do but can we do it? </li></ul></ul>
  6. 6. How do we decide? <ul><li>What matters to our users? </li></ul><ul><ul><li>What does the system do? </li></ul></ul><ul><ul><li>Risk </li></ul></ul><ul><ul><li>Requirements </li></ul></ul><ul><ul><li>Money </li></ul></ul><ul><li>Test Techniques - Coverage </li></ul><ul><ul><li>Static </li></ul></ul><ul><ul><li>Dynamic </li></ul></ul>
  7. 7. Secondly – What sort? <ul><li>Unit </li></ul><ul><li>Interface </li></ul><ul><li>Functionality </li></ul><ul><li>Performance </li></ul><ul><li>Usability </li></ul><ul><li>Security </li></ul><ul><li>Availability </li></ul><ul><li>Operability </li></ul>……… plus about another 20 ‘abilities’ 
  8. 8. Do we need tools to help? <ul><li>Automated test tools are often seen as a silver bullet </li></ul><ul><li>Some tests cannot be successfully executed or analysed without them </li></ul><ul><li>80% of test tools end up as shelfware through: </li></ul><ul><ul><li>Abandonment </li></ul></ul><ul><ul><li>Neglect </li></ul></ul><ul><ul><li>Banishment </li></ul></ul>
  9. 9. Thirdly – By whom? <ul><li>Users: those who will ultimately use the system </li></ul><ul><li>Customers: those who define the system – are they the same as the users? </li></ul><ul><li>Testers </li></ul><ul><li>Analysts </li></ul><ul><li>Developers </li></ul>
  10. 10. Are we capable of testing? <ul><li>Is an experienced tester better than an experienced user at finding faults? </li></ul><ul><li>How can testers help themselves and users? </li></ul><ul><ul><li>Working with the users to understand their systems </li></ul></ul><ul><ul><li>Providing testing skills transfer </li></ul></ul><ul><ul><li>Attending testing industry conferences </li></ul></ul><ul><ul><li>Attaining industry recognised software testing qualifications </li></ul></ul>
  11. 11. More information <ul><li>Non-Functional test technique definitions and other standards: </li></ul><ul><li>STQE Magazine: </li></ul><ul><li>BCS ISEB Software Testing Certification </li></ul><ul><ul><li>Foundation </li></ul></ul><ul><ul><li>Practitioner </li></ul></ul><ul><ul><li> </li></ul></ul><ul><li>Special Interest Group in Software Testing – SIGiST: </li></ul><ul><li>EuroSTAR: </li></ul><ul><li>ICSTest: </li></ul>
  12. 12. Lastly – When? <ul><li>Once the code is complete? </li></ul><ul><li>As soon as the architecture is defined? </li></ul><ul><li>Once the system delivery is complete? </li></ul><ul><li>During development? </li></ul><ul><li>Once the business requirements have been defined? </li></ul><ul><li>As soon as the project is given the go-ahead? </li></ul>
  13. 13. <ul><li>Test then Code </li></ul>Then test some more……………………
  14. 14. <ul><li>Project deadline driven by: </li></ul><ul><ul><li>Legislation </li></ul></ul><ul><ul><li>Arbitrary date </li></ul></ul><ul><ul><li>Financial year </li></ul></ul><ul><ul><li>Calendar date </li></ul></ul><ul><ul><li>Seasonal </li></ul></ul><ul><ul><li>Marketing window </li></ul></ul><ul><ul><li>Safety Criticality </li></ul></ul><ul><ul><li>Money </li></ul></ul>By when?
  15. 15. Summary <ul><li>Testing is an integral part of the system development function, not an afterthought: </li></ul><ul><ul><li>Testing starts with the requirements not the code </li></ul></ul><ul><ul><li>Testing is a static and dynamic activity </li></ul></ul><ul><ul><li>Prevention is better than cure </li></ul></ul><ul><ul><li>The sooner you find the fault the cheaper it is to fix </li></ul></ul><ul><ul><li>Create re-usable ‘testware’ </li></ul></ul><ul><ul><li>Process first then tools </li></ul></ul><ul><ul><li>Not everyone can test well, use professional testers </li></ul></ul><ul><ul><li>Planned testing in a controlled environment provides objective metrics </li></ul></ul><ul><ul><li>To gain a Return on Investment you must first Invest </li></ul></ul>
  16. 16. The Importance of Software Testing Testing Solutions Group Limited 6 th Floor, Walbrook House 23-29 Walbrook, London EC4N 8BT email: