Project for Fall 2014
Form a team of 4-6 people in the class. Let Prof. Dunsmore know
via email (dunsmore@purdue.edu) by Friday, August 29 who is on your
team. If you cannot form a team, let Prof. Dunsmore know as soon as
possible and he will put those people together into teams or add them
to existing teams that still need people.
Project Coordinator Responsibilities -- Teaching Assistant who
will review all your work, accept things or request that further
work be done, and will meet with you as needed concerning your
project. The Project Coordinator will grade all submissions by
your team.
Team Leader Responsibilities -- Schedule meetings with other
team members and Project Coordinator as needed, coordinate work of
all other team members, ensure that all things are done on time,
and discuss with your Project Coordinator if there are team
problems.
CS 40800 Software Testing Project
Your project will be divided into two parts --
(1) Your team will develop a software product doing inspections and
testing during the software development process
(2) Your team will do Black Box Testing and White Box Testing on
another team's software product
Note: All documents submitted to Project Coordinators in CS 40800 must
be "professional quality". Any documents that are not professional
quality will be returned ungraded. They can be re-submitted for
grading with a 25% penalty.
(1) Your team will develop a software product doing inspections and testing during the software development process
Start by forming a 4-6 person team of students in the class.
Let Prof. Dunsmore know via email (dunsmore@purdue.edu) by Friday,
August 29 who is on your team.
If you cannot form a team, let Prof. Dunsmore know and
he will put those people together into teams or add them to existing teams that still need people.
Teams will be announced on the class Website by Saturday, August 30.
Develop a Project Charter (What the software will do).
This must be turned in via Blackboard by 11:59 pm, Friday, September 5.
Your Project Coordinator will give you feedback in a day or two
-- either approving the software product or asking for changes.
Develop a Product Backlog (Requirements Document) for this software.
Your software product should be approximately 2500 lines of code or more
-- not counting comments or blank lines, that is 2500 actual lines of
code or more. It should be written in Java or C.
The reason why we say "It should be written in Java or C" is to
ensure that the testing process should not be too difficult for the
other team that will test your product in part 2 of
the project. If you do anything other than a simple desktop
application, make sure that other teams can test it without a lot of
trouble. If during development you use an emulator (like an android
emulator), a specific database configuration, external libraries,
etc., be sure to provide everything needed for testing in your
repository, including directions about how to access such things. The
bottom line is the Golden Rule -- Do Unto Other Teams as You Would
Have Them Do Unto You! If you have any specific questions, ask
your Project Coordinator for advice.
Develop a thorough Test Plan before beginning programming.
Use the principles of Black Box and White Box Testing when
developing this Test Plan.
Use the SCRUM process to implement this software product.
Each team must use some version control system. Note that you
must use a private repository (one which requires authentication).
This is so that no other team can gain access to your repository.
Instead of turning in code on BlackBoard, teams will simply commit
their code to their repository.
Also, keep things like your Project Charter, Product Backlog, and
Test Plan in your repository.
"Invite" your Project Coordinator to your repository by Friday,
September 12.
Put your
Product Backlog
and
Test Plan in Blackboard and
your repository by 11:59 pm, Friday, September 12.
You will receive a grade of 0-100 and this will count as 10% of your project grade.
Sprint 1: Do Design Inspection, Code Inspection, and Unit Testing on your software product.
After each of the three steps, fix all defects found.
Create a log (report) of all defects found by Inspection and Unit Testing and how they were corrected.
You should create a Design for your product that shows major
components. Start by inspecting that. List any defects found in the
Design Inspection in the log. Then, move on to writing code. Inspect
as many modules as you can. List any defects found in those Code
Module Inspections in the log. Then, proceed to Unit Testing. List
any defects found in Unit Testing in the log.
Put in Blackboard and your repository your
log of all defects found by Design Inspection, Code Inspection, and
Unit Testing by 11:59 pm, Friday, September 19.
You will receive a grade of 0-100 and this will count as 7.5% of your project grade.
Sprint 1: Do
Incremental Testing and Regression Testing
on your software product using the test cases from your Test Plan.
After each of the two steps, fix all defects found.
Create a log (report) of all defects found by Incremental Testing and Regression Testing and how they were corrected.
Put your log of all defects found by Incremental Testing and
Regression Testing in Blackboard and your repository by 11:59 pm,
Friday, September 26.
(The grading rubric above was modified slightly from the version
Prof. Dunsmore showed in class on Mon Sep 22. Section 5 was changed
to make this easier for you.)
You will receive a grade of 0-100 and this will count as 7.5% of your project grade.
Sprint 2: Do Design Inspection, Code Inspection, and Unit Testing on your software product.
After each of the three steps, fix all defects found.
Create a log (report) of all defects found by Inspection and Unit Testing and how they were corrected.
Put in Blackboard and your repository
your log of all defects found by Design
Inspection, Code Inspection, and Unit Testing by 11:59 pm, Friday,
October 3.
You will receive a grade of 0-100 and this will count as 7.5% of your project grade.
Sprint 2: Do Incremental Testing and Regression Testing on your software product using the test cases from your Test Plan.
After each of the two steps, fix all defects found.
Create a log (report) of all defects found by Incremental Testing and Regression Testing and how they were corrected.
Put in Blackboard and your repository your log of all defects
found by Incremental Testing and Regression Testing by 11:59 pm,
Friday, October 10.
You will receive a grade of 0-100 and this will count as 7.5% of your project grade.
Thus, Friday, October 10 is when your software product must be finished
-- completely written and tested.
Next, you will
seed your software product with at least 50 defects
.
These should not be syntax errors detectable by a compiler.
They should neither be obvious nor make the code unrunnable.
Start by putting back in defects that you found during Inspection and Testing.
Add likely defects that might reasonably have happened during the software development process
to get to a total of at least 50 defects.
Create a log (report) of all defects and suggested corrections.
Create an executable version of your product with the defects in it.
Create a set of instructions for how to run your product.
Make sure that other teams can test it without a lot of
trouble. If during development you use an emulator (like an android
emulator), a specific database configuration, external libraries,
etc., be sure to provide everything needed for testing in this set of instructions.
Put your executable, seeded-defect log, and set of instructions
for running your product in Blackboard and your repository by 11:59
pm, Friday, October 17.
You will receive a grade of 0-100 and this will count as 10% of your project grade.
(2) Your team will do Black Box Testing and White Box Testing on
another team's software
On Monday, October 20,
you will be given by your Project Coordinator
some other team's software -- their
Project Charter, Product Backlog, instructions for running their product, and an executable version of their software.
Start by making a Test Plan for the other team's project and put that Test Plan in your repository.
Put your
Test Plan for the other team's software in Blackboard and
your repository by 11:59 pm, Friday, October 24.
You will receive a grade of 0-100 and this will count as 10% of your project grade.
Conduct Higher-Order Testing (such as Performance Testing, Volume Testing,
Stress Testing, Usability Testing, Security Testing)
on the other team's project using the test cases from your Test Plan.
Create a log (report) of all defects found, but do not correct them.
(You can't! You won't have their source code.)
Put in Blackboard and your repository your log of all defects
found by Higher-Order Testing
11:59 pm, Friday, October 31.
You will receive a grade of 0-100 and this will count as 10% of your project grade.
Conduct Black Box Testing on the other team's project using the test cases from your Test Plan.
Create a log (report) of all defects found by Black Box Testing, but do not correct them.
(You can't! You won't have their source code.)
Put in Blackboard and your repository your log of all defects
found by
Black Box Testing by 11:59 pm, Friday, November 21.
You will receive a grade of 0-100 and this will count as 10% of your project grade.
On Monday, November 24, you will be given by your Project
Coordinator the source code of this software.
Conduct White Box Testing on the other team's project.
Create a log (report) of all defects found by White Box Testing.
Correct all defects found by both Black Box Testing and White Box Testing.
As you correct defects, do Regression Testing.
Put in Blackboard and your repository your log of all
defects found and corrected by
Black Box Testing, White Box Testing, and Regression Testing
by 11:59 pm, Friday, December 12.
You will receive a grade of 0-100 and this will count as 10% of your project grade.
Finally, on one of the dates Fri, Dec 5, Mon Dec 8, Wed Dec 10, or Fri Dec 12, your
team will give a
Final Project Presentation.
You will receive a grade of 0-100 and this will count as 10% of your project grade.
Your team will be given a 15-minute time slot during class time to present a summary of what
happened during both phases of the project.
You may use this 15 minutes in any way you like.
We suggest that you address the following questions. Note that
the first three bullets of (1) below may be the most important things you learn
from this class:
(1) How you used Design Inspection, Code Inspection, Unit Testing, Incremental Testing, and Regression Testing on your
own software product
Which things worked well?
Which did not?
What would you do differently in Inspection and Testing if you could do it all over again?
What strategy did you use to seed your software product with defects?
(2) How you did Black Box Testing and White Box Testing on another
team's software
How good was your Test Plan?
How good was the Black Box Testing part?
How many defects did you find?
How good was the White Box Testing part?
How many more defects did you find?
How good were your corrections?
Did you find some not logged by the other team?
CS 40800 Software Testing Project Deadlines
Phase 1 ---
Fri, Aug 29 -- Team Assignments due
Fri, Sep 5 -- Project Charter due
Fri, Sep 12 -- Product Backlog,
Test Plan due
Fri, Sep 12 -- Sprint 1 begins
Fri, Sep 19 -- Sprint 1
Design Inspection, Code Inspection, Unit Testing due
Mon, Sep 22 --
Monthly meeting between Project Coordinators and team members
which includes demo of Sprint 1 (Mon-Fri, Sep 22-26)
Fri, Sep 26 -- Sprint 1
Incremental Testing, Regression Testing due
Fri, Sep 26 -- Sprint 2 begins
Fri, Oct 3 -- Sprint 2
Design Inspection, Code Inspection, Unit Testing due
Mon, Oct 6 -- Monthly meeting between Project Coordinators and
team members which includes demo of Sprint 2 (Mon-Fri, Oct 6-10)
Fri, Oct 10 -- Sprint 2
Integration Testing, Regression Testing due
Fri, Oct 10 -- First Peer Evaluation due
Fri, Oct 17 --
Seed Project with at least 50 Defects
Phase 2 ---
Fri, Oct 24 -- Test Plan due
Fri, Oct 31 -- Higher-Order Testing: Performance Testing, Volume
Testing, Stress Testing, Usability Testing, Security Testing due
Mon, Nov 10 -- Monthly meeting between Project Coordinators and
team members (Mon-Fri, Nov 10-14)
Fri, Nov 21 --
Black Box Testing due
Fri, Dec 5 -- Defects Found
and Corrected by Black Box Testing, White Box Testing, and Regression
Testing due
Wrapup --
Mon, Dec 8 --
Project Presentations
Wed, Dec 10 --
Project Presentations
Fri, Dec 12 --
Project Presentations
© 2014 by Purdue University Department of Computer Science.
All rights reserved.