X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=1intro.tex;h=ea70356df4621a9d3f3a60466cec3dc44defa40e;hb=a6e89f0dd4ef591d6c08eb54e1ce42dd4e5de20e;hp=1faf5c825e8b2f4277dc9efd7ddb1ac5e962dcde;hpb=911042e41348452121ee1069fc54d392a12463fc;p=tt2015.git diff --git a/1intro.tex b/1intro.tex index 1faf5c8..ea70356 100644 --- a/1intro.tex +++ b/1intro.tex @@ -6,10 +6,12 @@ is a host-to-host protocol that provides a reliable communication. This testing approach can be used by either an internal test team or an independent testing team. The test effort's goal is to become confident about -the conformance of the implementation to the specification created by +the conformance of an existing implementation to the specification created by \textit{The Internet Engineering Task Force} (IETF)\footnote{\url{http://www.ietf.org}} as document -\textit{RFC793}~\cite{rfc793}. +\textit{RFC793}~\cite{rfc793}. This document is explicitly \emph{not} intented +to serve as guideline for testing during the development phase, but for testing +conformatiy to the specification of an \emph{existing} implementation. \subsection{SUT} %3,4 @@ -18,9 +20,10 @@ Java\footnote{\url{http://www.java.com}} TCP driven echo server that executed on a virtualized Ubuntu system\footnote{\url{http://www.ubuntu.com}} running on the Linux kernel\footnote{\url{http://www.kernel.org}} version $3.13$. To test the error behaviour custom iptables output policies have to be -set Listing~\ref{listing:iptables}. This is needen because the OS by default +set Listing~\ref{listing:iptables}. This is needed because the kernel by default closes all connections from unknown sources and the manually created TCP -connections used in testing the implementation are unknown to the OS. +packets used in testing the implementation are from a source unknown to the +kernel. \begin{lstlisting}[label={listing:iptables},caption={settings iptables}] Chain OUTPUT (policy ACCEPT) @@ -31,9 +34,23 @@ DROP tcp -- anywhere anywhere tcp flags:RST/RST \subsection{Risks} %5. Risks -Risks can be divided into two categories. Project risks and Product risks. -\begin{itemize} - \item\textbf{Project Risks}\\ - \item\textbf{Product Risks}\\ -\end{itemize} +Risks can be divided into two categories. Project risks and product risks. +Because an existing implementation is used the project risk are non applicable. +Product risks even more so, since it is unknown if the product has been +tested during development. + +The product risks for the SUT are significant because misbehaviour of the SUT +could have potential large consequences. The key characteristics of TCP are +integrity and reliability~\cite{rfc793}, these characteristics cease to exist +when the implementation is faulty. + +Because TCP is a core functionality of a networking capable system it is +crucial that the TCP implementation functions according to the specification. +Several critical systems could rely on the correct functionality of the TCP +implementation. A failure in the SUT could therefore have extensive +consequences. +Even more so since TCP is a computer-to-computer protocol, which leaves no +room for ambiguity, which could be solved in a computer-to-human protocol. + +