diff options
author | chris.sutcliffe <ctd.sutcliffe@gmail.com> | 2021-12-15 11:00:15 +0000 |
---|---|---|
committer | chris.sutcliffe <ctd.sutcliffe@gmail.com> | 2021-12-15 11:00:15 +0000 |
commit | db297ba9b53b41dd732cd14e6fcfad83b52e0f64 (patch) | |
tree | c1f7300cae78594b6e49f2095ed50261b774df91 /report | |
parent | 76d1481f3d853d2f8b1d68e78bc9e47ffc4941fe (diff) | |
download | esotericFORTRAN-db297ba9b53b41dd732cd14e6fcfad83b52e0f64.tar.gz esotericFORTRAN-db297ba9b53b41dd732cd14e6fcfad83b52e0f64.zip |
add to testing section
Diffstat (limited to 'report')
-rw-r--r-- | report/esoteric_project_report.tex | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/report/esoteric_project_report.tex b/report/esoteric_project_report.tex index 7dbeb8e..acad3f2 100644 --- a/report/esoteric_project_report.tex +++ b/report/esoteric_project_report.tex @@ -337,14 +337,16 @@ During our allocated project time, we did four major sprints. Our initial priori The testing for this project was done in two main parts . Once each sprint was completed, tests on features that had been implemented were run to ensure that the compiler performed as expected. -This tests can be seen in tables 7.1, 7.2 and 7.3. -In addition to this, test Fortran source files were created that made use of all implemented features, and the output was checked to establish that features were behaving correctly.. +This tests can be seen in tables 6.1, 6.2 and 6.3. +In addition to this, test Fortran source files were created that made use of all implemented features, and the output was checked to establish that features were behaving correctly. \section{Sprint testing} The testing that occurred after each sprint was done in two main stages. Firstly, the lexical scanner was unit tested independently from the rest of the code, then once it was established that the scanner was working correctly, we tested the scanner and parser together. Due to the nature of the parser output, we utilised a simple tree-walk interpreter for the first two sprints, then used the full compiler for the later sprints. The results of each test are shown in the tables below, giving the reason for the test, the input and output, and whether the test was successful. +Extensive testing was done for each sprint, ensuring that each stage successfully built upon the logic and code that was created in the sprint before it. + \subsection{Sprint 1 testing} \begin{table}[h] @@ -367,6 +369,11 @@ The results of each test are shown in the tables below, giving the reason for th \label{sprint1Test} \end{center} \end{table} + +Testing in the first sprint was almost entirely limited to parsing mathematical expressions and error checking related to this. +Equalities were tested, as well as ensuring that syntax errors were appropriately caught and output the the user. + + \newpage \subsection{Sprint 2 testing} \begin{table}[h] @@ -384,6 +391,9 @@ The results of each test are shown in the tables below, giving the reason for th \label{sprint2Test} \end{center} \end{table} +The second sprint tested the implementation of various different functionalities such as keyword scanning, as well as variable assignment and printing functionality. + + \subsection{Sprint 3 testing} \begin{table}[h] @@ -401,8 +411,10 @@ The results of each test are shown in the tables below, giving the reason for th \label{sprint3Test} \end{center} \end{table} +Testing during this sprint focused on more advanced program functionality, including conditional testing, and the concatenation of multiple strings for a print statement. +These tests ensured that the logical and conditional parts of our compiler worked as expected. -\subsection{Fortran Source File Testing} +\section{Fortran Source File Testing} Once the compiler was fully implemented, testing was moved to custom harnesses that were written in Fortran. Each test file was run and the output carefully checked to ensure that the language and compiler were working as expected. In addition, example source code files were written to demonstrate the capabilities of the implemented Fortran language. @@ -424,6 +436,7 @@ Below are some examples of output testing harnesses, run through the IDE program \end{figure} As can be seen from the above screenshots, various different mathematical, conditional and logical tests were used to test the functionality of the implemented code. +These tests, combined with example code, allowed our compiler system to be checked in a real world scenario, and thus solidify the testing done in earlier sprints. \chapter{Discussion, conclusion and future work} |