diff --git a/Doc/TestPlan/TestPlan.pdf b/Doc/TestPlan/TestPlan.pdf
index 21265c3bab0308f460bdcaa2e1a49457868cc6df..dddd4632403626c6b07e099f8174787d4076af34 100644
Binary files a/Doc/TestPlan/TestPlan.pdf and b/Doc/TestPlan/TestPlan.pdf differ
diff --git a/Doc/TestPlan/TestPlan.synctex.gz b/Doc/TestPlan/TestPlan.synctex.gz
index 2fdcd30b26951642e43f46c3f71b54150b4834c7..d6128acbcb66819ba71d9bf740b5f255cd05235e 100644
Binary files a/Doc/TestPlan/TestPlan.synctex.gz and b/Doc/TestPlan/TestPlan.synctex.gz differ
diff --git a/Doc/TestPlan/TestPlan.tex b/Doc/TestPlan/TestPlan.tex
index 5b93920856e07b600a72e63e8ce8b5b8e4aa91c6..0804dce6a85956277b4f340c7460e1ff241ddaf2 100644
--- a/Doc/TestPlan/TestPlan.tex
+++ b/Doc/TestPlan/TestPlan.tex
@@ -144,11 +144,20 @@ See Gantt Chart at the following url ...
 	
 \subsection{Tests for Functional Requirements}
 
-\subsubsection{Area of Testing1}
+\subsubsection{GUI}
 
 {\renewcommand{\arraystretch}{1.5}
 
 % Use \mbox{,} when you want use a comma
+\requirements {
+    name = GUI is controlled by the mouse.,
+    type = Structural Dynamic Manual Testing,
+    execution = The user clicks on an available game option that will produce a result which changes the GUI.,
+    initialState = Game is opened.,
+    input = User clicks on an action.,
+    output = The game behaves as expected from user mouse input.
+}
+
 \requirements {
     name = Game will contain a main menu on screen upon launch.,
     type = Structural Dynamic Manual Testing,
@@ -202,6 +211,8 @@ See Gantt Chart at the following url ...
     output = Game is closed.
 }
 
+\subsubsection{Game Structure}
+
 \addvbuffer
 
 \requirements {
@@ -248,6 +259,8 @@ See Gantt Chart at the following url ...
 
 \addvbuffer
 
+\subsubsection{Unit Movement}
+
 \requirements {
     name = Player can select move after selecting a unit that has yet to perform its action and opening the drop down menu., 
     type = Structural Dynamic Manual Testing, 
@@ -281,6 +294,8 @@ See Gantt Chart at the following url ...
 
 \addvbuffer
 
+\subsubsection{Unit Attacking}
+
 \requirements {
     name = Player can select attack as an available option after selecting a player-owned unit that has not attacked and an enemy unit is within attack range.,
     type = Structural Dynamic Manual Testing,
@@ -358,6 +373,8 @@ See Gantt Chart at the following url ...
 
 \addvbuffer
 
+\subsubsection{Unit Structure}
+
 \requirements {
     name = All units shall have a corresponding unit class.,
     type = Functional Static Automatic Testing,
@@ -400,21 +417,55 @@ See Gantt Chart at the following url ...
     output = The unit owns all listed stats.
 }
 
+\subsection{Tests for Nonfunctional Requirements}
 
+\subsubsection{Usability}
 
-\subsubsection{Area of Testing2}
+\requirements {
+    name = Game runs on the operating systems specified in the requirements.,
+    type = Structural Static Manual Testing,
+    execution = The program is executed on the specified operating systems and will be checked for expected behaviour.,
+    initialState = Game is not yet executed.,
+    input = Program is launched.,
+    output = The game functions as expected.
+}
 
-...
+\addvbuffer
 
-\subsection{Tests for Nonfunctional Requirements}
+\subsection{Performance Requirements}
 
-\subsubsection{Area of Testing1}
+\requirements {
+    name = Program Response Time,
+    type = Structural Dynamic Manual Testing,
+    execution = User clicks on option that produces a response from the game.,
+    initialState = Game is open.,
+    input = Attempt to click on an option that should produce a response.,
+    output = The program responds to the user input in near instant time.
+}
 
-...
+\addvbuffer
+
+\requirements {
+    name = Changes in statistics are accurately reflected on the screen.,
+    type = Structural Dynamic Manual Testing,
+    execution = User successfully attacks an enemy unit with a playable unit.,
+    initialState = An enemy unit is in range of a playable unit.,
+    input = User attacks the enemy unit with the playable unit.,
+    output = The enemy unit's hit points decrease.
+}
+
+\addvbuffer
 
-\subsubsection{Area of Testing2}
+\subsection{Security Requirements}
 
-...
+\requirements {
+    name = Invalid user input,
+    type = Structural Dynamic Manual Testing,
+    execution = Attempt to give invalid input to the game\mbox{,} such as keyboard input or clicking on invalid targets.,
+    initialState = Game is initialized.,
+    input = Attempt to give the game keyboard input and clicks on invalid targets.,
+    output = The game state does not change.
+}
 
 \newpage