Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Test-driven development : an empirical evaluation of agile practice
Madeyski L., Springer Publishing Company, Incorporated, New York, NY, 2010. 245 pp.  Type: Book (978-3-642042-87-4)
Date Reviewed: Jan 31 2011

Despite the software engineering discipline’s prolific advancements in software product development, the field is yet to attain the desired maturity when it comes to the documentation of processes, methods, and models. The use of scientific research methods in measuring and documenting software processes, products, and services being developed is gradually gaining the attention of researchers, academia, and practitioners. However, there are challenges to contributing effectively in this area, because of the shorter life cycles of software process models, diverging software engineering methods adopted in managing software development, dynamic business and organizational requirements, and the ever-increasing aspirations of users. These challenges are multidisciplinary; thus, software engineering research needs a holistic approach to documenting experiences in order to support researchers, academia, and practitioners in the effective development of user-centered software products and services.

This book deals with issues related to the application of research methods in software engineering and validating the delivery of software engineering process models. It provides a comprehensive approach to validating various metrics and measurements that can be used to understand software behavior during the development life cycle. The author helps the reader appreciate the rationale behind the use of scientific research methods in software engineering. The strength of the book lies in the appreciation of empirical software engineering methods. A few of the book’s strengths are: its explanation of the research methods through modeling processes in unified modeling language (UML), the validation of models through hypotheses, the use of quantitative methods available through SPSS software, and the presentation of the examples through an incremental approach. Some of the noteworthy examples include an analysis of procedures to estimate effect sizes using statistical significance methods; acceptance tests using descriptive statistics, and nonparametric and parametric analysis; acceptance of test procedures using assumption testing, descriptive analysis, and hypothesis testing; measuring the effect on internal quality indicators through experiment submissions using descriptive statistics; and determining the effects on unit tests and meta-analysis through models.

The organization of the book provides the reader with an opportunity to validate the delivery of various programming methods used in software engineering processes. Drawing strengths from the enriched concepts of metrics-based measurements and evaluations professed and practiced by Victor Basili and his group through goal-question-metrics (GQM) methods and international function point user groups (IFPUG), extreme programming, and agile methods, the book showcases the validating principles through descriptive and parametric methods normally used for quantification.

The book provides a foundation for applying research methods to the software engineering discipline. However, including some chapters to cover approaches for the sampling plan and fitness exercises for the appropriateness of test-first, test-last, and other model-driven methods could have enriched the content. The examples explained through SPSS provide an environment that enables the reader to apply the software to research methods, but the book lacks clarity in explaining the justification of using a particular method from the SPSS library.

I recommend the book to research scholars who plan to conduct multidisciplinary research in software engineering. It will supplement books on empirical software engineering, providing a holistic view of the principles of validation through research methods. It will also be helpful to students who have an interest in research methods, and organizations engaged in software development, software audits, or consulting services in this sector.

Reviewer:  Harekrishna Misra Review #: CR138756 (1110-1006)
Bookmark and Share
  Reviewer Selected
Testing And Debugging (D.2.5 )
Mathematical Software (G.4 )
Would you recommend this review?
Other reviews under "Testing And Debugging": Date
Is the stack distance between test case and method correlated with test effectiveness?
Niedermayr R., Wagner S.  EASE 2019 (Proceedings of the Evaluation and Assessment on Software Engineering, Copenhagen, Denmark,  Apr 15-17, 2019) 189-198, 2019. Type: Proceedings
Mar 15 2021
Keeping master green at scale
Ananthanarayanan S., Ardekani M., Haenikel D., Varadarajan B., Soriano S., Patel D., Adl-Tabatabai A.  EuroSys 2019 (Proceedings of the Fourteenth EuroSys Conference 2019, Dresden, Germany,  Mar 25-28, 2019) 1-15, 2019. Type: Proceedings
Jun 15 2020
DeFlaker: automatically detecting flaky tests
Bell J., Legunsen O., Hilton M., Eloussi L., Yung T., Marinov D.  ICSE 2018 (Proceedings of the 40th International Conference on Software Engineering, Gothenburg, Sweden,  May 27-Jun 3, 2018) 433-444, 2018. Type: Proceedings
May 20 2020

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright © 2000-2022 ThinkLoud, Inc.
Terms of Use
| Privacy Policy