Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Factors Limiting Industrial Adoption of Test Driven Development: A Systematic Review
Mälardalen University, School of Innovation, Design and Engineering.ORCID iD: 0000-0001-8009-9052
Mälardalen University, School of Innovation, Design and Engineering.ORCID iD: 0000-0002-5032-2310
Mälardalen University, School of Innovation, Design and Engineering.ORCID iD: 0000-0001-5269-3900
2011 (English)In: 4th IEEE International Conference on Software Testing, Verification, and Validation, ICST 2011; Berlin; 21 March 2011 through 25 March 2011, 2011, 337-346 p.Conference paper, (Refereed)
Abstract [en]

Test driven development (TDD) is one of the basic practices of agile software development and both academia and practitioners claim that TDD, to a certain extent, improves the quality of the code produced by developers. However, recent results suggest that this practice is not followed to the extent preferred by industry. In order to pinpoint specific obstacles limiting its industrial adoption we have conducted a systematic literature review on empirical studies explicitly focusing on TDD as well as indirectly addressing TDD. Our review has identified seven limiting factors viz., increased development time, insufficient TDD experience/knowledge, lack of upfront design, domain and tool specific issues, lack of developer skill in writing test cases, insufficient adherence to TDD protocol, and legacy code. The results of this study is of special importance to the testing community, since it outlines the direction for further detailed scientific investigations as well as highlights the requirement of guidelines to overcome these limiting factors for successful industrial adoption of TDD.

Place, publisher, year, edition, pages
2011. 337-346 p.
National Category
Computer and Information Science
Identifiers
URN: urn:nbn:se:mdh:diva-12206DOI: 10.1109/ICST.2011.19Scopus ID: 2-s2.0-79958704204ISBN: 978-076954342-0 (print)OAI: oai:DiVA.org:mdh-12206DiVA: diva2:415324
Conference
Fourth International Conference on Software Testing, Verification and Validation
Available from: 2011-05-10 Created: 2011-05-06 Last updated: 2013-12-03Bibliographically approved
In thesis
1. Software Testing in Agile Development: Technological and Organisational Challenges
Open this publication in new window or tab >>Software Testing in Agile Development: Technological and Organisational Challenges
2011 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

The emerging industrial trend towards agile software development processes brings forth new concerns, challenges as well as opportunities. One of the main concerns is with respect to the achievable quality levels of the final product, for which testing is the well-known assurance mechanism. However, it is not well defined for the community on how to perform testing using existing expertise in an agile environment. This uncertainty may create confusion and contra productivity that can lead to testing teams and their practices considered as an obstacle for full implementation of agile processes within an organisation.

 

This thesis outlines our current research activities towards identifying and addressing important organisational and technical challenges in the agile environment.  In this context, we propose a new role for traditional testers which will enable them to integrate into the agile team as well as to fully exploit their knowledge in the new context. We have conducted an elaborate industrial survey on the preferences and practices with respect to the contemporary aspects of software testing and identified test-driven development as an important technical area for improvement.  A systematic review on empirical evidences related to test-driven development was performed subsequently, which revealed a list of factors limiting its widespread industrial acceptance. Knowledge of testing was identified as one of those factors and was further investigated in a controlled experiment performed with undergraduate students.

 

Our future works aim to confirm these research findings in wider as well as industrial settings and investigate other limiting factors in detail, with the aim of providing guidelines for achieving better utilisation of testers and testing practices.

 

Place, publisher, year, edition, pages
Västerås: Mälardalen University, 2011
Series
Mälardalen University Press Licentiate Theses, ISSN 1651-9256 ; 136
Keyword
software testing, agile development, test-driven development, role of testers, empirical study, controlled experiment
National Category
Software Engineering
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-12174 (URN)978-91-7485-015-4 (ISBN)
Presentation
2011-06-21, Gamma, Högskoleplan 1, Västerås, 09:15 (English)
Opponent
Supervisors
Available from: 2011-05-11 Created: 2011-04-29 Last updated: 2013-12-03Bibliographically approved
2. Quality of Test Design in Test Driven Development
Open this publication in new window or tab >>Quality of Test Design in Test Driven Development
2013 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

One of the most emphasised software testing activities in an Agile environment is the usage of the Test Driven Development (TDD) approach. TDD is a development activity where test cases are created by developers before writing the code, and all for the purpose of guiding the actual development process. In other words, test cases created when following TDD could be considered as a by-product of software development. However, TDD is not fully adopted by the industry, as indicated by respondents from our industrial survey who pointed out that TDD is the most preferred but least practised activity.

Our further research identified seven potentially limiting factors for industrial adoption of TDD, out of which one of the prominent factor was lack of developers’ testing skills. We subsequently defined and categorised appropriate quality attributes which describe the quality of test case design when following TDD. Through a number of empirical studies, we have clearly established the effect of “positive test bias”, where the participants focused mainly on the functionality while generating test cases. In other words, there existed less number of “negative test cases” exercising the system beyond the specified functionality, which is an important requirement for high reliability systems. On an average, in our studies, around 70% of test cases created by the participants were positive while only 30% were negative. However, when measuring defect detecting ability of those sets of test cases, an opposite ratio was observed. Defect detecting ability of negative test cases were above 70% while positive test cases contributed only by 30%.

We propose a TDDHQ concept as an approach for achieving higher quality testing in TDD by using combinations of quality improvement aspects and test design techniques to facilitate consideration of unspecified requirements during the development to a higher extent and thus minimise the impact of potentially inherent positive test bias in TDD. This way developers do not necessarily focus only on verifying functionality, but they can as well increase security, robustness, performance and many other quality improvement aspects for the given software product. An additional empirical study, evaluating this method, showed a noticeable improvement in the quality of test cases created by developers utilising TDDHQ concept. Our research findings are expected to pave way for further enhancements to the way of performing TDD, eventually resulting in better adoption of it by the industry.

Place, publisher, year, edition, pages
Västerås: Mälardalen University, 2013. 224 p.
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 140
Keyword
agile, software testing, test driven development, quality of tests, developer testing, test design quality
National Category
Computer Science
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-18773 (URN)978-91-7485-108-3 (ISBN)
Public defence
2013-06-11, Gamma, Högskoleplan 1, Västerås, 09:15 (English)
Opponent
Supervisors
Available from: 2013-04-29 Created: 2013-04-26 Last updated: 2015-11-04Bibliographically approved

Open Access in DiVA

fulltext(259 kB)1199 downloads
File information
File name FULLTEXT01.pdfFile size 259 kBChecksum SHA-512
a4162142a19a72587fddc30dc7e63606e03281322566abe2f92d93b252ceae9afcd0dee6ea0f060f3bc2c47fc60e7478b10d879663d77ec5f7d17c7eb8a14ec2
Type fulltextMimetype application/pdf

Other links

Publisher's full textScopus

Search in DiVA

By author/editor
Causevic, AdnanSundmark, DanielPunnekkat, Sasikumar
By organisation
School of Innovation, Design and Engineering
Computer and Information Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 1199 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Altmetric score

Total: 235 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf