Test Driven Development: By Example
Test Driven Development: By Example
Discipline and practices of TDD: (test driven development)
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using software testing to move students from trial-and-error to reflection-in-action
Proceedings of the 35th SIGCSE technical symposium on Computer science education
A cross-program investigation of students' perceptions of agile methods
Proceedings of the 27th international conference on Software engineering
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Evaluating the efficacy of test-driven development: industrial case studies
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Evaluating advantages of test driven development: a controlled experiment with professionals
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Helping students appreciate test-driven development (TDD)
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
A Leveled Examination of Test-Driven Development Acceptance
ICSE '07 Proceedings of the 29th international conference on Software Engineering
A survey of evidence for test-driven development in academia
ACM SIGCSE Bulletin
Retina: helping students and instructors based on observed programming activities
Proceedings of the 40th ACM technical symposium on Computer science education
Another look at the behaviors of novice programmers
Proceedings of the 40th ACM technical symposium on Computer science education
ComTest: a tool to impart TDD and unit testing to introductory level programming
Proceedings of the fifteenth annual conference on Innovation and technology in computer science education
Exploring influences on student adherence to test-driven development
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Hi-index | 0.00 |
This data-driven paper quantitatively evaluates software testing behaviors that students exhibited in introductory computer science courses. The evaluation includes data collected over five years (10 semesters) from 49,980 programming assignment submissions by 883 different students. To examine the effectiveness of software testing behaviors, we investigate the quality of their testing at different stages of their development. We partition testing behaviors into four groups according to when in their development they first achieve substantial (at least 85%) test coverage. The study reveals significant results regarding effective and ineffective testing behaviors. A within-subjects comparison finds that higher coverage in early development is associated with higher quality code and with completing work earlier. Post-hoc analysis also suggests that the relationship between early testing and positive outcomes is independent of time management and effects of individuals' abilities. However, roughly 76% of students exhibit different testing behaviors on different assignments, demonstrating an opportunity to foster better, more consistent testing habits among computer science students.