Testing specifications

Introduction

This document outlines the test plan for the PotatoChatProtocol. The testing activities discussed in this document will verify that the software is capable of manage a chat between different client developed by different team following the structure of the protocol.

Items and features tested

The testing routine will test the management of the users in the server, exchange of messages between a client and another, the structure of the packets, log in and log out by the users. The results of this testing procedure will enable the creators of this system to gauge project success.

Approach

The overall method to this testing procedure is manual system testing using Junit library which implement testing tools.

Manual system testing will continue throughout the second and third iteration of the project. For each iteration, both old and newly implemented features will be tested. Adding new features or functionality can sometimes interfere with the functionality of old features and to ensure product/project success, all features implemented should function as intended throughout the life of the software.

Item Pass/Fail Criteria

The minimum requirements for this software system were laid out project success criteria.

Features that contain major defects will fail the testing procedure and will be turned over to the developer for investigation and revision.

Test Deliverables

In addition to the Test Plan, other test deliverables include the Test Specification which outlines the specific test cases and expected results of each test, and Test reports which is comprised of Incidents, Defects and Changes.

Testing tasks

The following list the testing deliverables and the activities required to produce the deliverable.

Deliverables Activities
Test Plan Analyze Requirements for System Features, Determine TestableNon-Testable Features, Develop Approach/Method for testing, Determine Task and Estimate Efforts, Develop Schedule for Testing
Test specifications Analyze Requirements, Define Test Cases for Testable Features
Test reports Implement Test Cases as Outlined by the Test Specifications, Document Incidents and Defects, Determine Severity of Incidents and Defects, Determine Changes that Need to be Made to System, Document and Submit Change Request to Developer

Test cases

Asynchronous management

Test ID test1
Title Asynchronous packets management
Objective Confirm that the server can handle packets asynchronously
Setup Junit testing on Netbeans IDE
Test Data Packets automatically generated
Test actions Allows the server to receive sent packets and process them
Expected Result Server ends proccess data succesfully

Login and logout

Test ID test2
Title Login and logout by users
Objective Confirm that the server can handle succesfully the communications which permit login and logout actions by users
Setup Junit testing on Netbeans IDE
Test Data User entitits automatically generated
Test actions Simply log in and log out of a user
Expected Result Server handles these two operations without errors

Messages exchange

Test ID test3
Title Management of communication between users
Objective Confirm that the server can handle single or broadcast communcation
Setup Manual, with one physical machine on which to run the server and two clients
Test Data Packets manually generated
Test actions Private exchange of messages and broadcast exchange of messages (in a room)
Expected Result Every users can send and see rights messages