Definition of Software Testability. Why Testability Matters? Design for Testability! What Makes an SUT Testable? Testability-Explorer Tool Testability Report. Conclusion. References.
Testability: The ease with which a computer program can be tested. ISO: Defines testability “Attributes of software that bear on the effort needed to validate the software product”. IEEE: Defines testability as the degree to which a system or component facilitates the establishment of test criteria and performance of tests to determine whether those criteria have been met.
Economics Sooner is better. Higher testability More better tests. Lower testability Fewer weaker tests. Poor Ineffective Sever Testability Testing Penalties
Controllability The better we can control it, the more the testing can be optimized. Observability What you see is what can be tested. Availability To test it, we have to get at it. Simplicity The simpler it is, the less there is to test.
Stability The fewer the changes, the fewer the disruptions to testing. Information The more information we have, the smarter we will test. Operability The better it works, the more efficiently it can be tested.
What is it? Testability-Explorer can be used: 1. As a learning tool. 2. As a part of your code analysis-toolset. 3. As a tool which can be added into continuous integration that can enforce testable code. Currently the tool compute: 1. Total Recursive Cyclomatic Complexity. 2. Global Mutable State.
Testability is an important attribute for software under test. Minimize the cost and effort needed to create test cases. helps to produce high quality product.
“A Measurement Framework for Object-Oriented Software Testability” by(Samar Mouchawrab, Lionel C. Briand, Yvan Labiche) technical report Published on April 2005. “Methods for Increasing Software Testability” by(Birgitta Lindstrom, Jonas Mellin, and Sten Andler). “Improving Software Testability” by(George Yee) Jan 14, 2000. “Analyzing Testability on Data Flow Designs” by(Yves Le Traon, Farid Ouabdesselam, andChantal Robach). “Heuristics of Software Testability” by(James Bach).
“The Benefit of Software Testability” by(Sarah Murphy) Last updated Wednesday, 14 October 2009 09:45. “Testing Testability” by(Ipsita Chatterjee) www.stickyminds.com Last entered 22-5-2012 08:55. “Testability: Factors & Strategy” by(Robert V. Binder) Google Test Automation Conference Hyderabad October 28, 2012. “Reviewing Software Artifacts for Testability” by(Stefan Jungmayr). http://code.google.com/p/testability-explorer/