Upload
bebo-technology
View
1.401
Download
4
Tags:
Embed Size (px)
Citation preview
1
By
Hiba. R. Skandarani
Student at Benghazi University
Spring of 2011-2012
Software Testability
2
Introduction Definition of Software Testability. Why Testability Matters? Design for Testability! What Makes an SUT Testable? Testability-Explorer Tool
Testability Report. Conclusion. References.
3
Definition of Software Testability
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.
4
Why Testability Matters? Economics
Sooner is better. Higher testability More better tests. Lower testability Fewer weaker tests.
Poor Testability Ineffective Testing Sever Penalties
5
Design for Testability!
6
What Makes an SUT Testable?
7
What Makes an SUT Testable?
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.
8
What Makes an SUT Testable?
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.
9
Testability-Explorer Tool 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.
10
Testability Report
11
Testability Report
12
Testability Report
13
Testability ReportClass: com.google.test.metric.method.op.stack.Transform
14
Conclusion 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.
15
References “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).
16
References “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/
17
Thank You for Listening
Any Questions?