Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of...
Transcript of Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of...
![Page 1: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/1.jpg)
Industrial Study on
Test Driven Development
Challenges and Experience
Adnan Čaušević1, Rakesh Shukla2 and Sasikumar Punnekkat1
1 Mälardalen University, Sweden 2 Infosys Ltd., India
![Page 2: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/2.jpg)
Research Flow
“Respondents would like to use TDD to a significantly higher extent than they actually do currently.”
A. Causevic, D. Sundmark, and S. Punnekkat, “An Industrial Survey on Contemporary Aspects of Software Testing,” in Proceedings of the 3rd International Conference on Software Testing, Verification and Validation (ICST), 2010
“Developers inability to write efficient and effective automated test cases is considered to be one of the
limiting factors of full TDD adoption.”
A. Causevic, D. Sundmark, and S. Punnekkat, “Factors Limiting Industrial
Adoption of Test Driven Development: A Systematic Review,” in
Proceedings of the 4th International Conference on Software Testing,
Verification and Validation (ICST), 2011
![Page 3: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/3.jpg)
Research Flow
“Respondents would like to use TDD to a significantly higher extent than they actually do currently.”
A. Causevic, D. Sundmark, and S. Punnekkat, “An Industrial Survey on Contemporary Aspects of Software Testing,” in Proceedings of the 3rd International Conference on Software Testing, Verification and Validation (ICST), 2010
“Developers inability to write efficient and effective automated test cases is considered to be one of the
limiting factors of full TDD adoption.”
A. Causevic, D. Sundmark, and S. Punnekkat, “Factors Limiting Industrial
Adoption of Test Driven Development: A Systematic Review,” in
Proceedings of the 4th International Conference on Software Testing,
Verification and Validation (ICST), 2011
![Page 4: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/4.jpg)
Test Driven Development
WriteTest
Test Fail
WriteCode
Test Pass
Refactor
Requiremets
![Page 5: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/5.jpg)
Developer Testing Skills
● Potential limiting factor for TDD industrial adoption
● Empirical Study at MDU
● Course on Software Verification & Validation
● General testing knowledge
● No significant difference observed
● Analysis pointed out lack of “negative” test cases
A. Causevic, D. Sundmark, and S. Punnekkat, “Impact of Test Design Technique Knowledge on Test Driven Development: A Controlled Experiment,” in Proceedings of the 13th International Conference on Agile Software Development (XP), 2012
![Page 6: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/6.jpg)
Effect of Negative Testing on TDD
● Study performed at MDU, V&V Course
● Existence of “positive test bias” acknowledged
● Importance of “negative” test cases
127
63 64
226
123 103
58 23 35
348
161 187
0
50
100
150
200
250
300
350
400
All Test First Test Last
Positive TCs # of Failing Negative TCs # of Failing
A. Causevic, D. Sundmark, and S. Punnekkat, “Test Case Quality in Test Driven Development: A Study Design and a Pilot Experiment,” in Proceedings of the 16th International Conference on Evaluation & Assessment in Software Engineering (EASE ), 2012
![Page 7: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/7.jpg)
![Page 8: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/8.jpg)
Infosys InStep Internship program
● infosys.com/instep
● Internship opportunities for bachelor, master and PhD students
● 8-12 weeks duration
● Covering travel expenses, accommodation, monthly allowance, taxi, gym, etc…
● Perfect for visiting India
● My internship: 4 weeks duration (September 2012)
● No time to visit anything
● “Best Intern” award
![Page 9: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/9.jpg)
Preparations for the Study
● Started in May 2012
● Introduction to “Project Mentor” @ Infosys
● Original idea: Perform study on the specific day
● Mentor suggestion: Make study “open access” for at least 2 weeks
● Employees are distributed
● Employees will use their own workstations
● Set of tools and instructions have to be provided
● Internal server infrastructure setup
● Video training material for jUnit and TDD
● Internal promotion of the study
![Page 10: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/10.jpg)
Study Execution
● Experiment executed from 10th to 21st of Sept. 2012
● Participants placed in three groups
● Test Last
● Test Driven Development
● Test Driven Development with the Support of Negative Testing
● Participants from: Bangalore, Beaverton, Brussels, Chennai, Hyderabad, Mangalore, Melbourne, Mysore, Pune, Trivandrum
● Problem with SharePoint server limit
● Alternatives in obtaining material
![Page 11: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/11.jpg)
Results
![Page 12: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/12.jpg)
Results
![Page 13: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/13.jpg)
Benefits of the Study
● Industrial perspective
● Training provided to employees
● Video tutorial currently used by training division
● Corporate researchers collaborated with academia
● Academic perspective
● Direct access to high number of employees
● Collaboration with industry
● Costs of performing the study
![Page 14: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/14.jpg)
Lessons Learned
● Employees are busy, use their time wisely!
● Curiosity and wiliness to learn something new
● Suspicion about being evaluated
![Page 15: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/15.jpg)
Future Work
● Further enhancements to TDD
● Combining TDD with test design techniques
● Empirical evaluation
● Trial in academia
● Full study in industry
![Page 16: Industrial Study on Test Driven Developmentfranch/cesi2013/slides/CESI_causevic.pdf · Existence of “positive test bias” acknowledged Importance of “negative” test cases 127](https://reader034.fdocuments.net/reader034/viewer/2022050416/5f8c01856d99e055c8632845/html5/thumbnails/16.jpg)
Thank you! Questions?