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}
\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
\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
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|}
& \# & 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}