From 552fb3dfa72d72172f1047ea3027d88bb0b2aedb Mon Sep 17 00:00:00 2001
From: René den Hertog
Date: Mon, 2 Oct 2017 00:13:06 +0200
Subject: Improve the 'Test Environment' section of the 'Test Plan'.

---
 assignments/assignment1.tex | 57 +++++++++++++++++++++++----------------------
 1 file changed, 29 insertions(+), 28 deletions(-)

(limited to 'assignments/assignment1.tex')

diff --git a/assignments/assignment1.tex b/assignments/assignment1.tex
index fc601b0..525a44a 100644
--- a/assignments/assignment1.tex
+++ b/assignments/assignment1.tex
@@ -154,30 +154,49 @@ Sadly, path, branch and condition coverage are not included in the tools we will
 
 As every software developer and tester knows, it is very hard, if not impossible, to completely test a given system. Noting that the risks surrounding our SUT are almost negligible (see \S\ref{P:ERSUT}), the pressure on the testing is not noticeable. However, we still feel the tests as described should give a more than sufficient scrutiny. The black box testing will likely find, if any, faults in the wrapper and the interaction with the {\tt chesshs} package. The white box testing will likely find, if any, errors in the implementation of the library.
 
+\subsection*{Test Environment}
+
+Since the SUT is in actuality the {\tt chesshs} package, a user interface is clearly lacking. Thats why we have written a wrapper which makes the library interactive. See listing \ref{L:WI} for the full implementation. \\
+
+\begin{listing}
+	\inputminted[fontsize=\footnotesize]{haskell}{../src/runchess.hs}
+	\caption{Wrapper Implementation} \label{L:WI}
+\end{listing}
+
+Black box tests will be automatically performed using shell scripting. In our case, we will be using bash and Linux compatible scripts. Test automation for white box testing is achieved by functionalities available in the to be used testing tool Quick Check. \cite{QC} \\
+
+The software environments we will be using for testing our SUT are the operating system Linux, specifically Debian and Ubuntu, and the Haskell Platform {\tt 2014.2.0.0}, which includes, the Glasgow Haskell Compiler (GHC) {\tt 7.10.3}, Cabal {\tt 1.22.6.0} ({\tt 1.22.5.0} for the library) and Quick Check {\tt 2.8.1}. \cite{HP, GHC, C, QC} The hardware platforms are three differently powerful laptops, notably Acer and Toshiba.
+
+The testing architecture is best described by the graphic shown in figure \ref{F:TAGO}.
+
 \begin{figure}
 	\centering
 	\begin{tikzpicture}[
 			every node/.style={draw,rectangle},
 			title/.style={draw=none},
 			->,>=open triangle 60]
-		\node (bbtest) at (4,0)  {Black-box tester (\texttt{test.sh})};
+		\node (bbtest) at (4,0)  {Black Box Tester ({\tt test.sh})};
 		\node[matrix,row sep=.5em] (prog) at (0,0) {
 			\node[title] {Wrapper};\\
-			\node (chesshs) {Chess.hs};\\
+			\node (chesshs) {{\tt chesshs}};\\
 		};
-		\node[left=2em of chesshs] (wbtest) {White-box tester (\texttt{test.hs})};
-		\node[below of=wbtest] (quickcheck) {Quickcheck};
+		\node[left=2em of chesshs] (wbtest) {White Box Tester ({\tt test.hs})};
+		\node[below of=wbtest] (quickcheck) {Quick Check};
 		\draw (bbtest) -- (prog);
 		\draw (wbtest) -- (chesshs);
 		\draw (quickcheck) -- (wbtest);
 	\end{tikzpicture}
-	\caption{A graphical overview of the testing setup.\label{fig:testing-setup}}
+	\caption{Testing Architecture Graphical Overview} \label{F:TAGO}
 \end{figure}
 
-\begin{listing}
-	\inputminted[fontsize=\footnotesize,firstline=13]{haskell}{../src/runchess.hs}
-	\caption{The basic wrapper.\label{lst:wrapper}}
-\end{listing}
+No stubs nor drivers are necessary for executing the testing architecture. \\
+
+Most, if not all, documentation surrounding the tests, test results and test environment will be included in this document. It is possible that some tests and test results will contain information not stated here, such as the name of a test case and the possible flaw that it (tries to) detect(s). However, any external information will easily be found in the appropriate files.
+
+The tests will either be stored in the examples database (directory) or will be part of the Quick Check unit test module(s) (source file). The test results will be stored, if necessary, in the same files as their related test or in another easy to locate file. The test environment will be stored, as every other testing component, in a Git repository found at \url{https://gitlab.science.ru.nl/eveen/Testing-Techniques.git}.
+
+Since Haskell, as most functional programming languages, is ``stable" in terms of side effects and randomness, reproductivity should no be an issue. Nevertheless, we will make sure every test case can be reproduced, that is, run again leading to the same results as is documented.
+
 
 \begin{thebibliography}{8}
 	\bibitem[C]    {C}    \url{http://haskell.org/cabal}
@@ -185,27 +204,9 @@ As every software developer and tester knows, it is very hard, if not impossible
 	\bibitem[GHC]  {GHC}  \url{http://haskell.org/ghc}
 	\bibitem[HP]   {HP}   \url{http://haskell.org/platform}
 	\bibitem[PGN]  {PGN}  \url{http://saremba.de/chessgml/standards/pgn/pgn-complete.htm}
+	\bibitem[QC]   {QC}   \url{http://hackage.haskell.org/package/QuickCheck}
 	\bibitem[SAN]  {SAN}  \url{http://cfajohnson.com/chess/SAN}
 	\bibitem[SUT]  {SUT}  \url{http://hackage.haskell.org/package/chesshs}
 \end{thebibliography}
 
-\section{Test Environment}
-\begin{enumerate}
-	\setcounter{enumi}{10}
-	\item 
-		A wrapper written by us will be used to interact with the SUT.
-		See \cref{lst:wrapper} for the implementation.
-	\item
-		Tests will be automatically performed using a combination of bash and Quickcheck.
-	\item
-		\begin{enumerate}[a)]
-			\item
-				The software environment GHC 8, Quickcheck 2.10, Linux Debian (derived).
-				The hardware environment is a set of three amd64 laptops.
-			\item
-				See \cref{fig:testing-setup}.
-		\end{enumerate}
-	\item
-		A Git repository, the results will be stored in individual files.
-\end{enumerate}
 \end{document}
-- 
cgit v1.2.3

