Software testability: Difference between revisions

Content deleted Content added
formatting. Not approving of the previous edit
Citation bot (talk | contribs)
m Alter: template type. Add: url, isbn. Removed parameters. | You can use this bot yourself. Report bugs here.| Activated by User:Marianne Zimmerman
Line 8:
Therefore, testability is often thought of as an [[extrinsic]] property which results from interdependency of the software to 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) it should be considered an [[intrinsic]] property of a software artifact because it is highly correlated with other key software qualities such as encapsulation, coupling, cohesion, 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 journalbook | last1=Shalloway | first1=Alan | last2=Trott | first2=Jim | title=Design Patterns Explained, 2nd Ed | page=133 | year=2004 | ISBNisbn=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>.
 
In order to link the testability with the difficulty to find potential faults in a system (if they exist) by testing it, a relevant measure to assess the testability is how many test cases are needed in each case to form a complete test suite (i.e. a test suite such that, after applying all test cases to the system, collected outputs will let us unambiguously determine whether the system is correct or not according to some specification). If this size is small, then the testability is high. Based on this measure, a [[#Testability hierarchy|testability hierarchy]] has been proposed.<ref name="RodriguezLlanaRabanal">{{cite journal | last1=Rodríguez | first1=Ismael | last2=Llana | first2=Luis | last3=Rabanal | first3=Pablo | title=A General Testability Theory: Classes, properties, complexity, and testing reductions | journal=IEEE Transactions on Software Engineering | volume=40 | issue=9 | pages=862-894862–894 | year=2014 | issn=0098-5589 | doi=10.1109/TSE.2014.2331690| url=https://zenodo.org/record/1008509 }}</ref><ref name="Rodriguez">{{cite conference | last=Rodríguez | first=Ismael | title=A General Testability Theory | doi=10.1007/978-3-642-04081-8_38 | year=2009 | booktitle=CONCUR 2009 - Concurrency Theory, 20th International Conference, CONCUR 2009, Bologna, Italy, September 1-4, 2009. Proceedings | pages=572-586572–586 | ISBN=978-3-642-04080-1}}</ref>
 
== Background ==