Test
Plan
Client:
Dr. Darren Lim, Assistant Professor
Proposed
Project: Java Online Learning Toolkit (J.O.L.T.)
Delivered
by: 518 Interactive
Team Members:
Lawrence Gregory
Christopher Hughto
Erik Stegmann
Connor Vander Bogart
Jedidiah Turnbull
Revision: 1.0
Date: 12/08/2009
Section 1: System Test
1.1
Testing Plan Identifier
This is the first of many revised versions that will
be used to describe the testing requirements, and general test plan, in detail,
for Java Online Learning Tutor (J.O.L.T). These requirements need to be tested
and met for J.O.L.T. to be considered ready to be used by regular users. As the
project continues to approach completion, this document will also be edited to
reflect any changes, or new requirements that are discovered. These series of
documents will provide a record of any changes, as well as whether a test is
passing or failing at that point in time. An updated version will be provided
at the end of the Detailed Design phase, and a finalized version will be
provided at the end of the Acceptance Test phase.
1.2
Introduction
A test plan gives detailed information regarding
upcoming testing, including but not limited to, the scope of the testing,
scheduling, acceptance criteria, as well as test results. The formats of test
plans can vary with the product and organization to which they apply. There are
two major elements of a test strategy that will be described in this test plan:
Item Pass/Fail Criteria, and approach to testing.
Item Pass/Fail Criteria in this test plan shows
which requirements will be tested during which stages of J.O.L.T’s product
life. The Item Pass/Fail Criteria is derived from the Requirements
Specification document where each requirement or specification will ideally
have multiple tests applied, in order to verify the results.
Approach to testing in this test plan describes how
the testing of J.O.L.T. will be conducted. Test methods may be determined by
standards, regulatory agencies, contractual agreement, or by some other means.
This will be discussed at a later time.
This document is the overview of the test plan. The
goal of this test plan is to review the various functions and features of
J.O.L.T. and test to make sure that each module is functioning properly as well
as that each module is functioning correctly in regard to the whole system.
This particular document is incomplete in the
individual modules of the test are concerned. Future versions of this document
will be complete.
1.3
Approach to Testing
Our approach to testing will start with the
individual unit tests and proceed outwards, by testing module interaction. Then
the modules will be integrated into the whole system, and the system will be
tested as a whole. The goal of this is to catch all errors at a low level of
complexity, in order to prevent small errors from creating larger ones.
Throughout the testing process our team may have to
correct any problems in the systems and proceed to re-test any modules that
interact with the module where the correction was made. As our team cannot
predict how many of these problems may occur, we cannot predict how many times
tests will have to be done. Problems will be discussed with the client in an
effort to find a solution that suits the client’s needs.
1.4
Exception Handling To Test
Under certain circumstances J.O.L.T. may encounter
an error that could not be predicted to happen. J.O.L.T will try to handle
these errors by providing information to the user. Examples of errors that
could occur are:
The database could not complete
a request for one of various reasons:
A message will appear saying the request could not
be completed and to try again. The user should try to submit their request
again.
The user tried to submit
incorrect java code:
J.O.L.T. will try to find a reason why the code
could not run correctly and provide feedback to the user on what went wrong and
how to fix it.
1.5
Functional Requirements
Inventory
The
following list outlines the required functionality that will be tested as a
result of this test plan. All of the tests are designed to test whether one or
more of the requirements have been met.
Java
Online Learning Tutor will be a web-based application viewable on the major
browsers. Browsers included will be Internet Explorer 8, Mozilla Firefox,
Safari, and Google Chrome.
All
references to Source Code imply Java™
Source Code, made to work with Java™ Version 1.6
The
requirements are listed according to User Case, as follows:
·
Will
be able to register online with the system
o
Will
receive email confirmation following registration
·
Will
be able to log into system.
o
A
failed log in will display an appropriate error message.
o
A
link to an identity validation page will be provided if password is forgotten.
·
Will
be able to enroll into courses they are currently taking
o
PIN
number provided by instructor required to enroll into course on the system
·
Will
be able to view announcements sent to them.
·
Will
be able to view problem sets for each course they are in enrolled in
o
Will
be able to view each individual problem within the problem set
o
Will
be able to view hints and solutions to individual problems, if provided by
problem creator.
·
Will
be able to submit solutions to individual problems within active problem sets
in the form of Java™ source code
o
Code
will be compiled by the system online
o
Student
will receive immediate, automatic feedback on compile errors, if any
o
Student
will receive immediate, automatic feedback on how their solution compares to
the test cases
·
Will
be able to complete problem sets
o
Will
be able to navigate to individual problems in a problem set without completing
them in a specific order
o
Will
be able to save any progress made for a problem or problem set
·
Will
be able to view grades for each class
·
Will
be able to view all previously submitted solutions
·
Will
be able to log out
·
Will
be able to log into the system
·
Will
be able to create individual problems
·
Will
be able to create problem sets
o
Will
be able to import previously created problems to a problem set
o
Will
be able to import problems from the course pool to a problem set
o
Will
be able to import problems from the global pool to a problem set
o
Will
be able to individually create each problem for a problem set
·
Will
be able to assign problems they create to a category
·
Will
be able to assign a grading scheme to problem sets
o
Will
be able to assign a point value to specific problems within the problem set
·
Will
be able to assign problem sets to the students in the courses they teach
o
Will
be able to set activation date and time of problem set
o
Will
be able to set expiration date and time of problem set
·
Will
be able to submit problems to a Course Pool
·
Will
be able to search a Course Pool for problems
·
Will
be able to search the Global Pool for problems
·
Will
be able to view a grade book for each of the courses
·
Will
be able to modify grades for all students in each of the courses they are
currently teaching
·
Will
be able to post announcements to students in their courses
·
Will
be able to view announcements sent to them.
·
Will
be able to interact with JOLT as a student user
·
Will
be able to log out
·
Will
be able to log into the system
·
Will
be able to create faculty accounts
·
Will
be able to assign faculty to a course
·
Will
be able to create content for courses they are in charge of
·
Will
have access to course tools which will provide statistics on problems and
grades for a
course
o
Will
be able to create reports over multiple sections of a course involving all
problems and problem sets or any subset thereof.
o
Reports
may include general statistics such as number of participants, average score,
median, low score, and high score.
·
Will
be able to manage the course pool for each course they are in charge of
o
Will
be able to add, modify, or delete any problem in their course pool
o
Will
be able to submit problems to the global pool
·
Will
be able to modify grades for all students currently enrolled in a course they
currently manage
o
Will
be able to keep track of all grades and any adjustments that are made
·
Will
be able to create announcement for all faculty and students of courses they
manage or any subset thereof
·
Will
be able to log out
·
Will
be able log in
·
Will
be able to manage all accounts on the system
·
Will
be able to create course coordinator and faculty accounts
o
Will
be able to assign courses to course coordinators
·
Will
have the same abilities as a course coordinator
·
Will
be able to manage the global pool of problems
·
Will
have access to tools for management of all accounts
o
Will
be able to modify all account information for any user
o
Will
be able to delete accounts
o
Will
be able reset locked accounts
·
Will
be able to create announcements for all course coordinators, faculty and
students, or any subset thereof
·
Will
be able to log out
·
Will
accept and attempt to compile all Java™ source code submitted by students
o
Will
output compile errors, when applicable
o
Will
create Java™ Byte Code upon a successful compilation
·
Will
execute all successfully compiled Java™ solutions
o
Will
monitor students’ submissions while they are running for runtime errors
o
Will
kill a student’s submission if it takes too long to run (Timeout)
Will
record the output generated from the students’ submissions
1.6
Item Pass/Fail Criteria
The
following is a checklist to ensure that individual parts of the system are
working properly. This provides the major requirements that are being tested
based on individual modules’ unit tests. Not all modules are provided at this
time.
Log
On
·
User can log on
to the system using only a correct username and password combination. Yes No
Register
·
User can register
an account in the system using only correct input.
Yes No
Answer
Problem
·
User can submit
an answer using correct input with correct results being displayed. Yes No