VVP

Version 1.0
February 19, 2008

Online Tower Defense

Epicurity

Casey | Mark | Matt | Tyler

1.0 Introduction and Overview

1.1 Purpose of this Document

This is the Verification and Validation Plan (V&V Plan or VVP) for Epicurity’s Tower Defense game. This document will outline the verification and validation of our Tower Defense Game in addition to test plan, procedure, and preparation and delivery of the final product as agreed upon by the customer and the project team.

1.2 Scope of the Development Project

Team Epicurity will develop an online Flash based Tower Defense game.  Tower Defense is a genre of video games popularized by Starcraft and Warcraft 3, but has recently taken off as an online flash game. So far, however, the flash versions pale in comparison to the originals. We are determined to reduce this gap, and make one of the best tower defense games on the internet.  When users first enter our web-page the flash application will launch, presenting game-play options such as difficulty and game modes.

1.3 Definitions, Acronyms, and Abbreviations

AS – Action Script

TD – Tower Defense

1.4 References

Desktop TD - http://www.handdrawngames.com/DesktopTD/game.asp

Vector TD - http://www.candystand.com/play.do?id=18047

Blizzard Entertainment - http://www.blizzard.com/

 

1.5 Overview of Document

The purpose of the Verification and Validation Plan is to update our descriptions of Scope, Acronyms and Abbreviations, References, Reviews, Walkthroughs, and Audits.  It also describes the test plans, procedures, and requirements tracking we will use in our project.  Finally, it describes the preparation and delivery of a final product, once testing is complete.


2.0 Reviews, Walkthroughs, inspections, and audits

Reviews: Similar to the agile process model, we will begin each team meeting with a short and simple overview of each member’s progress the previous week, along with any complications team members encountered.  We will also have a defect tracking meeting.  Each defect tracking meeting will begin by reviewing the previous week’s test result web-page, with any failed tests being discussed by testers and designers responsible for the component tested.  Assignments may also be given out for further testing and resolution of the defects.

Walkthroughs: Our walkthroughs will be a relatively informal review technique in which a developer leads the other team members through an assigned section of code, and the review team will identify possible problems and improvements.

Inspections/Audit: Our team will use Inspections and Audits as a technical review of small pieces of code with a focus on the review process and possible ways for team members to improve their code.


3.0 Component Test Plans and Procedures

3.1 Component Test Strategy Overview

The following items will be required in each of the Component Tests:

  • Testing Process: The testing procedure described in this plan, given in terms of phases and activities.
  • Requirements traceability: Relate the testing to the requirements given in the SRS (this will be strongly related to what you given in the test requirement cross-reference matrix).
  • Items or components tested: The items being tested; identify them as precisely as possible.
  • Testing schedule and resources: The overall testing schedule and resource allocation.
  • Test recording procedures: How the results of the tests will be systematically recorded. It must be possible for an outside agency to inspect the test plan, the test cases, and the test results to determine that the testing process has been carried out correctly.
  • Hardware and software requirements: The software tools that are needed for running these tests as well as any hardware that will be needed.
  • Constraints: Any constraints that will affect the testing process.

3.2 Game-Play Window

  • Testing Process: The game play window will be tested in two phases. First we will test the sidebar assuming that the game-play logic is working correctly. Next, we will test the top bar under the assumption that both the game-play logic and sidebar are working correctly.
  • Requirements traceability: The sidebar will display all the towers that a user can currently build. Hovering over a tower in the sidebar will display information about that tower. Selecting a tower that has already purchased will display information about that tower as well as provide options including upgrading and selling the tower. The top bar will display the current level, time till next level, a button to go to the next level, user’s life total, resource total, and point total.
  • Items or components tested: Top bar and sidebar.
  • Testing schedule and resources: We will write our tests before the game-play logic is implemented but because the sidebar and top bar rely on the game-play logic we cannot execute these tests until the game-play logic is finished.
  • Test recording procedures: Since our tests must be performed manually, we will fill out a template that documents a test procedure. These will be placed on the team website.
  • Hardware and software requirements: Flash.
  • Constraints: As ActionScript is a scripting language there is no debugging and therefore all testing must be done manually.

3.3 Menus

  • Testing Process: The menus will be tested in two phases that can be done independent of each other:  the game-play options and the scoreboard.  The scoreboard tests will assume working functionality of game-play logic, while the game-play options are run at the start of the game and don’t depend on anything.
  • Requirements traceability: The game-play options testing covers the User Interface requirements: a simple menu will appear that allow users to select their game play options and start the game.  The scoreboard testing covers the functionality requirements: Enter Name.
  • Items or components tested: Game-play menus and Scoreboard.
  • Testing schedule and resources: We will write our tests before the game-play logic is implemented but because the scoreboard relies on the game-play logic we cannot execute that test until the game-play logic is finished.
  • Test recording procedures: Since our tests must be performed manually, we will fill out a template that documents a test procedure. These will be placed on the team website.
  • Hardware and software requirements: Flash.
  • Constraints: As ActionScript is a scripting language there is no debugging and therefore all testing must be done manually.

