Midfielder Lab 2
Test Plan
EEL4884, Spring 2004
Modification history:
|
Version
|
Date
|
Who
|
Comment
|
|
v0.0
|
08/15/00
|
G. H. Walton
|
Template
|
|
v1.0
|
02/26/04
|
Group
|
baseline
|
|
...
|
|
|
|
Team Name: Midfield Lab 2
Team Members:
Contents of this Document
- Introduction:
Overall Objective for Software
Test Activity
Reference Documents
- Description of Test Environment
- Overall Stopping Criteria
- Description of Individual
Test Cases
SECTION 1: Introduction
Overall Objective for Software
Test Activity:
The purpose of this test plan is verify the correct opperation of the Midfielder player client at this stage of development. At this time the midfielder is required correctly position himself on the field and following kickoff run towards the ball and kick it towards the opposing goal. This test plan will verify that the midfielder program can complete these tasks under varying conditions, without input from the user except the declaration of kickoff.
Reference Documents:
SECTION 2: Description of Test Environment
The test will be performed on a platform in the Linux lab, Engineering I room 260. This will be the same environment in which the finished software will operate. The testing computer will have at least a 500 MHz processor and 128 MB RAM. It will be running the Linux operating system and the midfielder program will be initiated through a console. The robocup server will be running on an external system. This system will be exactly the same as the one with which the finished software will interact. The tests will be performed by the developers, in the presence of a user to verify that it meets its requirements.
SECTION 3: Stopping Criteria
- If errors are found during testing they will be noted, but testing will continue, unless a fatal error is discovered which prevents further testing. If a fatal error is found, testing will halt and the error will be corrected to the extent that will allow the testing to continue. Testing will continue until all test cases have been examined. Then all noted errors will be fixed. At this point the test may be repeated, applying the same procedure to the corrected code.
- If no errors are found during testing this portion of the software will be considered "good enough to deliver" once all test cases have been run in the presence of the customer, and the customer has had the chance to inspect and verify performance.
- "Good enough to deliver" is defined as containing no known errors in the performance of the required funcionality. However, errors may occur after all required tasks have been performed.
SECTION 4: Description of Individual
Test Cases
- Test Objective: Test of establishing server connection
- Test Description: In this test we simply see if client is able to establish a server connection. We will start the server, then the monitor, then our client.
- Test Conditions: See Test Description
- Expected Results: If the test is successful, one of the players on the field will be selected in the monitor.
- Test Objective: Test of field positioning functionality
- Test Description: This test will verify that the Midfielder program is able to correctly position the player on the field at any specified legal coordinates. The position values used will be (1,20) (10,-15) (50,0). One of these sets of values will be keyed into the code before each test run. The program will then be initiated, but kickoff will not be declaired. The test is complete once the player has been positioned on the field.
- Test Conditions: See Test Description
- Expected Results: If the test is successful the player will appear on the field at the designated location, the appropriate move command will show up in the listing of communication with the server.
- Test Objective: Test of running functionality
- Test Description: This test will verify that the Midfielder program meets the requirement of being able to run towards the ball. The player will be placed on the field at some distance from the ball and the kick off will be initiated.
- Test Conditions: See Test
Description
- Expected Results: If the test is successful, in each case after kickoff has been declaired, the player will run toward the ball. The appropriate series of dash commands will show up in the listing of communication with the server.
- Test Objective: Test of turn functionality
- Test Description: This test will verify the client's ability to turn effectively. We will place the player on the field, in a position where it cannot see the ball. We will then start kickoff.
- Test Conditions: See Test Description
- Expected Results: If successful the player will use turn commands to face the ball. The appropriate series of turn commands will appear in the debugging output to the server.
- Test Objective: Test of object visibility.
- Test Description: We will place our player on the field with another client. During the course of game play, we will compare the sensory messages from the server, to the debugging messages of our player state.
- Test Conditions: See Test Description
- Expected Results: If the test is successful, every relevant object that appears in his view from the server sensory messages, should be mirrored in his own internal debugging output.
- Test Objective: Test of ability to kick ball.
- Test Description: We will place client on the field, drop the ball in front of him and initiate the game on state.
- Test Conditions: See Test Description
- Expected Results: The player should kick the ball, which is easily verified by the motion of the ball in the monitor. Also, the kick commands should show up in the debugging stream.
- Test Objective: Test of ability to scan for ball.
- Test Description: We will place client on the field, at a position where the ball is not immediately visible. We will then initiate kick off.
- Test Conditions: See Test Description
- Expected Results: According to our game play algorithm, the player should turn until the ball is visible. It should be obvious in the monitor that the client is facing the ball. The ball should appear in his sensory output.
- Test Objective: Test of receiving server data.
- Test Description: We will place client on the field, and initiate kick off.
- Test Conditions: See Test Description
- Expected Results: Messages from the server will be visible in our debugging output.
- Test Objective: Test of parsing server data.
- Test Description: We will place the client on the field and initiate game play.
- Test Conditions: See Test Description
- Expected Results: As messages from the server come in, we will print both the raw server output and our tokenized, parsed output. All data in the former should appear in the latter, stripped of formatting.
- Test Objective: Test of interpreting server data.
- Test Description: We will place the client on the field and initiate game play.
- Test Conditions: See Test Description
- Expected Results: We will compare internal state debugging messages from our client to the raw server message output. These should synchronize exactly.
- Test Objective: Test of proper server message construction.
- Test Description: We will place the client on the field and initiate game play.
- Test Conditions: See Test Description
- Expected Results: We will compare client's commands to the proper format of the robocup manual. Finally we will scan for illegal command errors in the server output.
- Test Objective: Test of sending server messages.
- Test Description: We will place the client on the field and initiate game play.
- Test Conditions: See Test Description
- Expected Results: Observe actions on the field. See if commands sent to server, reflected in debugging output, match the expected actions on the field.
- Test Objective: Test of appropriate field behavior.
- Test Description: We will place the client on the field and initiate game play.
- Test Conditions: See Test Description
- Expected Results: Player should turn towards the ball, run towards the ball and kick the ball towards the opposing goal.
Template created by G. Walton (GWalton@mail.ucf.edu)
on March 28, 1999 and last modified on August 15, 2000.
This page last modified by Marshal Blessing
(ma187622@pegasus.cc.ucf.edu) on 02/26/04