X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=a2%2F1cases.tex;h=e488ba30f53192ef4860c3d21150a12649c39927;hb=14b6a60ab5a1358f759bec66cc66fa20a4ab439a;hp=da3a34bddf405bd1a21a7d0aae2c3286656bfcf4;hpb=da69faad6643af30b9a9ed839e437ee03b0b8b47;p=tt2015.git diff --git a/a2/1cases.tex b/a2/1cases.tex index da3a34b..e488ba3 100644 --- a/a2/1cases.tex +++ b/a2/1cases.tex @@ -89,13 +89,14 @@ a feasible test suite the tests are divided into equivalence partitions. Below these partitions are given. \begin{enumerate} - \item \emph{Number of packets} in request~\footnote{A request is considered - establishing a connection (handshake) and a number of payload packets} + \item \emph{Number of segments} in request~\footnote{A request is + considered establishing a connection (handshake) and a number of + payload segments} \begin{enumerate} - \item 0 payload packets - \item 1 payload packet - \item n=small payload packets - \item n=big payload packets + \item 0 payload segments + \item 1 payload segments + \item n=small payload segments + \item n=big payload segments \end{enumerate} \item \emph{source port} \begin{enumerate} @@ -107,18 +108,18 @@ these partitions are given. \item Correct \item Incorrect \end{enumerate} - \item Bits flipped in \emph{payload} + \item Bit errors in \emph{payload} \begin{enumerate} \item Correct payload - \item Payload with even number of bits flipped - \item Payload with odd number of bits flipped + \item Payload with bit flips that do not show in checksum + \item Payload with bit flips that do show in checksum \end{enumerate} \item \emph{checksum} \begin{enumerate} \item Correct \item Incorrect \end{enumerate} - \item Packet order + \item \emph{Packet order} \begin{enumerate} \item Correct \item Out of order @@ -126,8 +127,34 @@ these partitions are given. \end{enumerate} \end{enumerate} -\textbf{hier iets over waarom deze partities relevant zijn! Waarom odd en -even number of bits flipped bijv interessant?} +These partitions were chosen since they correspond to key parts of the TCP +specification. + +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 +as segments belonging to the connection by the SUT. + +TCP uses a \emph{checksum} to catch any error introduced in headers, when this +checksum does not match the actual computed checksum the SUT should +disregard the received segment. + +The TCP checksum is also an inherently weak one, as it is simply the +bitwise negation of the addition, in ones complement arithmetic, +of all 16 bit words in the header and data of the segment (excluding the +checksum itself). Therefore any \emph{bit error} where the ones complement value +of one word +increases by one, and the value of another decreases by one, is undetected. +The SUT should exhibit the same behavior and accept packets where these type +of bit errors occur. + +TCP guarantees that segments are delivered \emph{in order} +,even when they are received +out of order and that missing segments are resend. The SUT should +exhibit the same behavior. If segments are received out of order it should +either reassemble them when the missing packet has arrived or request them to +be resend when the Missing segments should be re-requested (by ACK-ing +the correct sequence number). + \bigskip Partitions 2 to 6 are tested using pairwise testing to keep the number of test @@ -136,6 +163,9 @@ to do so) tested with the different request sizes of partition 1. This is expressed in Table~\ref{table:testpairs}. +\newcounter{TCC} +\setcounter{TCC}{1} +\newcommand{\doTCC}{\theTCC \stepcounter{TCC}} \begin{table}[H] \centering \begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|} @@ -145,15 +175,15 @@ This is expressed in Table~\ref{table:testpairs}. & \# & 4 & 5 & 3 & 6 & 2 & 1a & 1b & 1c & 1d\\ \hline\hline \multirow{9}{*}{Instance} - & 1 & a & a & a & a & a & \checkmark & \checkmark & \checkmark & \checkmark\\ - & 2 & a & b & b & c & b & \xmark & \xmark & \checkmark & \checkmark\\ - & 3 & c & a & b & a & b & \xmark & \xmark & \checkmark & \checkmark\\ - & 4 & c & b & a & c & a & \xmark & \xmark & \checkmark & \checkmark\\ - & 5 & b & a & b & c & a & \xmark & \xmark & \checkmark & \checkmark\\ - & 6 & b & b & a & b & b & \xmark & \xmark & \checkmark & \checkmark\\ - & 7 & c & b & b & a & b & \checkmark & \checkmark & \checkmark & \checkmark\\ - & 8 & b & b & b & a & b & \checkmark & \checkmark & \checkmark & \checkmark\\ - & 9 & a & b & b & b & a & \xmark & \xmark & \checkmark & \checkmark\\ + & 1 & a & a & a & a & a & \doTCC & \doTCC & \doTCC & \doTCC\\ + & 2 & a & b & b & c & b & \xmark & \xmark & \doTCC & \doTCC\\ + & 3 & c & a & b & a & b & \xmark & \xmark & \doTCC & \doTCC\\ + & 4 & c & b & a & c & a & \xmark & \xmark & \doTCC & \doTCC\\ + & 5 & b & a & b & c & a & \xmark & \xmark & \doTCC & \doTCC\\ + & 6 & b & b & a & b & b & \xmark & \xmark & \doTCC & \doTCC\\ + & 7 & c & b & b & a & b & \doTCC & \doTCC & \doTCC & \doTCC\\ + & 8 & b & b & b & a & b & \doTCC & \doTCC & \doTCC & \doTCC\\ + & 9 & a & b & b & b & a & \xmark & \xmark & \doTCC & \doTCC\\ \hline \end{tabular} \caption{Combinations of test cases}