Software testability: Difference between revisions

Content deleted Content added
Rescuing 1 sources and tagging 0 as dead. #IABot (v1.6.5)
No edit summary
Line 2:
'''Software testability''' is the degree to which a software artifact (i.e. a software system, software module, requirements- or design document) supports testing in a given test context. If the testability of the software artifact is high, then finding faults in the system (if it has any) by means of testing is easier.
 
Testability isos notoften thought of as an [[intrinsicextrinsic]] property which results from interdependency of athe software artifactto be tested and the test goals, test methods used, and test resources (i.e., the test context). Even though testability can not be measured directly (such as software size). Insteadit testabilityshould isbe considered an [[extrinsicintrinsic]] property which results from interdependency of thea software toartifact bebecause testedit andis thehighly testcorrelated goals,with testother methodskey used,software andqualities testsuch resourcesas (i.e.encapsulation, thecoupling, testcohesion, context)and redundancy.
 
The correlation of 'testability' to good design can be observed by seeing that code that has weak cohesion, tight coupling, redundancy and lack of encapsulation is difficult to test<ref name="DesignPatternsExplained2ndEd">{{cite journal | last1=Shalloway | first1=Alan | last2=Trott | first2=Jim | title=Design Patterns Explained, 2nd Ed | page=133 | year=2004 | ISBN=978-0321247148 }}</ref>.
 
A lower degree of testability results in increased [[test effort]]. In extreme cases a lack of testability may hinder testing parts of the software or [[software requirements]] <u>at all</u>.