ChesServe Test Plan. ChesServe CS 451 Allan Caffee Charles Conroy Kyle Golrick Christopher Gore David Kerkeslager

Similar documents
Movement of the pieces

YourTurnMyTurn.com: chess rules. Jan Willem Schoonhoven Copyright 2018 YourTurnMyTurn.com

After learning the Rules, What should beginners learn next?

Chess Handbook: Course One

LEARN TO PLAY CHESS CONTENTS 1 INTRODUCTION. Terry Marris December 2004

If a pawn is still on its original square, it can move two squares or one square ahead. Pawn Movement

Welcome to the Brain Games Chess Help File.

Software Requirements Specification

OCTAGON 5 IN 1 GAME SET

Essential Chess Basics (Updated Version) provided by Chessolutions.com

Boulder Chess. [0] Object of Game A. The Object of the Game is to fill the opposing Royal Chambers with Boulders. [1] The Board and the Pieces

A Simple Pawn End Game

DELUXE 3 IN 1 GAME SET

NSCL LUDI CHESS RULES

Algebraic Chess Notation

Chess Rules- The Ultimate Guide for Beginners

The Game. Getting Sarted

Chess, a mathematical definition

John Griffin Chess Club Rules and Etiquette

The game of Paco Ŝako

COMPARISON OF FIDE AND USCF RULES

CHESS SOLUTION PREP GUIDE.

Perry High School. 2 nd Semester!

3. Bishops b. The main objective of this lesson is to teach the rules of movement for the bishops.

State Arbiter Examination Organised by. Tamil Nadu State Chess Association. In co-ordination with

Unit. The double attack. Types of double attack. With which pieces? Notes and observations

The Pieces Lesson. In your chess set there are six different types of piece.

12 Special Moves - Stalemate, Pawn Promotion, Castling, En Passant capture

An End Game in West Valley City, Utah (at the Harman Chess Club)

ARTICLE 1. THE CHESSBOARD

Chess Puzzle Mate in N-Moves Solver with Branch and Bound Algorithm

Google DeepMind s AlphaGo vs. world Go champion Lee Sedol

Contents. Introduction 5 How to Study this Book 5

GICAA State Chess Tournament

The Basic Rules of Chess

Your first step towards nobility

Triple Challenge.txt

THROUGH THE LOOKING GLASS CHESS

Technical Information - NOVAG BERYL

a b c d e f g h i j k l m n

THE COMPLETE RULES OF TIME-CUBE CHESS

Chapter 1: Positional Play

CSC Curriculum Term One Lesson Plans

Roi - King - König - Rey Re - Koning - Kung - Konge Rei - король. Dame - Queen - Dame - Dama Regina - Dame - Dam - Dronning Rainha - ферзь

Overview... 3 Starting the Software... 3 Adding Your Profile... 3 Updating your Profile... 4

All India Chess Federation Senior Arbiter Examination Organised by Mizoram Chess Association Study Material November 03, 2016 Mizoram Contents

K I NG M A STER (911 ) T R AVEL KING M A STER II (16 9 ) USER MANUA L

Chess for Kids and Parents

NOVAG AGATE INSTRUCTION

Important USCF Rules - 5 th Edition USCF Rulebook

The Chess Set. The Chessboard

Chess Arbiters Association. FIDE Laws of Chess 2017


Here is Part Seven of your 11 part course "Openings and End Game Strategies."

CMPUT 657: Heuristic Search

Cover and Interior design Olena S. Sullivan Interior format and copyediting Luise Lee

Its topic is Chess for four players. The board for the version I will be discussing first

How to Play Chinese Chess Xiangqi ( 象棋 )

THE FIDE LAWS OF CHESS PREFACE BASIC RULES OF PLAY

Rule changes Effective June 1, 2005: 1. ALL registration will take place via the internet. All forms are available on the

CHAMPIONSHIP CHESS GAME WORLD. Log On: When you log into the World of Chess, you will enter the Hall of Kings.

FIDE ARBITERS COMMISSION GENS UNA SUMUS

Microchess 2.0 gives you a unique and exciting way to use your Apple II to enjoy the intellectually stimulating game of chess. The complete program lo

Structured Programming Using Procedural Languages INSS Spring 2018

Karpov Chess School M804

1.3 If the position is such that neither player can possibly checkmate, the game is drawn.

Canadian Mathematics Competition An activity of The Centre for Education in Mathematics and Computing, University of Waterloo, Waterloo, Ontario

Homework 9: Software Design Considerations

Tournament Director Manual. Developed by: IA Vlad Rekhson

