Presentation is loading. Please wait.

Presentation is loading. Please wait.

N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Integrating Testing into the CS1 Syllabus.

Similar presentations


Presentation on theme: "N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Integrating Testing into the CS1 Syllabus."— Presentation transcript:

1 N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Integrating Testing into the CS1 Syllabus at NDSU Richard Rummelt June 24, 2010 WISTPC ’ 10 Florida International University, Miami FL

2 © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Outline  Overview of Approach  Addition to Course Objectives  Modifications to Projects 2

3 © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Overview of Approach  Minimally Intrusive Approach  Looked at the breakdown of class work to inject testing into existing assignments, and projects  Focus on tentative lab schedule for this discussion  Said “NO” to full-fledged JUnit at the beginning of the CS1 course  NDSU CS1 Syllabus Lab Assignments and Labs  Seven or Eight Assignments (Homeworks)  Seven or Eight In-Lab Projects 3

4 © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Course Objectives (Java Projects)  Computing and problem solving concepts  Object Oriented Programming techniques and terminology  Implementation of classes and methods  Variables and data types  Simple boolean logic  Control structures  Exception handling  Collection structures & iteration techniques  Sorting and searching basics  Inheritance and polymorphism  Standard style conventions  Program design concepts  Sufficient documentation  Testing and debugging concepts 4

5 © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Project Modifications  Simplicity of projects 1 and 2 did not lend themselves to much discussion of testing  Project 1 was basic “hello world” and project 2 expands on that to include variables and the scope of instance variables  Instead we focused on integrating testing during the third week of the semester in both the lectures and the lab work. 5

6 © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Project Modifications (cont’d)  Project 3  Basic elevator problem where they have to implement methods of an elevator and existing requirement was to run a pre-defined scenario and submit the output file  Extension of Project 3 with Test  Get students to think about their own scenarios of system usage and the expected outputs and write this up manually.  Introduces concepts of test inputs, and expected outputs (oracles) 6

7 © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Project Modifications (cont’d)  Project 4  String manipulation problem where they have to implement methods  Extension of Project 4 with Test  Get students to use BlueJ’s ‘object bench’ to test individual methods by predicting the return values and/or variable values given various input parameters and keep a simple log of this.  Continues and reinforces concepts of test inputs, and expected outputs (oracles) 7

8 © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Project Modifications (cont’d)  Project 5  Poker game with many new elements: multiple classes, conditional statements, passing objects, Object class methods (clone, equals, instanceOf) randomization, etc.  Extension of Project 5 with Test  This is where debugging is introduced. JUnit could also be introduced at this point by requiring a few clearly defined (almost, but not quite, given)  Provides the first exposure to a testing tool. 8

9 © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Project Modifications (cont’d)  Project 6  The game of NIM. New concepts are looping, validity checking, exception handling, pausing threads, more advanced math calculations, etc.  Extension of Project 6 with Test  The complexity of this project makes this a good point to require JUnit test cases. The numeric nature of this project makes it a good place to teach ‘boundary value analysis’.  This would be the point at which students would begin thinking of and writing their own test cases. 9

10 © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Points to Note  Initially we use some features of the existing IDE to introduce the students to practical testing without the complexities of a new testing tool  We use the Object Bench of BlueJ as a test driver  By the 6 th project (of 8) students are familiar with JUnit, and using it independently  For the remaining projects they continue using JUnit and refine their testing skills. 10


Download ppt "N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP Integrating Testing into the CS1 Syllabus."

Similar presentations


Ads by Google