Presentation is loading. Please wait.

Presentation is loading. Please wait.

Improving Software Testability Adam Knight – Test Team Leader, Clearpace Ltd. April 29 th 2009.

Similar presentations


Presentation on theme: "Improving Software Testability Adam Knight – Test Team Leader, Clearpace Ltd. April 29 th 2009."— Presentation transcript:

1 Improving Software Testability Adam Knight – Test Team Leader, Clearpace Ltd. April 29 th 2009

2 Slide 2 © Clearpace Software Ltd, 2009 What is testability? Enabling the execution of repeatable tests to exercise as extensively as possible software functionality. Allowing the collection of meaningful results. Enabling efficient identification and diagnosis of faults. Enabling the collection of meaningful information on the system behaviour to model behaviour.

3 Slide 3 © Clearpace Software Ltd, 2009 Why improve software testability? Improving testability can increase:- Confidence. Velocity. Supportability. Functionality. How may we achieve this ? A major consideration is software design for testability

4 Slide 4 © Clearpace Software Ltd, 2009 Designing for Testability - Simplicity Simplicity – creating the simplest solution possible to each problem Develop the simplest functionality to meet each requirement Limit the functionality to that required to meet the requirement and no more Ensure consistent code design and reuse code where possible

5 Slide 5 © Clearpace Software Ltd, 2009 Designing for Testability - Observability Observability - The ability to report system activity and state in a known format to test processes System state can be queried Diagnostics and logs can be obtained in a consistent form Error conditions are handled with meaningful messages exposed Outputs are consistent

6 Slide 6 © Clearpace Software Ltd, 2009 Designing for Testability - Control Control - The ability to harness and control the application functionality System can be controlled using repeatable automated processes All factors/variables affecting the state of the system are visible and controllable System state can be easily restored to a known point System can be easily installed, upgraded and removed in full via an automated process

7 Slide 7 © Clearpace Software Ltd, 2009 Designing for Testability - Knowledge Knowledge – having a full knowledge of the behaviour that we are expecting Design the requirements/stories on the basis of what the user needs to achieve Tester has domain expertise Access to complementary or related products Tester has access to the relevant resources Customer/product owner Documentation

8 Slide 8 © Clearpace Software Ltd, 2009 Designing for Testability - Stability Stability - ensuring the behaviour of the application remains as reliable and consistent as possible Only changes that are specifically required to address the documented work items are implemented Minimise bugs introduced to allow quick efficient testing

9 Slide 9 © Clearpace Software Ltd, 2009 Discussion Are there any additional aspects of testability not discussed that we should consider? Identify what the main technical obstacles are to testability in our products What can we do to improve testability in our products?

10 Slide 10 © Clearpace Software Ltd, 2009 References Heuristics of Software Testability, James Bach, Satisfice Inc. User Stories applied for Agile Software Testing – M. Cohn Improving Testability – Dave Catlett, Microsoft (presentation) Design for Testability – Bret Pettichord

11 Slide 11 © Clearpace Software Ltd, 2009 adam.knight@clearpace.com


Download ppt "Improving Software Testability Adam Knight – Test Team Leader, Clearpace Ltd. April 29 th 2009."

Similar presentations


Ads by Google