Senior Math Circles February 10, 2010 Game Theory II

NEW CHESS NOTATION SLAVOLJUB STOJANOVIĆ - SLLAVCCO

Reality Chess. Yellow. White

Fun and Games on a Chess Board

Instruction manual Chess Tutor

All games have an opening. Most games have a middle game. Some games have an ending.

2012 Alexey W. Root. Publisher: Mongoose Press 1005 Boylston Street, Suite 324 Newton Highlands, MA

C SC 483 Chess and AI: Computation and Cognition. Lecture 2 August 27th

CHEKMO-II. CHEKMO-II will run on any PDP-8 family computer with a minimum of 4k of memory, and an ASR33 Teletype or equivalent terminal.

Chess Arbiters Association. FIDE Laws of Chess 2017

1, 2,, 10. Example game. Pieces and Board: This game is played on a 1 by 10 board. The initial position is an empty board.

Accessory to NOVAG'S Chess Computers. Chess details

Queen vs 3 minor pieces

FIDE ARBITERS COMMISSION GENS UNA SUMUS

FIDE LAWS OF CHESS TAKING EFFECT FROM 1 JULY The table of changes

Laws of Chess: For competitions starting on or after 1 July 2014

Totally Puzzled Hard & Easy, Rich & Rare, Old & New Puzzles

BASIC RULES OF PLAY. Article 1: The nature and objectives of the game of chess

FIDE LAWS OF CHESS TAKING EFFECT FROM 1 JANUARY 2018

C SC 483 Chess and AI: Computation and Cognition. Lecture 3 September 10th

Talking LCD Chess Operating Manual

Take the Leap. xchess Rules. xchess.org P r i n t t o P l a y

EUROPE II Chess Master M800. User Manual

PREFACE page 3. BASIC RULES OF PLAY page 3. Article 1: The nature and objectives of the game of chess page 3

Tournament Guidelines and Procedures

GAMES INSTRUCTIONS. 2+ Players 6+ Years

Welcome & Introduction

All India Chess Federation. Senior Arbiter Examination 2017

Fun and Games on a Chess Board II

If a word starts with a vowel, add yay on to the end of the word, e.g. engineering becomes engineeringyay

Introduction 5 Algebraic Notation 6 What s So Special About the Endgame? 8

Transcription:

ChesServe Test Plan ChesServe CS 451 Allan Caffee Charles Conroy Kyle Golrick Christopher Gore David Kerkeslager

Date Reason For Change Version Thursday August 21 th Initial Version 1.0 Thursday August 28 th Revised to Professor's Comments 2.0 ii

All members of the ChesServe team were involved in the development of this document. Allan Caffee Charles Conroy Kyle Golrick Christopher Gore David Kerkeslager iii

August 28, 2008 Contents 1 ABSTRACT......1 2 INTRODUCTION... 1 2.1 PURPOSE......1 2.2 SCOPE......1 2.3 DEFINITIONS......1 3 ENTRY AND EXIT CRITERIA...2 3.1 ENTRY CRITERIA......2 3.2 EXIT CRITERIA......2 4 TEST CASES......2 4.1 LOGGING IN....2 4.2 GAME PAGE CHAT FUNCTIONALITY......3 4.3 GAME PAGE CHESSBOARD FUNCTIONALITY...3 4.4 CONNECTION FAILURE......3 5.1 GAME LOGIC PAWN......3 5.2 GAME LOGIC - ROOK......6 5.3 GAME LOGIC - BISHOP......8 5.4 GAME LOGIC - KNIGHT......10 5.5 GAME LOGIC - QUEEN......11 5.6 GAME LOGIC - KING....13 5.7 GAME LOGIC - STALEMATE......15 i

1 Abstract This is document provides a test plan for the ChesServe chess game. 2 Introduction 2.1 Purpose The purpose of this document is to detail the tests to be performed on the chess game to verify that it operates properly. 2.2 Scope This document covers test plan of the system from an abstract perspective. This does not detail any design or implementation strategies. The acceptance test will check the functional requirements of the system, and the usability of the system. 2.3 Definitions 2.3.1.1 Check: a position in which the king can be taken in the next move of the opposing player 2.3.1.2 Checkmate: a position in which the king can be taken in the next move of the opposing player and no move can be made to prevent the capture of the king 2.3.2 Player: A user playing a game of chess 2.3.3 Rank: The rows of a chessboard, labeled 1-8 2.3.4 File: The columns of a chessboard, labeled A-H 2.3.5 Capture: When a legal move made by player A results in the opposing player having to remove that piece from the board and concurrently player A's piece now occupies that spot. 2.3.6 Stalemate: Neither player is capable of making a move that progresses toward the checkmate of the other player. 08/14/08 ChesServe 1

