2018-12-04 & 1.0 & Andy worked on 5 - how Intergrated \& System testing helped the process \\
2018-12-05 & 1.0 & Usman worked on Functional Requirements \& tracing the requirements to the test \\
Date 2 & 1.1 & Notes\\
\bottomrule
\end{tabularx}
...
...
@@ -47,10 +48,10 @@ Date 2 & 1.1 & Notes\\
\pagenumbering{arabic}
This document ...
\section{Functional Requirements Evaluation}
Through the strategy of dynamic testing, the main testing for the requirements was done. Most of the functional requirements were met, and the errors that were found during the execution were fixed. The project was demonstrated to different peers, and with the help of their review, the project was molded to achieve all the functional requirements described in SRS. \\
During the testing, we found the food usually appears within the snake's body which violated one our functional requirements, so to resolve the issue we used boundary conditions to limit the appearance of the food within the gameplay screen. After making the snake and food display on the screen, we found a bug that the snake's body is not aligned with the food most of the time, we changed the code, so the game is divided into rows and columns with the block size equal to the size of the snake and food. Splitting the screen in grids made the food to reappear within a grid, and the snake could easily eat it making our further implementation easy.
\section{Nonfunctional Requirements Evaluation}
\subsection{Usability}
...
...
@@ -76,9 +77,15 @@ Similarly, the gameplay was tested and verified by the developers of the softwar
\end{figure}
\section{Automated Testing}
The main testing for this program was done through dynamic testing whcih has been discussed in the requirements. The validation
for the testing of the product was done by peer review, surveys and self-testing. Boundary cases and groups of test cases were used in dynamic testing to visualize the output and fix it.
\section{Trace to Requirements}
To meet the functional and non-functional requirements for the program, the requirements were divided into groups and modular
were created for each group. A module for the high score part was made in which the requirements for displaying the highest score, displaying the highest score and storing it was done.\\
Moreover, a theme module was made to meet the requirements regarding the selection of the theme. The user could select two types of themes from the main menu and then the gameplay would have a background of that color, with different themes the color of the snake changes.\\
To focus on the major requirements, most of the requirements were accomplished in the Gameplay and Interface module. Gameplay module was responsible for all the code in the backend. Requirements controlling the snake, altering the speed for the snake, checking boundary conditions for each level in the game was done in this module.\\
The interface module is more focused on the frontend, it visualizes the backend program to a user-interface which increases usability and allow the user to communicate with the program easily.ted for each group. A module for the highscore part
\section{Trace to Modules}
Integrated testing can visibly be traced back to the modules created. The main interface uses the Interface module along with GUI module for interface text and buttons. It is connected to the highscore module and theme module through the highscore and difficulty level buttons respectively. It also connected to the help module through the Help button. If any of these buttons is clicked and an error is released, the error can be traced back with ease depending on the button that was clicked prior to the malfunction.