Ver código fonte

Review test protocol

tags/0.6.0-conclusion
Wouter Horlings 4 anos atrás
pai
commit
6ba4e6cd5a
1 arquivos alterados com 48 adições e 42 exclusões
  1. +48
    -42
      content/case_experiment_test_protocol.tex

+ 48
- 42
content/case_experiment_test_protocol.tex Ver arquivo

@@ -1,61 +1,68 @@
%&tex
\subsection{Test Protocol}
\label{sec:test_protocol}
The last step of the preparation phase is to design tests.
The tests are designed to validate if the system meets the specifications.
While defining the tests, it became clear that part of the specifications was not explicitly defined.
As the specifications were made before the design decissisions in the initial design and the feature definition, the specifications did not take that information into account.
Updating the specifications after the design decissions was overlooked during the specification of the design plan.
To ensure the repeatibility of the tests, this step starts with specifying the order of operation and improved specifications.
The last step of the preparation phase is to implement a test protocol.
The tests are designed to validate if the system meets its requirements.
While defining the tests, it became clear that part of the requirements was not sufficiently defined.
The current requirements apply to the complete system and is not updated for the design choices made in the initial design.
If the tests are made based on the current requirements, they can only be performed when the complete design is implemented.
To create tests that apply to specific features or compoments, the requirements had to be updated.
This update adds order of operations and additional requirements and is explained in the following two sections.
The third section explains how the tests are formed based on the up-to-date requirements.
%%% Reviewed tot hier.

\subsubsection{Defining the Order of Operation}
There are two modes of operation: writing and wiping.
There are two modes of operation: writing and erasing.
Defining the order of operation also distributes the responsibility between the different components.
The writing operation can be split in the following steps:
The writing operation consists of performing the following steps:
\begin{order}{Writing}
\emph{Precondition:} Marker as end-effector.
\emph{Precondition:} Marker as tool in end-effector.
\begin{enumerate}
\item Move cable driven carriage to position of characters.
\item Write three characters with the SCARA.
\item Repeat step 1 and 2 till the Tweet is on the board.
\item Move carriage away from the text on the board.
\item Move \ac{cdc} to position of characters.
\item Write three characters with the \ac{scara}.
\item Repeat step 1 and 2 untill the Tweet is on the board.
\item Move \ac{cdc} away from the text on the board.
\end{enumerate}
\end{order}

The other operation is wiping.
This is similar to the operation of writing with the following steps:
\begin{order}{Wiping}
\emph{Precondition:} Wiper as end-effector.
The second order of operation is about the erasing.
Removing text from the board is done by the following steps:
\begin{order}{Erasing}
\emph{Precondition:} Wiper as tool in end-effector.
\begin{enumerate}
\item Move cable driven carriage to position of characters.
\item Clear the area in reach of the SCARA.
\item Move \ac{cdc} to position of characters.
\item Clear the area in reach of the \ac{scara}.
\item Repeat step 1 and 2 till the Tweet is removed from on the board.
\end{enumerate}
\end{order}
Furthermore, switching between the states requires the tool to be switched.
However, at this point, it is not known how tools will be switched.
Therefore, the order of operation is determined during the development of the end-effector.
Additionally, the missing order of operation for the end-effector did not result in difficulty while defining the tests.

\subsubsection{Improving Specifications}
Based on the order of operation, the following specifications were added to the list in \autoref{sec:specifications}:
A possible third order of operation can be defined for tool switching.
This order of operation depends on how end-effector grabs and releases the tools.
At this point, the design of the end-effector is not definitive enough to determine an order of operation.
Additionally, not having an order of operation for the end-effector did not hinder the definition of tests.

\subsubsection{Improving Requirements}
Based on the order of operations, the following requirements were added to the lists in \autoref{sec:specifications}:
\begin{specification}
\begin{enumerate}
\setcounter{enumi}{12}
\input{content/input/speclistc.tex}
\end{enumerate}
\end{specification}
These additional specifications are also based on the combined system decission that was made in section \autoref{sec:initialdesign}.
These specifications distribute responsibility between sub-components.
These additional requirements take into account that the current design consists of a \ac{scara}, end-effector and \ac{cdc}.
Where each of these components have a different role and thus a different responsibility in the system.

\subsubsection{Setting up the tests}
With the updated specifications it was possible to create a number of test cases.
In total there are five small test cases and four large test cases.
The small tests cover a sub-system and the large tests apply on the complete systems.
Each tests has a list of specifications that are covered with the test and for smaller tests the subsystem under test is also determined.
With a short description it is described how the test should be performed.
Using the updated requirements, set of test cases is created.
In total there are five small and five large test cases.
The small tests cover a single compoment or feature and the large tests combine multiple features.
Each test specifies for which requirements they apply and include a description that explains the test.
The smaller test cases also indicate on which feature or component they apply.
All ten tests are included in \autoref{app:test_specification}.
The following is a small and a large test case from these ten.

One of the small tests focusses on the speed and range requirements of the SCARA:
One of the small tests focusses on the speed and range requirements of the \ac{scara}:
\setcounter{testcounter}{0}
\begin{test}{Small rectangle}
\input{content/input/systemtest1.tex}
@@ -65,24 +72,23 @@
\begin{test}{Repeatability}
\input{content/input/systemtest6.tex}
\end{test}
The complete set of system tests is included in \autoref{app:test_specification}.

\subsubsection{Evaluation}
This step was completed without many difficulties.
Which includes the revision of the earlier specifications and definition of orders of operation.
Indicating that I overlooked details while defining the specifications in \autoref{sec:specifications}.
According to the design plan as described in \autoref{chap:analysis}, I should go back and review those specifications.
Followed by reviewing all steps after the specifications.
Which includes the revision of the earlier requirements and definition of orders of operation.
Indicating that I overlooked details while defining the requirements in \autoref{sec:specifications}.
According to the design plan as described in \autoref{chap:analysis}, I have to go back and review those requirements.
Followed by reviewing all steps after the requirements.
However, this complete review is not practical and extremely time consuming.
The point here is, looking at the evaluations of this and previous steps, that chosen design strategy is not feasible, especially as a novice designer.
In \autoref{chap:case_evaluation} I will evaluate this with more detail.
In \autoref{chap:case_evaluation} I evaluate this with more detail.

During the analysis, I expected more specific tests.
Each test could then be used as a milestone during the development of the system.
Each test can then be used as a milestone during the development of the system.
Every time detail is added, an additional test passes.
Or a test fails, notifying that something went wrong and should be investigated.
Or a test fails, notifying that something went wrong and has to be investigated.
Creating such specific tests relies on the details in the design of the system.
The current design is basic and these details are added during the feature implementation.
Nevertheless, this step resulted in a set of tests that cover all specifications and features that are specified in this preparation phase.
Nevertheless, this step resulted in a set of tests that cover all requirements and features that are specified in this preparation phase.
When all the tests pass, the system should meet all the requirements.


Carregando…
Cancelar
Salvar