2.3.7 Diagonal: A move characterized by (rank+n, file+n) 2.3.8 Opponent: Player not currently moving 2.3.9 Forward: Move towards opponent 2.3.10 Backward: Move away from opponent 3 Entry and Exit Criteria 3.1 Entry Criteria The test may begin after the following have been met upon. 3.1.1 The software requirements have been received and agreed 3.1.2 The latest version of the ChesServe software has been obtained. 3.1.3 The project leader and client have been notified. 3.2 Exit Criteria The test shall conclude after one of the following conditions 3.2.1 All top priority functionality tests successfully. (Success) 3.2.2 One or more top priority functionality test fails. (Failure) 4 Test Cases The following test cases cover the functional requirements of the ChesServe system. 4.1 Logging In The user has opened the game through python. The user enters a nickname, I.P. address and port number. The user then clicks on the enter button. The user is redirected to the game screen. 08/14/08 ChesServe 2

4.2 Game Page chat functionality The user has logged in and is in an active game. s The user enters text in the chat window and presses the enter key. The text is displayed in the chat window. 4.3 Game Page chessboard functionality The user has logged in and is in an active game. The user enters a move in algebraic notation and presses enter. If the move is invalid, an error screen is produced. If the move is valid, the move is executed. If the move results in checkmate, the players shall be notified of the win. 4.4 Connection Failure The user has logged in and is in an active game. The user closes game or loses connection. The game shall alert the opponent that the user has lost connection. 5 Testing Game Logic The following tests shall be executed using test 4.3 to check that the game logic is correct. 5.1 Game Logic Pawn 5.1.1 The user attempts to move the pawn along the board within it's rank. 08/14/08 ChesServe 3

5.1.2 The user attempts to move the pawn three or more positions forward on the board. 5.1.3 The user attempts to move the pawn diagonally along the board to a vacant position or a position occupied by the same color piece. 5.1.4 The user attempts to move the pawn backwards along the board. 5.1.5 The user attempts to move the pawn forward along the board into an occupied position. 5.1.6 The user attempts to move the pawn forward 2 positions, 08/14/08 ChesServe 4

after the pawn has been moved once. 5.1.7 The user attempts to move the pawn to a position that will leave the king in check. 5.1.8 The user attempts to move the pawn forward one position into an unoccupied position. Game shall update board with pawn moved. 5.1.9 The user attempts to move the pawn forward two positions into an unoccupied position as the pawn's first move. Game shall update board with pawn moved. 5.1.10 The user attempts to move the pawn diagonally into a position occupied by an opponent's piece. Game shall update board with pawn moved, and the opponent captured. 5.1.11 The user attempts to moves the pawn into a position that 08/14/08 ChesServe 5

results in checkmate. Game shall update board with pawn moved, and alert players to the end of the game. 5.2 Game Logic - Rook 5.2.1 The user attempts to move the rook to a position that is not within the rooks rank or file. 5.2.2 The user attempts to move the rook within it's file into a position occupied by a piece of the same color. 5.2.3 The user attempts to move the rook within it's rank into a position occupied by a piece of the same color. 5.2.4 The user attempts to move the rook within it's file through a position occupied by any piece. 5.2.5 08/14/08 ChesServe 6

The user attempts to move the rook within it's rank through a position occupied by any piece. 5.2.6 The user attempts to move the rook while the rook is blocking check. 5.2.7 The user attempts to move the rook within it's rank to an open position that is not blocked. Game shall update board with rook moved. 5.2.8 The user attempts to move the rook within it's file to an open position that is not blocked. Game shall update board with rook moved. 5.2.9 The user attempts to move the rook within it's rank to a position that is not blocked and occupied by an opponent's piece. Game shall update board with rook moved and the opponent's piece captured. 5.2.10 08/14/08 ChesServe 7

The user attempts to move the rook within it's file to a position that is not blocked and occupied by an opponent's piece. Game shall update board with rook moved and the opponent's piece captured. 5.2.11 The user attempts to move the rook within it's rank to a position that is not blocked and occupied by the opponent's king. Game shall update board with rook moved and alert players to the end of the game. 5.2.12 The user attempts to move the rook within it's file to a position that is not blocked and occupied by the opponent's king. Game shall update board with rook moved and alert players to the end of the game. 5.3 Game Logic - Bishop 5.3.1 The user attempts to move the bishop to a position that does not fall within the pattern: (rank + n, file + n). 5.3.2 08/14/08 ChesServe 8

