X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=a2%2F1cases.tex;h=9ffc07dce2d4223a2317f1b6a61f011304c2f4e6;hb=e0f0fe4cb2710b507fdcf6193ae61a9c32e2d539;hp=da3a34bddf405bd1a21a7d0aae2c3286656bfcf4;hpb=da69faad6643af30b9a9ed839e437ee03b0b8b47;p=tt2015.git diff --git a/a2/1cases.tex b/a2/1cases.tex index da3a34b..9ffc07d 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,11 +108,11 @@ 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} @@ -126,8 +127,32 @@ 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 in order,even when they are received +\emph{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 +deliver them in order. 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