3.4 Game-Play Logic

  • Testing Process: The game-play logic will be the core of our program and will consist of four phases:  path-finding AI, tower target selection and firing, enemy’s path following, and game "state". 
  • Requirements traceability: User interface requirements are covered by these tests because all of the user interface components depend on working game-play logic.
  • Items or components tested: Game-play options, sidebar, path-finding AI, tower target selection and firing, enemy’s path following, and game "state".
  • Testing schedule and resources: Since so many components are so dependant on game-play logic, it needs to be one of the first tests completed, and therefore will have a majority of our resources devoted to finishing.
  • Test recording procedures: Since our tests must be performed manually, we will fill out a template that documents a test procedure. These will be placed on the team website.
  • Hardware and software requirements: Flash.
  • Constraints: As ActionScript is a scripting language there is no debugging and therefore all testing must be done manually.

 


4.0 System Test Plans and Procedures

4.1 System Test Strategy Overview

The following items will be required in each of the System Tests:

  • Testing Process: The testing procedure described in this plan, given in terms of phases and activities.
  • Requirements traceability: Relate the testing to the requirements given in the SRS (this will be strongly related to what you given in the test requirement cross-reference matrix).
  • Items or components tested: The items being tested; identify them as precisely as possible.
  • Testing schedule and resources: The overall testing schedule and resource allocation.
  • Test recording procedures: How the results of the tests will be systematically recorded. It must be possible for an outside agency to inspect the test plan, the test cases, and the test results to determine that the testing process has been carried out correctly.
  • Hardware and software requirements: The software tools that are needed for running these tests as well as any hardware that will be needed.
  • Constraints: Any constraints that will affect the testing process.

4.2 System Test Description

  • Testing Process: This test will be run in one phase, the end-to-end phase.
  • Requirements traceability: The requirements that are covered by this test are: Enter Game Play Settings (3.2.1), Play Game (3.2.2), and Enter Name (3.2.3)
  • Items or components tested: End-to-end testing will test all components.
  • Testing schedule and resources:  System testing will be done after all component testing has finished.  Beta testers will be involved, and the group will only be working on System testing, so all resources can be devoted to the testing.
  • Test recording procedures: Since our tests must be performed manually, we will fill out a template that documents a test procedure. These will be placed on the team website.
  • Hardware and software requirements: Flash.
  • Constraints: As ActionScript is a scripting language there is no debugging and therefore all testing must be done manually.

5.0 Defect Tracking Plans

Defect tracking will be handled by a combination of Test results recording with an online recording page, and defect tracking meetings.  The Test results recording page will be a template describing each test run, what it was testing, who was testing it, what the results were, and if there were errors, steps to reproduce.  Each defect tracking meeting will begin by reviewing the previous week’s test result web-page, with any failed tests being discussed by testers and designers responsible for the component tested.  Assignments may also be given out for further testing and resolution of the defects.


6.0 Traceability from SRS to SDS

requirement

SDS location

Select Game-Play Settings

Section 2.3

Play Game

Section 2.3

Enter Name

Section 2.3


7.0 Test-requirements cross-reference matrix

profile specific user info (string of characters)

identifier

description

test means

variables

system functionality

comments

Select Game-Play Settings

Allows the user to set certain game play options to their liking so that the game will be more enjoyable.

 

Black box testing

username (string of 4-12 characters)
password (string of 8+ characters)

Allows the user to set certain game play options to their liking so that the game will be more enjoyable.

 

None

Play Game

Allows the user to play our Online Tower Defense game.

 

Black box testing

username (string of 4-12 characters)
password (string of 8+ characters)
real name (string of characters)
email address (string of characters)

Allows the user to play our Online Tower Defense game.

 

None

Enter Name

Allow users to enter a name to be associated with their score so they know how they compare to other players on the internet.

Black box testing

User profile and info.

Allow users to enter a name to be associated with their score so they know how they compare to other players on the internet.

None

 

8.0 Acceptance Test and Preparation for Delivery

8.1 Procedure by which the software product will be acceptance tested

Once we feel confident with the quality of our game, we will distribute our game to beta testers. We will then enter a cycle of receiving complaints and feedback from the beta testers, from which we will make changes and rerelease the game to the beta testers, until no more feedback is provided.

8.2 Specific Acceptance Criteria

In order for the product to meet the acceptance criteria our clients must be able to access and play our game online. When they visit our website we need to prompt and accept the game-play settings from the user. Then we must allow them to play the game with the settings they requested. We they are finished playing the game we must allow them to enter in a name to be associated with their score.

8.3 Scenario by which the software product will be installed

This will be done by simply providing our clients with the URL for our game.