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.

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.

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

   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

   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

   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: The document must be formatted using PDF and given the name:
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.