Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
Skip header Section
Introduction to Software TestingFebruary 2008
Publisher:
  • Cambridge University Press
  • 40 W. 20 St. New York, NY
  • United States
ISBN:978-0-521-88038-1
Published:29 February 2008
Pages:
344
Skip Bibliometrics Section
Reflects downloads up to 30 Aug 2024Bibliometrics
Skip Abstract Section
Abstract

Extensively class tested, this text takes an innovative approach to explaining the process of software testing: it defines testing as the process of applying a few well-defined, general-purpose test criteria to a structure or model of the software. The structure of the text directly reflects the pedagogical approach and incorporates the latest innovations in testing, including techniques to test modern types of software such as OO, web applications, and embedded software.

Cited By

  1. ACM
    Carvalho L, Degiovanni R, Cordy M, Aguirre N, Le Traon Y and Papadakis M SpecBCFuzz: Fuzzing LTL Solvers with Boundary Conditions Proceedings of the IEEE/ACM 46th International Conference on Software Engineering, (1-13)
  2. ACM
    Shin A and Kazerouni A (2023). A Model of How Students Engineer Test Cases With Feedback, ACM Transactions on Computing Education, 24:1, (1-31), Online publication date: 31-Mar-2024.
  3. Dang X, Li Y, Papadakis M, Klein J, Bissyandé T and Traon Y (2024). Test Input Prioritization for Machine Learning Classifiers, IEEE Transactions on Software Engineering, 50:3, (413-442), Online publication date: 1-Mar-2024.
  4. ACM
    Dang X, Li Y, Papadakis M, Klein J, Bissyandé T and Le Traon Y (2023). GraphPrior: Mutation-based Test Input Prioritization for Graph Neural Networks, ACM Transactions on Software Engineering and Methodology, 33:1, (1-40), Online publication date: 31-Jan-2024.
  5. ACM
    Moradi Moghadam M, Bagherzadeh M, Khatchadourian R and Bagheri H 𝜇Akka: Mutation Testing for Actor Concurrency in Akka using Real-World Bugs Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (262-274)
  6. ACM
    Li M, Cao J, Tian Y, Li T, Wen M and Cheung S (2023). COMET: Coverage-guided Model Generation For Deep Learning Library Testing, ACM Transactions on Software Engineering and Methodology, 32:5, (1-34), Online publication date: 30-Sep-2023.
  7. Viganò E, Cornejo O, Pastore F and Briand L (2023). Data-Driven Mutation Analysis for Cyber-Physical Systems, IEEE Transactions on Software Engineering, 49:4, (2182-2201), Online publication date: 1-Apr-2023.
  8. ACM
    Lima S, Campos D and Machado I A thematic synthesis on the adoption of regression testing techniques in Android projects Proceedings of the XXI Brazilian Symposium on Software Quality, (1-10)
  9. Mondal S and Nasre R (2022). ${{\sf Colosseum}}$Colosseum: Regression Test Prioritization by Delta Displacement in Test Coverage, IEEE Transactions on Software Engineering, 48:10, (4060-4073), Online publication date: 1-Oct-2022.
  10. ACM
    Xu X, Beckett R, Jayaraman K, Mahajan R and Walker D Test coverage metrics for the network Proceedings of the 2021 ACM SIGCOMM 2021 Conference, (775-787)
  11. Brida S, Regis G, Zheng G, Bagheri H, Nguyen T, Aguirre N and Frias M Bounded Exhaustive Search of Alloy Specification Repairs Proceedings of the 43rd International Conference on Software Engineering, (1135-1147)
  12. ACM
    Chekam T, Papadakis M, Cordy M and Traon Y (2021). Killing Stubborn Mutants with Symbolic Execution, ACM Transactions on Software Engineering and Methodology, 30:2, (1-23), Online publication date: 1-Mar-2021.
  13. Nayebi M, Ruhe G and Zimmermann T (2021). Mining Treatment-Outcome Constructs from Sequential Software Engineering Data, IEEE Transactions on Software Engineering, 47:2, (393-411), Online publication date: 1-Feb-2021.
  14. ACM
    Roy D, Zhang Z, Ma M, Arnaoudova V, Panichella A, Panichella S, Gonzalez D and Mirakhorli M DeepTC-enhancer Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering, (287-298)
  15. ACM
    Souza B and Machado P A Large Scale Study On the Effectiveness of Manual and Automatic Unit Test Generation Proceedings of the XXXIV Brazilian Symposium on Software Engineering, (253-262)
  16. ACM
    Chen J, Wu Z, Wang Z, You H, Zhang L and Yan M (2020). Practical Accuracy Estimation for Efficient Deep Neural Network Testing, ACM Transactions on Software Engineering and Methodology, 29:4, (1-35), Online publication date: 6-Oct-2020.
  17. ACM
    Shakya R and Rahman A A preliminary taxonomy of techniques used in software fuzzing Proceedings of the 7th Symposium on Hot Topics in the Science of Security, (1-2)
  18. ACM
    Kim S and Yoo S Evaluating Surprise Adequacy for Question Answering Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops, (197-202)
  19. ACM
    Jain K, Palmskog K, Celik A, Arias E and Gligoric M mCoq Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings, (89-92)
  20. ACM
    Gerasimou S, Eniser H, Sen A and Cakan A Importance-driven deep learning system testing Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, (702-713)
  21. ACM
    Tan S and Li Z Collaborative bug finding for Android apps Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, (1335-1347)
  22. ACM
    Girardon G, Costa V, Machado R, Bernardino M, Legramante G, Basso F, de Macedo Rodrigues E and Neto A Testing as a service (TaaS) Proceedings of the 35th Annual ACM Symposium on Applied Computing, (1989-1996)
  23. Endres M, Sakkas G, Cosman B, Jhala R and Weimer W InFix Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering, (399-410)
  24. Godio A, Bengolea V, Ponzio P, Aguirre N and Frias M Efficient test generation guided by field coverage criteria Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering, (91-101)
  25. ACM
    Nair A, Meinke K and Eldh S Leveraging mutants for automatic prediction of metamorphic relations using machine learning Proceedings of the 3rd ACM SIGSOFT International Workshop on Machine Learning Techniques for Software Quality Evaluation, (1-6)
  26. ACM
    Kessel M and Atkinson C A platform for diversity-driven test amplification Proceedings of the 10th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, (35-41)
  27. ACM
    Scott E and Luke S ECJ at 20 Proceedings of the Genetic and Evolutionary Computation Conference Companion, (1391-1398)
  28. ACM
    Ghanbari A, Benton S and Zhang L Practical program repair via bytecode mutation Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, (19-30)
  29. Motwani M and Brun Y Automatically generating precise Oracles from structured natural language specifications Proceedings of the 41st International Conference on Software Engineering, (188-199)
  30. ACM
    Markiegi U, Arrieta A, Etxeberria L and Sagardui G Test case selection using structural coverage in software product lines for time-budget constrained scenarios Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, (2362-2371)
  31. ACM
    Mahmoud A, Venkatagiri R, Ahmed K, Misailovic S, Marinov D, Fletcher C and Adve S Minotaur Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, (1087-1103)
  32. Nguyen H, Phan H, Kästner C and Nguyen T (2019). Exploring output-based coverage for testing PHP web applications, Automated Software Engineering, 26:1, (59-85), Online publication date: 1-Mar-2019.
  33. ACM
    Brun Y and Meliou A Software fairness Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (754-759)
  34. ACM
    Ma L, Juefei-Xu F, Zhang F, Sun J, Xue M, Li B, Chen C, Su T, Li L, Liu Y, Zhao J and Wang Y DeepGauge: multi-granularity testing criteria for deep learning systems Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, (120-131)
  35. ACM
    Abdessalem R, Panichella A, Nejati S, Briand L and Stifter T Testing autonomous cars for feature interaction failures using many-objective search Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, (143-154)
  36. ACM
    Hilton M, Bell J and Marinov D A large-scale study of test coverage evolution Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, (53-63)
  37. ACM
    Wang K, Sullivan A and Khurshid S Automated model repair for Alloy Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, (577-588)
  38. Arasteh B and Najafi J (2018). Programming guidelines for improving software resiliency against soft-errors without performance overhead, Computing, 100:9, (971-1003), Online publication date: 1-Sep-2018.
  39. Kintis M, Papadakis M, Papadopoulos A, Valvis E, Malevris N and Le Traon Y (2018). How effective are mutation testing tools? An empirical analysis of Java mutation testing tools with manual analysis and real faults, Empirical Software Engineering, 23:4, (2426-2463), Online publication date: 1-Aug-2018.
  40. ACM
    Ju A, Mehne B, Halle A and Fox A In-class coding-based summative assessments: tools, challenges, and experience Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education, (75-80)
  41. Klebanov V, Rümmer P and Ulbrich M (2018). Automating regression verification of pointer programs by predicate abstraction, Formal Methods in System Design, 52:3, (229-259), Online publication date: 1-Jun-2018.
  42. ACM
    Kessel M and Atkinson C Integrating reuse into the rapid, continuous software engineering cycle through test-driven search Proceedings of the 4th International Workshop on Rapid Continuous Software Engineering, (8-11)
  43. ACM
    Ponzio P, Bengolea V, Brida S, Scilingo G, Aguirre N and Frias M On the effect of object redundancy elimination in randomly testing collection classes Proceedings of the 11th International Workshop on Search-Based Software Testing, (67-70)
  44. ACM
    Marcozzi M, Bardin S, Kosmatov N, Papadakis M, Prevosto V and Correnson L Time to clean your test objectives Proceedings of the 40th International Conference on Software Engineering, (456-467)
  45. ACM
    Papadakis M, Shin D, Yoo S and Bae D Are mutation scores correlated with real fault detection? Proceedings of the 40th International Conference on Software Engineering, (537-548)
  46. ACM
    Arab I and Bourhnane S Reducing the cost of mutation operators through a novel taxonomy Proceedings of the International Conference on Geoinformatics and Data Analysis, (47-56)
  47. ACM
    Simos D, Kuhn R, Lei Y and Kacker R Combinatorial security testing course Proceedings of the 5th Annual Symposium and Bootcamp on Hot Topics in the Science of Security, (1-3)
  48. Carver R and Lei Y (2018). Stateless techniques for generating global and local test oracles for message-passing concurrent programs, Journal of Systems and Software, 136:C, (237-265), Online publication date: 1-Feb-2018.
  49. ACM
    de Cleva Farto G and Endo A Reuse of model-based tests in mobile apps Proceedings of the XXXI Brazilian Symposium on Software Engineering, (184-193)
  50. ACM
    Clarke P, Davis D, Chang-Lau R and King T (2017). Impact of Using Tools in an Undergraduate Software Testing Course Supported by WReSTT, ACM Transactions on Computing Education, 17:4, (1-28), Online publication date: 7-Sep-2017.
  51. Boukhris S, Andrews A, Alhaddad A and Dewri R (2017). A case study of black box fail-safe testing in web applications, Journal of Systems and Software, 131:C, (146-167), Online publication date: 1-Sep-2017.
  52. Gmez-Abajo P, Guerra E and Lara J (2017). A domain-specific language for model mutation and its application to the automated generation of exercises, Computer Languages, Systems and Structures, 49:C, (152-173), Online publication date: 1-Sep-2017.
  53. ACM
    Lachmann R, Felderer M, Nieke M, Schulze S, Seidl C and Schaefer I Multi-objective black-box test case selection for system testing Proceedings of the Genetic and Evolutionary Computation Conference, (1311-1318)
  54. Bae S, Park J and Ryu S Partition-based coverage metrics and type-guided search in concolic testing for JavaScript applications Proceedings of the 5th International FME Workshop on Formal Methods in Software Engineering, (72-78)
  55. Chekam T, Papadakis M, Traon Y and Harman M An empirical study on mutation, statement and branch coverage fault revelation that avoids the unreliable clean program assumption Proceedings of the 39th International Conference on Software Engineering, (597-608)
  56. Gligoric M, Khurshid S, Misailovic S and Shi A Mutation testing meets approximate computing Proceedings of the 39th International Conference on Software Engineering: New Ideas and Emerging Results Track, (3-6)
  57. ACM
    Márki A and Lindström B Mutation tools for Java Proceedings of the Symposium on Applied Computing, (1364-1415)
  58. Li N and Offutt J (2017). Test Oracle Strategies for Model-Based Testing, IEEE Transactions on Software Engineering, 43:4, (372-395), Online publication date: 1-Apr-2017.
  59. Gong D, Zhang G, Yao X and Meng F (2017). Mutant reduction based on dominance relation for weak mutation testing, Information and Software Technology, 81:C, (82-96), Online publication date: 1-Jan-2017.
  60. Deng L, Offutt J, Ammann P and Mirzaei N (2017). Mutation operators for testing Android apps, Information and Software Technology, 81:C, (154-168), Online publication date: 1-Jan-2017.
  61. Lindström B, Offutt J, Sundmark D, Andler S and Pettersson P (2017). Using mutation to design tests for aspect-oriented models, Information and Software Technology, 81:C, (112-130), Online publication date: 1-Jan-2017.
  62. (2017). An overview of the model integration process, Environmental Modelling & Software, 87:C, (49-63), Online publication date: 1-Jan-2017.
  63. Saeed A, Ab Hamid S and Mustafa M (2016). The experimental applications of search-based techniques for model-based testing, Applied Soft Computing, 49:C, (1094-1117), Online publication date: 1-Dec-2016.
  64. ACM
    Ponzio P, Aguirre N, Frias M and Visser W Field-exhaustive testing Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, (908-919)
  65. Tuya J, Riva C, Suarez-Cabal M and Blanco R (2016). Coverage-Aware Test Database Reduction, IEEE Transactions on Software Engineering, 42:10, (941-959), Online publication date: 1-Oct-2016.
  66. ACM
    Oliveira A, Souza P and Souza S ValiErlang Proceedings of the 1st Brazilian Symposium on Systematic and Automated Software Testing, (1-10)
  67. ACM
    Martins A and de Melo A Can you certify your software to MC/DC? Proceedings of the 1st Brazilian Symposium on Systematic and Automated Software Testing, (1-7)
  68. ACM
    Li N, Lei Y, Khan H, Liu J and Guo Y Applying combinatorial test data generation to big data applications Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, (637-647)
  69. (2016). When and what to automate in software testing? A multi-vocal literature review, Information and Software Technology, 76:C, (92-117), Online publication date: 1-Aug-2016.
  70. ACM
    Papadakis M, Henard C, Harman M, Jia Y and Le Traon Y Threats to the validity of mutation-based test assessment Proceedings of the 25th International Symposium on Software Testing and Analysis, (354-365)
  71. Shin D, Jee E and Bae D (2016). Comprehensive analysis of FBD test coverage criteria using mutants, Software and Systems Modeling (SoSyM), 15:3, (631-645), Online publication date: 1-Jul-2016.
  72. ACM
    Khalsa S, Labiche Y and Nicoletta J The power of single and error annotations in category partition testing Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering, (1-10)
  73. Stolee K, Elbaum S and Dwyer M (2016). Code search with input/output queries, Journal of Systems and Software, 116:C, (35-48), Online publication date: 1-Jun-2016.
  74. Enoiu E, Čaušević A, Ostrand T, Weyuker E, Sundmark D and Pettersson P (2016). Automated test generation using model checking, International Journal on Software Tools for Technology Transfer (STTT), 18:3, (335-353), Online publication date: 1-Jun-2016.
  75. ACM
    Li N, Guo J, Lei J, Li Y, Rao C and Cao Y Towards Agile Testing for Railway Safety-critical Software Proceedings of the Scientific Workshop Proceedings of XP2016, (1-4)
  76. ACM
    McMinn P, Harman M, Fraser G and Kapfhammer G Automated search for good coverage criteria Proceedings of the 9th International Workshop on Search-Based Software Testing, (43-44)
  77. ACM
    Luo Q, Poshyvanyk D, Nair A and Grechanik M FOREPOST Proceedings of the 38th International Conference on Software Engineering Companion, (593-596)
  78. ACM
    Sun C, Le V and Su Z Finding and analyzing compiler warning defects Proceedings of the 38th International Conference on Software Engineering, (203-213)
  79. ACM
    Mirzaei N, Garcia J, Bagheri H, Sadeghi A and Malek S Reducing combinatorics in GUI testing of android applications Proceedings of the 38th International Conference on Software Engineering, (559-570)
  80. ACM
    Öztürk M and Zengin A (2016). Improved GUI Testing using Task Parallel Library, ACM SIGSOFT Software Engineering Notes, 41:2, (1-8), Online publication date: 11-May-2016.
  81. Dashti M and Basin D Security Testing Beyond Functional Tests Proceedings of the 8th International Symposium on Engineering Secure Software and Systems - Volume 9639, (1-19)
  82. Guo H (2016). A semantic approach for automated test oracle generation, Computer Languages, Systems and Structures, 45:C, (204-219), Online publication date: 1-Apr-2016.
  83. Garousi V and Pfahl D (2016). When to automate software testing? A decision-support approach based on process simulation, Journal of Software: Evolution and Process, 28:4, (272-285), Online publication date: 1-Apr-2016.
  84. ACM
    Öztürk M and Zengin A (2016). Improved GUI Testing using Task Parallel Library, ACM SIGSOFT Software Engineering Notes, 41:1, (1-8), Online publication date: 22-Feb-2016.
  85. ACM
    Mcminn P, Wright C and Kapfhammer G (2015). The Effectiveness of Test Coverage Criteria for Relational Database Schema Integrity Constraints, ACM Transactions on Software Engineering and Methodology, 25:1, (1-49), Online publication date: 2-Dec-2015.
  86. Hentz C, Vinju J and Moreira A Reducing the Cost of Grammar-Based Testing Using Pattern Coverage Proceedings of the 27th IFIP WG 6.1 International Conference on Testing Software and Systems - Volume 9447, (71-85)
  87. Zhang W, Wei B and Du H An Output-Oriented Approach of Test Data Generation Based on Genetic Algorithm Proceedings of the ICA3PP International Workshops and Symposiums on Algorithms and Architectures for Parallel Processing - Volume 9532, (100-108)
  88. (2015). Event-driven web application testing based on model-based mutation testing, Information and Software Technology, 67:C, (159-179), Online publication date: 1-Nov-2015.
  89. Dokhanchi A, Zutshi A, Sriniva R, Sankaranarayanan S and Fainekos G Requirements driven falsification with coverage metrics Proceedings of the 12th International Conference on Embedded Software, (31-40)
  90. ACM
    Gligoric M, Groce A, Zhang C, Sharma R, Alipour M and Marinov D (2015). Guidelines for Coverage-Based Comparisons of Non-Adequate Test Suites, ACM Transactions on Software Engineering and Methodology, 24:4, (1-33), Online publication date: 2-Sep-2015.
  91. ACM
    Arcaini P, Gargantini A and Riccobene E Improving model-based test generation by model decomposition Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, (119-130)
  92. ACM
    Muşlu K, Brun Y and Meliou A Preventing data errors with continuous testing Proceedings of the 2015 International Symposium on Software Testing and Analysis, (373-384)
  93. ACM
    Beckert B, Klebanov V and Ulbrich M Regression verification for Java using a secure information flow calculus Proceedings of the 17th Workshop on Formal Techniques for Java-like Programs, (1-6)
  94. Fredericks E and Cheng B Automated generation of adaptive test plans for self-adaptive systems Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, (157-168)
  95. Huang Z and Alexander R Semantic Mutation Testing for Multi-agent Systems Revised, Selected, and Invited Papers of the Third International Workshop on Engineering Multi-Agent Systems - Volume 9318, (131-152)
  96. Nabulsi M and Hierons R (2015). A Test Framework for Communications-Critical Large-Scale Systems, IEEE Software, 32:3, (86-93), Online publication date: 1-May-2015.
  97. ACM
    Elyasov A, Prasetya W, Hage J, Rueda U, Vos T and Condori-Fernández N AB=ᗺA Proceedings of the 30th Annual ACM Symposium on Applied Computing, (1559-1566)
  98. ACM
    Patil A, Goveas N and Rangarajan K (2015). Re-architecture of Contiki and Cooja Regression Test Suites using Combinatorial Testing Approach, ACM SIGSOFT Software Engineering Notes, 40:2, (1-3), Online publication date: 3-Apr-2015.
  99. Belli F and Beyazit M (2015). Exploiting Model Morphology for Event-Based Testing, IEEE Transactions on Software Engineering, 41:2, (113-134), Online publication date: 1-Feb-2015.
  100. ACM
    Ke S, Huang C and Peng K Software reliability analysis considering the variation of testing-effort and change-point Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices, (30-39)
  101. ACM
    Clarke P, Davis D, King T, Pava J and Jones E (2014). Integrating Testing into Software Engineering Courses Supported by a Collaborative Learning Environment, ACM Transactions on Computing Education, 14:3, (1-33), Online publication date: 3-Nov-2014.
  102. ACM
    Groce A, Alipour M and Gopinath R Coverage and Its Discontents Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, (255-268)
  103. Dwarakanath A and Jankiti A Minimum Number of Test Paths for Prime Path and Other Structural Coverage Criteria Proceedings of the 26th IFIP WG 6.1 International Conference on Testing Software and Systems - Volume 8763, (63-79)
  104. ACM
    Felsing D, Grebing S, Klebanov V, Rümmer P and Ulbrich M Automating regression verification Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, (349-360)
  105. ACM
    Giannakopoulou D, Howar F, Isberner M, Lauderdale T, Rakamarić Z and Raman V Taming test inputs for separation assurance Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, (373-384)
  106. ACM
    Sullivan A, Zaeem R, Khurshid S and Marinov D Towards a test automation framework for alloy Proceedings of the 2014 International SPIN Symposium on Model Checking of Software, (113-116)
  107. ACM
    Zou Y, Chen Z, Zheng Y, Zhang X and Gao Z Virtual DOM coverage for effective testing of dynamic web applications Proceedings of the 2014 International Symposium on Software Testing and Analysis, (60-70)
  108. ACM
    Wang H, Chan W and Tse T (2014). Improving the Effectiveness of Testing Pervasive Software via Context Diversity, ACM Transactions on Autonomous and Adaptive Systems, 9:2, (1-28), Online publication date: 1-Jul-2014.
  109. ACM
    Fox A (2014). Curricular Technology Transfer for the 21st Century, Ubiquity, 2014:June, (1-13), Online publication date: 1-Jun-2014.
  110. ACM
    Edwards S and Shams Z Comparing test quality measures for assessing student-written tests Companion Proceedings of the 36th International Conference on Software Engineering, (354-363)
  111. ACM
    Yang G, Khurshid S, Person S and Rungta N Property differencing for incremental checking Proceedings of the 36th International Conference on Software Engineering, (1059-1070)
  112. ACM
    Gopinath R, Jensen C and Groce A Code coverage for suite evaluation by developers Proceedings of the 36th International Conference on Software Engineering, (72-82)
  113. ACM
    Sahaf Z, Garousi V, Pfahl D, Irving R and Amannejad Y When to automate software testing? decision support based on system dynamics: an industrial case study Proceedings of the 2014 International Conference on Software and System Process, (149-158)
  114. ACM
    Paul T and Lau M A systematic literature review on modified condition and decision coverage Proceedings of the 29th Annual ACM Symposium on Applied Computing, (1301-1308)
  115. ACM
    Masri W and Assi R (2014). Prevalence of coincidental correctness and mitigation of its impact on fault localization, ACM Transactions on Software Engineering and Methodology, 23:1, (1-28), Online publication date: 1-Feb-2014.
  116. ACM
    Zhang L, Zhang L and Khurshid S (2013). Injecting mechanical faults to localize developer faults for evolving software, ACM SIGPLAN Notices, 48:10, (765-784), Online publication date: 12-Nov-2013.
  117. Xiao X, Li S, Xie T and Tillmann N Characteristic studies of loop problems for structural test generation via symbolic execution Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, (246-256)
  118. Zhang L, Gligoric M, Marinov D and Khurshid S Operator-based and random mutant selection Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, (92-102)
  119. ACM
    Zhang L, Zhang L and Khurshid S Injecting mechanical faults to localize developer faults for evolving software Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications, (765-784)
  120. Chavez H, Shen W, France R and Mechling B An Approach to Testing Java Implementation against Its UML Class Model Proceedings of the 16th International Conference on Model-Driven Engineering Languages and Systems - Volume 8107, (220-236)
  121. ACM
    Heckeler P, Eichelberger H, Kropf T, Ruf J, Huster S, Burg S, Rosenstiel W and Schlich B (2013). Accelerated model-based robustness testing of state machine implementations, ACM SIGAPP Applied Computing Review, 13:3, (50-67), Online publication date: 1-Sep-2013.
  122. Briand L, Labiche Y and Chen K A Multi-objective Genetic Algorithm to Rank State-Based Test Cases Proceedings of the 5th International Symposium on Search Based Software Engineering - Volume 8084, (66-80)
  123. Xu J, Lei Y, Carver R and Kung D A Dynamic Approach to Isolating Erroneous Event Patterns in Concurrent Program Executions Proceedings of the International Conference on Multicore Software Engineering, Performance, and Tools - Volume 8063, (97-109)
  124. Carver R and Lei Y A Modular Approach to Model-Based Testing of Concurrent Programs Proceedings of the International Conference on Multicore Software Engineering, Performance, and Tools - Volume 8063, (85-96)
  125. ACM
    Zhang L, Marinov D and Khurshid S Faster mutation testing inspired by test prioritization and reduction Proceedings of the 2013 International Symposium on Software Testing and Analysis, (235-245)
  126. ACM
    Gligoric M, Zhang L, Pereira C and Pokam G Selective mutation testing for concurrent code Proceedings of the 2013 International Symposium on Software Testing and Analysis, (224-234)
  127. ACM
    Gligoric M, Groce A, Zhang C, Sharma R, Alipour M and Marinov D Comparing non-adequate test suites using coverage criteria Proceedings of the 2013 International Symposium on Software Testing and Analysis, (302-313)
  128. ACM
    Reales Mateo P and Polo Usaola M Automated test generation for multi-state systems Proceedings of the 15th annual conference companion on Genetic and evolutionary computation, (211-212)
  129. Janjic W and Atkinson C Utilizing software reuse experience for automated test recommendation Proceedings of the 8th International Workshop on Automation of Software Test, (100-106)
  130. Neto V, Coelho R, Leite L, Guerrero D and Mendonça A POPT: a problem-oriented programming and testing approach for novice students Proceedings of the 2013 International Conference on Software Engineering, (1099-1108)
  131. Hassan M and Andrews J Comparing multi-point stride coverage and dataflow coverage Proceedings of the 2013 International Conference on Software Engineering, (172-181)
  132. Reales Mateo P, Polo Usaola M and Offutt J (2013). Mutation at the multi-class and system levels, Science of Computer Programming, 78:4, (364-387), Online publication date: 1-Apr-2013.
  133. Bagheri E, Ensan F and Gasevic D Grammar-based test generation for software product line feature models Proceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research, (87-101)
  134. ACM
    Ahrendt W, Mostowski W and Paganelli G Real-time Java API specifications for high coverage test generation Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems, (145-154)
  135. de Matos E and Moreira A BETA Proceedings of the 15th Brazilian conference on Formal Methods: foundations and applications, (51-66)
  136. ACM
    Zhang L, Marinov D, Zhang L and Khurshid S Regression mutation testing Proceedings of the 2012 International Symposium on Software Testing and Analysis, (331-341)
  137. ACM
    Groce A, Zhang C, Eide E, Chen Y and Regehr J Swarm testing Proceedings of the 2012 International Symposium on Software Testing and Analysis, (78-88)
  138. Cowling T Stages in teaching software testing Proceedings of the 34th International Conference on Software Engineering, (1185-1194)
  139. Grechanik M, Fu C and Xie Q Automatically finding performance problems with feedback-directed learning software testing Proceedings of the 34th International Conference on Software Engineering, (156-166)
  140. ACM
    Strecker J and Memon A (2012). Accounting for defect characteristics in evaluations of testing techniques, ACM Transactions on Software Engineering and Methodology, 21:3, (1-43), Online publication date: 1-Jun-2012.
  141. Polo Usaola M, Reales Mateo P and Pérez Lamancha B Reduction of test suites using mutation Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering, (425-438)
  142. Navabpour S, Bonakdarpour B and Fischmeister S Optimal instrumentation of data-flow in concurrent data structures Proceedings of the 15th international conference on Principles of Distributed Systems, (497-512)
  143. ACM
    Aini Q, La Katjong B and dan Kartika Sari Puteri E Application development of mobile Transjakarta route map Proceedings of the 9th International Conference on Advances in Mobile Computing and Multimedia, (264-267)
  144. Parsa S, PorShokooh H, Teymouri S and Vahidi-Asl M A heuristic test data generation approach for program fault localization Proceedings of the Third international conference on Artificial intelligence and computational intelligence - Volume Part I, (236-243)
  145. ACM
    Gligoric M, Badame S and Johnson R SMutant Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, (424-427)
  146. Shahamiri S, Kadir W, Ibrahim S and Hashim S (2011). An automated framework for software test oracle, Information and Software Technology, 53:7, (774-788), Online publication date: 1-Jul-2011.
  147. Héam P and Masson C A random testing approach using pushdown automata Proceedings of the 5th international conference on Tests and proofs, (119-133)
  148. Bauer E, Küster J and Engels G Test suite quality for model transformation chains Proceedings of the 49th international conference on Objects, models, components, patterns, (3-19)
  149. Bauer E and Küster J Combining specification-based and code-based coverage for model transformation chains Proceedings of the 4th international conference on Theory and practice of model transformations, (78-92)
  150. ACM
    Hakonen H, Hyrynsalmi S and Järvi A Reducing the number of unit tests with design by contract Proceedings of the 12th International Conference on Computer Systems and Technologies, (161-166)
  151. Molinero C, Núñez M and Hierons R Experimental comparison of different techniques to generate adaptive sequences Proceedings of the 11th international conference on Artificial neural networks conference on Advances in computational intelligence - Volume Part II, (404-411)
  152. Derderian K, Merayo M, Hierons R and Núñez M A case study on the use of genetic algorithms to generate test cases for temporal systems Proceedings of the 11th international conference on Artificial neural networks conference on Advances in computational intelligence - Volume Part II, (396-403)
  153. ACM
    Janjic W, Barth F, Hummel O and Atkinson C Discrepancy discovery in search-enhanced testing Proceedings of the 3rd International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation, (21-24)
  154. ACM
    Hummer W, Raz O and Dustdar S Towards efficient measuring of web services API coverage Proceedings of the 3rd International Workshop on Principles of Engineering Service-Oriented Systems, (22-28)
  155. ACM
    Kaminski G, Ammann P and Offutt J Better predicate testing Proceedings of the 6th International Workshop on Automation of Software Test, (57-63)
  156. ACM
    Atkinson C, Hummel O and Janjic W Search-enhanced testing (NIER track) Proceedings of the 33rd International Conference on Software Engineering, (880-883)
  157. da Mota Silveira Neto P, Carmo Machado I, McGregor J, de Almeida E and de Lemos Meira S (2011). A systematic mapping study of software product lines testing, Information and Software Technology, 53:5, (407-423), Online publication date: 1-May-2011.
  158. Gruner S (2011). Problems for a Philosophy of Software Engineering, Minds and Machines, 21:2, (275-299), Online publication date: 1-May-2011.
  159. Shao G (2011). System testing using use cases for simulation model of an emergency room, International Journal of Advanced Intelligence Paradigms, 3:2, (96-111), Online publication date: 1-Apr-2011.
  160. Sharma R, Gligoric M, Arcuri A, Fraser G and Marinov D Testing container classes Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software, (262-277)
  161. ACM
    Tsui F and Iriele S Analysis of software cohesion attribute and test case development complexity Proceedings of the 49th annual ACM Southeast Conference, (237-242)
  162. Cui C, Dang Z and Fischer T (2011). Typical Paths of a Graph, Fundamenta Informaticae, 110:1-4, (95-109), Online publication date: 1-Jan-2011.
  163. ACM
    Yang L, Dang Z, Fischer T, Kim M and Tan L Entropy and software systems Proceedings of the FSE/SDP workshop on Future of software engineering research, (427-432)
  164. ACM
    Xie T, Tillmann N, de Halleux J and Schulte W Future of developer testing Proceedings of the FSE/SDP workshop on Future of software engineering research, (415-420)
  165. ACM
    Brun Y, Holmes R, Ernst M and Notkin D Speculative analysis Proceedings of the FSE/SDP workshop on Future of software engineering research, (59-64)
  166. ACM
    Xie T, de Halleux J, Tillmann N and Schulte W Teaching and training developer-testing techniques and tool support Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion, (175-182)
  167. Haschemi S and Weißleder S A generic approach to run mutation analysis Proceedings of the 5th international academic and industrial conference on Testing - practice and research techniques, (155-164)
  168. ACM
    Papadakis M, Malevris N and Kallia M Towards automating the generation of mutation tests Proceedings of the 5th Workshop on Automation of Software Test, (111-118)
  169. Caballero R, García-Ruiz Y and Sáenz-Pérez F Applying constraint logic programming to SQL test case generation Proceedings of the 10th international conference on Functional and Logic Programming, (191-206)
  170. Tong J, Boulé M and Zilic Z (2010). Defining and Providing Coverage for Assertion-Based Dynamic Verification, Journal of Electronic Testing: Theory and Applications, 26:2, (211-225), Online publication date: 1-Apr-2010.
  171. Madeyski L (2010). The impact of Test-First programming on branch coverage and mutation score indicator of unit tests, Information and Software Technology, 52:2, (169-184), Online publication date: 1-Feb-2010.
  172. Weiglhofer M, Fraser G and Wotawa F (2009). Using coverage to automate and improve test purpose based testing, Information and Software Technology, 51:11, (1601-1617), Online publication date: 1-Nov-2009.
  173. Briand L, Labiche Y, Bawar Z and Spido N (2009). Using machine learning to refine Category-Partition test specifications and test suites, Information and Software Technology, 51:11, (1551-1564), Online publication date: 1-Nov-2009.
  174. Weißleder S Influencing Factors in Model-Based Testing with UML State Machines Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems, (211-225)
  175. ACM
    Masri W and El-Ghali M Test case filtering and prioritization based on coverage of combinations of program elements Proceedings of the Seventh International Workshop on Dynamic Analysis, (29-34)
  176. Kostanyan A, Matevosyan V, Shoukourian S and Varosyan A An approach for formal verification of business processes Proceedings of the 2009 Spring Simulation Multiconference, (1-8)
  177. ACM
    Li J, Weiss D and Yee H An automatically-generated run-time instrumenter to reduce coverage testing overhead Proceedings of the 3rd international workshop on Automation of software test, (49-56)
  178. Madeyski L On the effects of pair programming on thoroughness and fault-finding effectiveness of unit tests Proceedings of the 8th international conference on Product-Focused Software Process Improvement, (207-221)
