Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education 2017
DOI: 10.1145/3059009.3059022
|View full text |Cite
|
Sign up to set email alerts
|

An Automated System for Interactively Learning Software Testing

Abstract: Testing is an important, time-consuming, and often difficult part of the software development process. It is therefore critical to introduce testing early in the computer science curriculum, and to provide students with frequent opportunities for practice and feedback. This paper presents an automated system to help introductory students learn how to test software. Students submit test cases to the system, which uses a large corpus of buggy programs to evaluate these test cases. In addition to gauging the qual… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
12
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
3
3
2

Relationship

0
8

Authors

Journals

citations
Cited by 28 publications
(12 citation statements)
references
References 30 publications
0
12
0
Order By: Relevance
“…McCabe's metric provides the upper bound on module complexity. The graph and formula below define Cyclomatic Complexity [18], [19]. The Abstract Syntax Tree (AST) tree of a Python program to compute Cyclomatic Complexity is analyzed by Radon.…”
Section: Mccabe's Cyclomatic Complexitymentioning
confidence: 99%
“…McCabe's metric provides the upper bound on module complexity. The graph and formula below define Cyclomatic Complexity [18], [19]. The Abstract Syntax Tree (AST) tree of a Python program to compute Cyclomatic Complexity is analyzed by Radon.…”
Section: Mccabe's Cyclomatic Complexitymentioning
confidence: 99%
“…Both mutation testing and peer testing are two of the strategies highlighted in the software testing teaching literature to enhance students' motivation [4], [6]. Mutation testing poses more demanding testing criteria than traditional coverage-based metrics [7], [8] -which usually overestimate the apparent test quality-, and allow students to directly observe examples of bugs that their tests are not able to detect [9]. As for peer testing, it exposes students to different solutions and offers the opportunity to share their knowledge with their classmates, engaging them in the learning process and increasing the quality of their developments [10], [11], [12].…”
Section: Introductionmentioning
confidence: 99%
“…Accordingly, educators have been exploring how to both effectively teach and evaluate testing in computer science classes. Pedagogical tools [6,13,19] and approaches [7,12] have been developed to help introduce students to testing throughout the curricula.…”
Section: Introductionmentioning
confidence: 99%
“…Automated assessment of students' tests (autograders) typically use coverage, a measurement of how much code has been executed by their tests. Otherwise, some tools and studies evaluate students' tests with a concentration on their ability to identify bugs, as accomplished by failing known faulty implementations [11,13,19]. However, there has neither been thorough discussion nor evaluation of how well students' tests accurately confirm acceptable solutions.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation