| @@ -1,61 +1,68 @@ | |||||
| %&tex | %&tex | ||||
| \subsection{Test Protocol} | \subsection{Test Protocol} | ||||
| \label{sec: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} | \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. | 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} | \begin{order}{Writing} | ||||
| \emph{Precondition:} Marker as end-effector. | |||||
| \emph{Precondition:} Marker as tool in end-effector. | |||||
| \begin{enumerate} | \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{enumerate} | ||||
| \end{order} | \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} | \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. | \item Repeat step 1 and 2 till the Tweet is removed from on the board. | ||||
| \end{enumerate} | \end{enumerate} | ||||
| \end{order} | \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{specification} | ||||
| \begin{enumerate} | \begin{enumerate} | ||||
| \setcounter{enumi}{12} | \setcounter{enumi}{12} | ||||
| \input{content/input/speclistc.tex} | \input{content/input/speclistc.tex} | ||||
| \end{enumerate} | \end{enumerate} | ||||
| \end{specification} | \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} | \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} | \setcounter{testcounter}{0} | ||||
| \begin{test}{Small rectangle} | \begin{test}{Small rectangle} | ||||
| \input{content/input/systemtest1.tex} | \input{content/input/systemtest1.tex} | ||||
| @@ -65,24 +72,23 @@ | |||||
| \begin{test}{Repeatability} | \begin{test}{Repeatability} | ||||
| \input{content/input/systemtest6.tex} | \input{content/input/systemtest6.tex} | ||||
| \end{test} | \end{test} | ||||
| The complete set of system tests is included in \autoref{app:test_specification}. | |||||
| \subsubsection{Evaluation} | \subsubsection{Evaluation} | ||||
| This step was completed without many difficulties. | 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. | 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. | 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. | 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. | 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. | 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. | 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. | When all the tests pass, the system should meet all the requirements. | ||||