This section describes your team project's
test plan,
which is a document that contains a complete set of
test cases
for your system.
Test cases can be written as soon as your project's
requirements
are determined.
A
test case is an explicit set of instructions designed to
detect a particular class of defect in a software system, by bringing
about a failure.
This section describes the information to include in a test case, as
well as their various levels of importance.
A test case is written for a
tester, who may or may not be a
software developer.
A test case must have indentification information, instructions for the
tester, and the expected result.
- Each test case should have a number and a descriptive
title
- The importance of the test case should be indicated
(see Levels of Importance)
- Tell the tester exactly what to do:
- How to put the system into the required initial state
- What inputs to provide
- The tester should not have to refer to any other documentation in
order to execute the instructions
- Tells the tester what the system should do in response to the
instructions:
- What the system should output
- What state it should then be in
- The tester reports a failure if the expected result is not
encountered
Test cases are classified according to their importance, or severity
level.
The most important test cases are executed first, and are designed to
detect the most severe classes of defect.
- Critical, first-pass test cases
- Designed to verify the system runs and is safe
- No further testing is possible if a Level 1 test fails
- Example: user authentication in a university registration system
- General test cases
- Verify that common, routine functions work correctly
- If a Level 2 test fails, testing of other aspects of the system
can still proceed
- Example: file upload in a portfolio system
- Test cases for requirements that are of lesser importance
- Systems with Level 3 failures can be used, but lack in overall quality
- Example: "cosmetic" aspects of a user interface such as
disabling a button when required
The following examples are for an instant messaging system
called Simple Chat implemented in a client-server architecture.
Testcase 2001
System: Simple Chat
Server startup check with default arguments
Severity Level: 1
Instructions:
1. At the console, enter: java EchoServer.
Expected result:
1. The server reports that it is listening for clients by displaying
the following message:
Server listening for clients on port 5555
2. The server console awaits for user input.
Testcase 2004
System: Simple Chat
Client connection with default arguments
Severity Level: 1
Instructions:
1. Start a server (Testcase 2001, instruction 1)
2. On a different console on the same computer, start a
client (Testcase 2003, instruction 1)
Expected results:
1. The server displays the following messages in sequence:
A new client is attempting to connect to the server.
Message received #login <loginID> from null.
<loginID> has logged on.
2. The client displays message:
<loginID> has logged on.
3. The client and the server wait for user input.
Testcase 2008
System: Simple Chat
Server stop check
Severity Level: 2
Instructions:
1. Start a server (Testcase 1001, instruction 1).
2. Connect a client to the server (Testcase 2004).
3. Type "#stop" into the server's console.
4. Type in a message on the client and send it.
5. Attempt to connect other clients.
6. Restart the server.
Expected results:
1. The server displays:
Server has stopped listening for connections.
2. The client displays:
WARNING - Server has stopped listening for connections.
3. Data echoing still works normally.
4. Attempting to connect other clients will hang the console as these new
connections are put on backlog until the max backlog (default of 10) is reached.
5. Restarting the server will cause the backlogged clients to connect properly.
The test plan document will be graded based on:
- Completeness
- Correspondence to requirements
- English grammar and style
The document must be formatted using PDF and given the
name:
team-n-testplan.pdf
where
n is your team number.
The document is due by 8:00pm on Friday, November 6.
It can be submitted in your Google Drive team folder.