CMPSCI 520/620
Fall 2004
Project 3
Assigned: November 22, 2004
Due: December 20, 2004 (PEEAS December 26, 2004)
1. Install Sakai, complete coding of your Sakai Tool.
2. Develop a Test Plan and several (at least 3 test
cases) based on your SRS. Select (adding if necessary) high-level requirements
elements having functional, timing, and robustness requirements. For each of these three types of
requirements specify a set of test cases designed to determine whether your
Tool adheres to the given requirements. A test case should be specified in
template form, where the template contains at least the following fields:
a. Requirement element being tested
b. Requirement element field being tested
c. Testing rationale (some sort of motivation or
justification for this approach to testing the software system in this way)
d. Testing environment required (eg. needed hardware,
software, or setup procedure)
e. Input(s) to the software (here it is desirable to
specify a set of related inputs designed to provide good coverage).
f. Required output(s) (this is likely some function of
the input)
3.
Develop
the necessary test scaffolding (drivers, stubs, etc) to unit test your tool (If you are programming
in Java, you may find JUnit
useful), i.e., testing the Tool before integrating it within the Sakai framework.
4.
Specify
a process (use a dataflow diagram, control flow diagram, or programming
language code) for unit testing your Tool by executing the test cases defined above. The
unit testing process will clearly be some kind of iteration through the test
cases, but you should take care to specify the order in which the various test
cases are to be executed. In
addition, you should be sure to indicate how you will detect failures, what you
will do to record failures, and any strategy you may have for altering the progress
of the testing process in response to failures.
5.
Integrate
the Tool within Sakai and describe your integration testing strategy.
6.
[620
Only] Using
Little-JIL, describe your unit testing and integration testing processes. You
should be sure to make use of such Little-JIL features as exception management
and choice/try step kinds in your process programs. Include the Little-JIL
specification as an Appendix to the report below. Submit
this as part of HW#3
7. Provide a short report of your implementation and
testing experience.
8. On-campus students should arrange to meet and demo
your tool.