TESTABILITY OF SOFTWARE COMPONENTS

被引:101
|
作者
FREEDMAN, RS [1 ]
机构
[1] POLYTECH INST NEW YORK,DEPT COMP SCI,BROOKLYN,NY 11201
关键词
SOFTWARE TESTING; FUNCTIONAL TESTING; TESTABILITY; OBSERVABILITY; CONTROLLABILITY;
D O I
10.1109/32.87281
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The knowledge as to whether a software component is testable or not is important to the software engineering process: a program that is not easily testable may have to go through several iterations of program and test redesign. In this paper we formally investigate the meaning of software testability. We define a new concept, domain testability, by applying the concepts of observability and controllability to software. Observability refers to the ease of determining if specified inputs affect the outputs; controllability refers to the ease of producing a specified output from a specified input. Observability and controllability properties are already used for assessing the testability of hardware components. A domain testable program is observable and controllable: it does not exhibit any test input-output inconsistencies. We discuss to domain testability properties of several programs which have been presented in the literature and investigate the observability and controllability properties of several programming structures. We also define new testing metrics (that can be applied to programs or to functional specifications) which can be used to easily asses the level of effort required to modify a program so that it becomes domain testable. We also show how testability can be assessed from program specifications and discuss an experiment which shows that it takes less time to build and test a program developed from a domain-testable specification than a similar program developed from a nondomain-testable specification. In the Appendix, domain testability is defined in terms of denotational semantics.
引用
收藏
页码:553 / 564
页数:12
相关论文
共 50 条
  • [1] Testability analysis for software components
    Nguyen, TB
    Delaunay, M
    Robach, C
    [J]. INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2002, : 422 - 429
  • [2] A survey on software testability
    Garousi, Vahid
    Felderer, Michael
    Kilicaslan, Feyza Nur
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2019, 108 : 35 - 64
  • [3] An approach to software testability measurement
    Lin, JC
    Lin, SW
    Huang, L
    [J]. ASIA PACIFIC SOFTWARE ENGINEERING CONFERENCE AND INTERNATIONAL COMPUTER SCIENCE CONFERENCE, PROCEEDINGS, 1997, : 515 - 516
  • [4] SOFTWARE TESTABILITY - THE NEW VERIFICATION
    VOAS, JM
    MILLER, KW
    [J]. IEEE SOFTWARE, 1995, 12 (03) : 17 - 28
  • [5] Learning to Predict Software Testability
    Nasrabadi, Morteza Zakeri
    Parsa, Saeed
    [J]. 2021 26TH INTERNATIONAL COMPUTER CONFERENCE, COMPUTER SOCIETY OF IRAN (CSICC), 2021,
  • [6] Testability analysis of reactive software
    Nguyen, TB
    Robach, C
    Delaunay, M
    [J]. IWOTA 2004: 1ST INTERNATIONAL WORKSHOP ON TESTABILITY ASSESSMENT, PROCEEDINGS, 2004, : 15 - 25
  • [7] A New Approach for Software Testability
    du Bousquet, Lydie
    [J]. TESTING - PRACTICE AND RESEARCH TECHNIQUES, 2010, 6303 : 207 - 210
  • [8] SEMANTIC METRICS FOR SOFTWARE TESTABILITY
    VOAS, JM
    MILLER, KW
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1993, 20 (03) : 207 - 216
  • [9] A process for improving software testability
    Lamoreaux, T
    Ofori-Kyei, M
    Pinone, M
    [J]. 20TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2004, : 502 - 502
  • [10] An analytic software testability model
    Lin, JC
    Lin, SW
    [J]. PROCEEDINGS OF THE 11TH ASIAN TEST SYMPOSIUM (ATS 02), 2002, : 278 - 283