The user attempts to move the bishop diagonally along the board into a position occupied by a piece of the same color. 5.3.3 The user attempts to move the bishop diagonally along the board through a position occupied by any piece. 5.3.4 The user attempts to move the bishop while the bishop is blocking check. 5.3.5 The user attempts to move the bishop diagonally to an open position that is not blocked. Game shall update board with bishop moved. 5.3.6 The user attempts to move the bishop diagonally to a position that is not blocked and occupied by an opponent's piece. Game shall update board with bishop moved and the opponent's piece captured. 5.3.8 08/14/08 ChesServe 9

The user attempts to move the bishop diagonally to a position that is not blocked and open, creating checkmate. Game shall update board with bishop moved and alert players to the end of the game. 5.4 Game Logic - Knight 5.4.1 The user attempts to move the knight to a position that does not fall within the pattern: (rank +- 2, file +- 1) or (rank +- 1, file +- 2). 5.4.2 The user attempts to move the knight into a position occupied by a piece of the same color. 5.4.3 The user attempts to move the knight while the knight is blocking check. 5.4.4 The user attempts to move the knight to a position that falls within the pattern: (rank +- 2, file +- 1) or (rank +- 1, file +- 08/14/08 ChesServe 10

2) that is open. Game shall update board with knight moved. 5.4.5 The user attempts to move the knight to a position that falls within the pattern: (rank +- 2, file +- 1) or (rank +- 1, file +- 2), is not blocked, and is occupied by an opponent's piece. Game shall update board with knight moved and the opponent's piece captured. 5.4.6 The user attempts to move the knight to a position that falls within the pattern: (rank +- 2, file +- 1) or (rank +- 1, file +- 2), is not blocked, is open, and creates checkmate. Game shall update board with knight moved and alert players to the end of the game. 5.5 Game Logic - Queen 5.5.1 The user attempts to move the queen to a position that does not fall within it's rank, file, or the pattern: (rank + n, file + n). 5.5.2 The user attempts to move the queen into a position 08/14/08 ChesServe 11

occupied by a piece of the same color. 5.5.3 The user attempts to move the queen through a position occupied by any piece. 5.5.4 The user attempts to move the queen while the queen is blocking check. 5.5.5 The user attempts to move the queen to a position that does falls within it's rank, file, or the pattern: (rank + n, file + n) that is open. Game shall update board with queen moved. 5.5.6 The user attempts to move the queen to a position that does falls within it's rank, file, or the pattern: (rank + n, file + n), is not blocked, and is occupied by an opponent's piece. Game shall update board with queen moved and the opponent's piece captured. 5.5.7 08/14/08 ChesServe 12

The user attempts to move the queen to a position that does falls within it's rank, file, or the pattern: (rank + n, file + n), is not blocked, and creates checkmate. Game shall update board with queen moved and alert players to the end of the game. 5.6 Game Logic - King 5.6.1 The user attempts to move the king to a position that does not fall within it's rank +- 1, file +-1, or the pattern: (rank +- 1, file +- 1). 5.6.2 The user attempts to move the king into a position occupied by a piece of the same color. 5.6.3 The user attempts to move the king into check. 5.6.4 The user attempts to move the king to a position that does falls within it's rank +- 1, file +- 1, or the pattern: (rank +- 08/14/08 ChesServe 13

1, file +- 1) that is open. Game shall update board with king moved. 5.6.5 The user attempts to move the king to a position that does falls within it's rank +- 1, file +- 1, or the pattern: (rank +- 1, file +- 1), is not blocked, and is occupied by an opponent's piece. Game shall update board with king moved and the opponent's piece captured. 5.6.6 The user attempts to castle and the king or rook has already been moved. 5.6.7 The user attempts to castle and neither the king nor rook has been moved, and the king is in check or moves through a position that would place the king in check, and there are no pieces blocking the castle. 5.6.8 The user attempts to castle and neither the king nor rook has been moved, and the king is not in check nor does the king move through a position that would place the king in 08/14/08 ChesServe 14

check, and there is at least one piece blocking the castle. 5.6.9 The user attempts to castle and neither the king nor rook has been moved, and the king is not in check nor does the king move through a position that would place the king in check, and there are no pieces blocking the castle. 5.7 Game Logic - Stalemate 5.7.1 Both users have only a king. Board updates Game shall notify users of a stalemate. 5.7.2 The user can not make a move without putting his king in check. Board updates Game shall notify users of a stalemate. 08/14/08 ChesServe 15