Contributors
  • George Mason University
  • State University of New York Albany

Reviews

Andrew Brooks

Instructors now have a book on software testing that will allow them to move far beyond the simplistic black-box/white-box treatment that so often prevails in general software engineering textbooks. Those struggling to provide students with full and proper definitions of key terminologies and coverage criteria will find them all in the book's early chapters. Several coverage criteria are defined under each of four categories: graphs (structural and data flow coverage), logical expressions (predicate and clause coverage), input domain characterizations (input partitioning and combination coverage), and syntactic description (mainly various kinds of mutation coverage). Applications of the criteria are all well illustrated at various levels (specification, design, and coding), though fervent followers of unified modeling language (UML) might wish for more examples of activity diagrams, inheritance diagrams, state charts, and use cases. Figures 2.15, 3.1, and 4.2 show how the coverage criteria in each of the first three categories relate, including which criteria subsumes which. The treatment of subsumption is a particular strength of this book. In later chapters, the reader is provided with an understanding of the test process, and of the real and substantial difficulties of testing object-oriented, Web-based, real-time, and embedded software. Section 7.1 provides data flow criteria adapted for inheritance and polymorphism. A separate chapter covers how to approach the building of testing tools. Throughout the book, care is taken to distinguish material that is under active research, and not yet available in commercial tools. Each chapter closes with biographic notes that master's and doctoral students will find invaluable. The book's index, however, could be improved. The book does not discuss static analysis, usability testing, or practical JUnit usage. Bearing in mind that master's and doctoral students are among the book's target audiences, my criticisms of the book are as follows: three pages from the end, the authors admit that, despite many published experiments on testing, we still do not know enough to recommend a criteria to a development manager. A full chapter on experimentation should have been provided. Automatic nonrandom and random test data generation has become a reality. A full chapter on how such test data generation is achieved should have been provided. Static analysis techniques have matured considerably and are capable of detecting serious defects in software prior to dynamic testing. A full chapter on static analysis should have been provided. Last but not least, the oracle problem is the principal difficulty in testing modern, complex software. How do we know what the correct result should be__?__ Section 6.5, addressing this issue, amounts to a summary account, totaling only three pages. Again, a full chapter should have been provided. Despite the criticisms above, I strongly recommend this book to the software engineering community, especially instructors in software engineering programs. Put simply, it would be foolish to ignore so much useful material on software testing. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Recommendations