| @@ -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. | |||