WolfScheduler Unit and System Testing
The testing phase of development exercises the program under a variety of valid and error paths of execution. You will execute unit tests and system tests on WolfScheduler
for each Guided Project. Some of the unit tests and all of the black box tests will be provided to you.
Guided Project 1
GP1 Unit Testing
The teaching staff have provided the following JUnit test classes (all test class names are links). All of these test classes should be stored in a source folder named test/
in the WolfScheduler
project. Each test class belongs to a package with the same name as the package the class under test belongs to. That means CourseTest
is in the edu.ncsu.csc216.wolf_scheduler.course
package, just like Course
. The difference is that CourseTest
is in the test/
folder and Course
is in the src/
folder.
The tests for CourseRecordIO
and WolfScheduler
require input files and expected results files. These should be stored in a folder name test-files
in the WolfSchdeuler
project.
- course_records.txt
- expected_course_records.txt
- expected_empty_export.txt
- expected_schedule_export.txt
- invalid_course_records.txt
- starter_course_records.txt
GP1 System Testing
Your WolfScheduler program must pass the teaching staff Black Box Tests. Download the document as a Word document (File > Download > Microsoft Word) and copy it into a new folder, bbtp/
, in the WolfScheduler
project.
There are 13 tests. Run your test cases and report the actual results of execution. All parts of the test must pass to receive credit for that test case. You will receive partial credit by reporting failing actual results that match what your project actual does for the test.
Guided Project 2
GP2 Unit Testing
The teaching staff have provided the following JUnit test classes (all test class names are links). All of these test classes should be stored in a source folder named test/
in the WolfScheduler
project. Each test class belongs to a package with the same name as the package the class under test belongs to. That means CourseTest
is in the edu.ncsu.csc216.wolf_scheduler.course
package, just like Course
. The difference is that CourseTest
is in the test/
folder and Course
is in the src/
folder. These tests have been updated to meet the requirements for Guided Project 2.
- CourseTest.java
- ExtendedCourseTest.java
- EventTest.java
- CourseRecordIOTest.java
- ActivityRecordIOTest.java
- WolfSchedulerTest.java
The tests for CourseRecordIO
and WolfScheduler
require input files and expected results files. These should be stored in a folder name test-files
in the WolfSchdeuler
project. The test files are the same as GP1, except for the new expected_activity_records.txt
.
- course_records.txt
- expected_activity_records.txt
- expected_course_records.txt
- expected_empty_export.txt
- expected_schedule_export.txt
- invalid_course_records.txt
- starter_course_records.txt
GP2 System Testing
Your WolfScheduler program must pass the teaching staff Black Box Tests. Download the document as a Word document (File > Download > Microsoft Word) and copy it into a new folder, bbtp/
, in the WolfScheduler
project.
There are 15 tests. Run your test cases and report the actual results of execution. All parts of the test must pass to receive credit for that test case. You will receive partial credit by reporting failing actual results that match what your project actual does for the test.
Guided Project 3
GP3 Unit Testing
The teaching staff have provided the following JUnit test classes for GP2 (all test class names are links). You’ll be adding your own tests in GP3. All of these test classes should be stored in a source folder named test/
in the WolfScheduler
project. Each test class belongs to a package with the same name as the package the class under test belongs to. That means CourseTest
is in the edu.ncsu.csc216.wolf_scheduler.course
package, just like Course
. The difference is that CourseTest
is in the test/
folder and Course
is in the src/
folder.
You should start with the provided GP2 test suite. As part of the GP3 instructions you may need to refactor the provided tests. That is ok as long as you meet the teaching staff design and pass the teaching staff version of the tests on Jenkins.
- CourseTest.java
- ExtendedCourseTest.java
- EventTest.java
- CourseRecordIOTest.java
- ActivityRecordIOTest.java
- WolfSchedulerTest.java
The tests for CourseRecordIO
and WolfScheduler
require input files and expected results files. These should be stored in a folder name test-files
in the WolfScheduler
project. The test files are the same as GP1, except for the new expected_activity_records.txt
.
- course_records.txt
- expected_activity_records.txt
- expected_course_records.txt
- expected_empty_export.txt
- expected_schedule_export.txt
- invalid_course_records.txt
- starter_course_records.txt
You will be adding tests to handle evaluate how well your program meets the requirements related to the conflict functionality. Additionally, you are expected to have at least 80% statement coverage on all of your non-GUI classes.
There is now a hidden suite of teaching staff tests that include the provided tests (above) that were modified for the new design and testing of the new functionality. You are expected to pass all of the hidden teaching staff tests in addition to your own test suite.
GP3 System Testing
Your WolfScheduler program must pass your Black Box Tests. Download the document as a Word document (File > Download > Microsoft Word) and copy it into a new folder, bbtp/
, in the WolfScheduler
project.
There are 15 tests from Guided Project 2. You must update the tests to fix any that might fail due to the new conflict functionality. Additionally, you must write 5 additional tests. The cells should be highlighted to show the changes. Run your test cases and report the actual results of execution. All parts of the test must pass to receive credit for that test case. You will receive partial credit by reporting failing actual results that match what your project actual does for the test.
The teaching staff will also have their own suite of black box tests that they will run on your program after the deadline.