X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=a2%2F1cases.tex;h=d339dfa57f64eb3a237f455e7bcd6e0ca107cfb1;hb=f0657da1ab399a97b0cd9255f5c6688fcd6128bd;hp=d84752a90b12c610a3a7104865fc1c4286281414;hpb=f332d78e82a391ad322fca496065e3002553d606;p=tt2015.git diff --git a/a2/1cases.tex b/a2/1cases.tex index d84752a..d339dfa 100644 --- a/a2/1cases.tex +++ b/a2/1cases.tex @@ -35,7 +35,7 @@ user permissions. \hline\hline Check 3 & \multicolumn{2}{l|}{Initialize the testing environment..}\\ \hline - \multirow{5}{*}{Course of action} + \multirow{6}{*}{Course of action} & 1. & Boot the SUT as in \emph{Check 1}.\\ & 2. & Setup iptables by executing \texttt{\# code/iptables.sh}~\footnote{The IPTables script ensures @@ -43,9 +43,11 @@ user permissions. & 3. & Navigate to the working directory by running \texttt{\$ cd /home/student/tt2015}\\ & 4. & Compile the echo server by running - \texttt{\# cd code/server \&\& make \&\& cd -}\\ + \texttt{\# cd code/server \&\& make}\\ & 5. & Start the echo server by running \texttt{\# cd code/server \&\& java Main}\\ + & 6. & Generate all test cases by running + \texttt{\$ python code/client/gen.py}\\ \hline Passed & \multicolumn{2}{l|}{\textit{Yes/No}}\\ \hline\hline @@ -80,8 +82,7 @@ results to asses whether or not the SUT has passed the test. The implementation of the SUT is tested using black box testing techniques. A series of tests asses the correctness of the implementation with regards to the -TCP specification. These tests are specified in Table~\textbf{referentie naar -tests-tabel}. The test cases aim to cover the most interesting parts of the TCP +TCP specification. These tests are specified in Table~\ref{tbl:testpairs}. The test cases aim to cover the most interesting parts of the TCP specification. To cover the TCP specification as complete as possible while still maintaining @@ -128,7 +129,22 @@ these partitions are given. \end{enumerate} These partitions were chosen since they correspond to key parts of the TCP -specification. +specification. A single request consists of a number of packets that sent a +to the \emph{echo-server} and back. The TCP specification state that such a +transaction requires the following messages. + +\begin{center} + Script $-$ SYN $A$ $\rightarrow$ SUT \\ + Script $\leftarrow$ SYN-ACK $(A+1)$ $B$ $-$ SUT \\ + Script $-$ ACK $(A+1)$ $(B+1)$ $\rightarrow$ SUT \\ + Script $-$ ACK-PUSH $(A+1)$ $(B+2)$ \emph{msg} $\rightarrow$ SUT \\ + Script $\leftarrow$ ACK $(A+2+msg_{length})$ $(B+3)$ $-$ SUT \\ + Script $\leftarrow$ ACK-PUSH $(A+2+msg_{length})$ $(B+3)$ \emph{msg} $-$ SUT +\end{center} + +% +% één na laatste packket, moet dit B+3 of B+2 zijn? +% TCP segments are send over a TCP connection from a \emph{source} to a \emph{destination port}. Therefore segments which are received that have a source or destination port set to an incorrect value should not be regarded @@ -258,7 +274,7 @@ The we do the preflight checks as defined in Table~\ref{tbl:preflight}. \subsubsection{Test Cases} If the SUT passes the preflight checks the actual test cases can be executed. Table~\ref{tbl:testcases} shows the expected results of each of the test cases -described in Table~\ref{table:testpairs}. +described in Table~\ref{tbl:testpairs}. \setcounter{TCC}{1} \begin{table}[H] @@ -296,25 +312,16 @@ described in Table~\ref{table:testpairs}. corrupted is received for each consecutive segment send.\\ \hline \doTCC & The ACK\# for the SEQ\# of the first segments which is corrupted is received for each consecutive segment send.\\ \hline - \hline \end{tabular} \caption{Expected results of test cases} -\label{table:preflightresults} +\label{tbl:testcases} \end{table} -% Bij Ramons aanwezigheid +% Bij Ramons afwezigheid % Paul Vitero (linkerkant lange gang) % verdieping Mercator -%Before every test case use the following steps to initialize the testing environment. -% -%\begin{enumerate} - %\item Boot the vm using VirtualBox. - %\item Setup iptables by executing \texttt{\# code/iptables.sh} - %\item Navigate to the working directory by running \texttt{\$ cd /home/student/tt2015} - %\item Start the echo server by running \texttt{\# cd code/server \&\& java Main} -%\end{enumerate} -% + %\begin{longtable}{|p{.2\linewidth}|p{.8\linewidth}|} %\hline %Nr & 1 \\\hline @@ -367,6 +374,28 @@ described in Table~\ref{table:testpairs}. %& 2. Execute the script by running \texttt{\# code/client/tests/5.py} \\\hline %Valid trace & Verify that the script prints 'Success'. \\\hline %\hline +% + %Nr & 6 \\\hline + %Title & Request with corrupted source port. \\\hline + %Input & Generated packets with 1byte payload, in these packets the source port number is increased by one. \\\hline + %Expected output & - \\\hline + %\multirow{2}{*}{Course of action} + %& 1. Use the steps listed above in order to start the SUT. \\ + %& 2. Execute the script by running \texttt{\# code/client/tests/6.py} \\\hline + %Valid trace & Verify that the script prints 'Success'. \\\hline + %\hline +% +% + %Nr & 6 \\\hline + %Title & Request with corrupted destination port. \\\hline + %Input & Generated packets with 1byte payload, in these packets the destination port number is increased by one. \\\hline + %Expected output & - \\\hline + %\multirow{2}{*}{Course of action} + %& 1. Use the steps listed above in order to start the SUT. \\ + %& 2. Execute the script by running \texttt{\# code/client/tests/6.py} \\\hline + %Valid trace & Verify that the script prints 'Success'. \\\hline + %\hline +% %\end{longtable} %\begin{tabularx}{\linewidth}{| l | X|}