From: pimjager Date: Sun, 4 Oct 2015 14:43:23 +0000 (+0200) Subject: Finish 2.1.1 and 2.1.2 X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=0cea6471d64872ff49415d77776c619ce51a9e02;p=tt2015.git Finish 2.1.1 and 2.1.2 --- diff --git a/2approach.tex b/2approach.tex index 743c9d3..efc1aeb 100644 --- a/2approach.tex +++ b/2approach.tex @@ -34,9 +34,63 @@ to the SUT. mentioned in Section~\ref{sec:risks} extra emphasis should be placed on testing \emph{Functional Correctness} as recovery from Failures in computer-to-computer systems is problematic. + \item \textbf{Performance efficiency} \label{sec:perf_eff}\\ + As the SUT runs as a service on a system with other programs it must have + efficient \emph{resouce utilisation}. It can not contain any memory leaks + or use other resources more than necessary. + \item \textbf{Compatibility}\\ + \emph{Interoperability} is the key feauture of the SUT as it's purpose is to + communicate with other systems implementing the TCP protocol. Therefore + it is of vital importance that the SUT impements the TCP procotol correctly. + Furthermore it is very important that the SUT can \emph{co-exist} with other + programs on the system it runs on, since it is used as a service by those + programs. This means that the SUT has to handle preemption as well as having + multiple programs requesting it's services at once. + \item \textbf{Reliability}\\ + As stated before, the SUT is used as a core service, this means it has to be + very \emph{mature}. It needs to behave as expected under normal working + conditions. As it can continually be requested the SUT needs to have + constant + \emph{availibility}. As the SUT relies on an (potentially) unreliable + channel to send and receive data it needs to be \emph{fault tolerant}. The + SUT needs to properly handle errors in received data or complete + unavailibilty of the underlying channel. + \item \textbf{Security}\\ + \emph{Confidentiliality} is an important aspect for the SUT. Received + data should only be delivered to the program to which it is adressed. \end{itemize} +This leaves three categories which are not relevant the SUT. Below we will +shortly discuss per categorie why these are not relevant. \emph{Maintainability} +is an important aspect of any software system, however for the SUT it is not a +core aspect, as it is first and foremost of importance that the implementation +is correct, furthermore TCP does not change often. \emph{Usability} isn't a core +aspect either, as the SUT is not used directly by humans, but is a service which +is adressed when another program needs it. \emph{Portability} isn't either as +the SUT is installed on a system once and intended to work on that system. \subsubsection{Quality in use} +Quality in use is dived into five subcategories. Below we will discuss the +categories which are relevant to the SUT. +\begin{itemize} + \item \textbf{Effectiveness}\\ + This is the core aspect of the SUT, users (other programs) need to be able + to effectively use the SUT to send and receive data. + \item \textbf{Efficiency}\\ + This issue has already been covered above under + ``performance efficiency''~\ref{sec:perf_eff}. + \item \textbf{Satisfaction}\\ + It is important that programs using the SUT can \emph{trust} that the SUT + provides the promised services. This means that data is send and received + reliably and the SUT provides clear and unambigious errors when this service + can not be provided. + \item \textbf{Context Coverage}\\ + The SUT needs to behave as expected in all specified contexts + (\emph{context completeness}). +\end{itemize} +This leaves \emph{freedom from risk}, which we consider not relevant as the +SUT itself does not pose any risks, and correct implementation (which is covered +in the other categories) gives clear guarantees to programs using the services +of the SUT. \subsection{Levels and types of testing} \label{levels}