## 3 The Proposed Framework for Testing
### Simulator Architecture
#### 3.1.3 Scenario Based Approach for Test Cases Generator
\begin{table}
\begin{tabular}{l l} \hline \hline \multicolumn{1}{c}{**ID**} & \multicolumn{2}{c}{**Usecase2-3\_ IPC\_Data Received at Rx with Start Delay**} \\ \hline Name & Verify receiving data \\ \hline Rationale & The Rx receives the same data as the Tx sends. \\ \hline Actor & System \\ \hline Goal & Check whether or not the data received at the Rx end. \\ \hline Pre-condition(s) & - Tx should be in place—Rx should be in place—There must be a test vector available. \\ \hline Flow of Event & 1. It begins when Tx sends the data. \\  & 2. If data receive at the Rx end without any disruption then plot the Ram \\  & Else if \\  & Data received after some delay (wait for definite amount of time) \\  & then plot the Ram \\  & Else \\  & Wait for definite amount of time (Counter updated after timeout) \\  & End if \\ \hline Post-condition(s) & - Rx receives the data but with a delay at the beginning. \\ \hline User Interface & - Two simulators instances \\ \hline Notes & - \\ \hline Data Implications & - Test vectors (Transfer of data from the Tx to the Rx interface (PE 1 to PE2)) \\ \hline Scenario & Data received at Rx with delay. \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Use case “data received at Rx with delay (start)”. A group of test cases is called a test suite. The test case for \"data received at Rx with start delay\" is shown in Table 3. While performing the test, the normal flow of events in the proposed framework is represented in Figure 7 as an activity diagram. All the test preconditions must be checked when the trigger event of the corresponding test case takes place. One of the tests related to this particular test case is performed if all the preconditions are satisfied. \begin{table}
\begin{tabular}{l l} \hline Test Case ID & TC\_RX-002-3 \\ \hline Test Scenario & Verify receiving data \\ \hline Test Case & Tx send the data to Rx, but with start delay \\ \hline \multirow{4}{*}{Pre-Condition(s)} & 1. Tx should be in place. \\  & 2. Rx should be in place. \\  & 3. There must be a test vector available \\ \hline \multirow{4}{*}{Test Steps} & 1. It begins when Tx sends the data. \\  & 2. If data receive at the Rx end without any disruption \\ \cline{1-1}  &
\begin{tabular}{l} plot the Ram \\ Else if \\ Data receive after some delay (wait for definite amount of time) then \\ plot the Ram \\ Else \\ Wait for definite amount of time (counter updated after timeout) \\ End if \\ \hline \multirow{2}{*}{Test Data} & \textless{Tx transmit the data\textgreater{}} \\  & \textless{Rx receives the data but with delay at the beginning\textgreater{}} \\ \hline Expected Test Result & Communication take place (time constraint) \\ \hline Post-condition(s) & Data receive at Rx but with start delay \\ \hline Actual Test Result & - \\ \hline Status(Pass/Fail) & - \\ \hline \end{tabular}
\end{table} 
Table 3: Test case for “Rx”- data received at Rx with start delay. Figure 6: Test case mode. After performing a certain test, we then checked if all test post conditions were met. During a particular test run, it was checked whether the actual results produced matched the expected results for the test or not. Test cases for Tx are shown in Table 4. The remaining test cases of Tables 3 and 4 are provided in Appendices A.1 and A.2. The scenarios for the use cases are used to generate these test cases.