Skip to content
Snippets Groups Projects
Commit a01bfd1b authored by Riley Mcgee's avatar Riley Mcgee
Browse files

Added Section 6 information as well as 3 automated tests in functional reqs]...

Added Section 6 information as well as 3 automated tests in functional reqs] for the unit testing framework
parent 68b81d80
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -310,7 +310,23 @@ How test will be performed:
\\
\end{enumerate}
\item{GIF speed-id3\\}
\item{Automated GIF shorten-id3\\}
Type: Automated Functional.\\
Initial State: Image reading module driver \\
Input: GIF; Expected output GIF;\\
Output: Expected output GIF \\
How test will be performed:
\begin{enumerate}
\item{Test will load GIF from a know loacation}
\item{Test will subset the GIF to a known frame set}
\item{The GIF will then be compared to an expected GIF in a frame-by-frame manner}
\item{Each frame is to be cast to a bitmap then compared in a pixel-by-pixel manner}
\item{Pass if 100 percent of all pixels match}
\end{enumerate}
\item{GIF speed-id4\\}
Type: Manual Functional.\\
Initial State: Program loaded; GIF Loaded.\\
......@@ -444,6 +460,23 @@ How test will be performed:
\\
\end{enumerate}
\item{Automated modify via adding a frame-id4\\}
Type: Automated Functional.\\
Initial State: Image reading module driver \\
Input: GIF; BMP image;\\
Output: Inputted GIF \\
How test will be performed:
\begin{enumerate}
\item{Test will load GIF from a know loacation}
\item{Test will load the frame being added from a known loaction}
\item{The frame will be added to a specific spot of the GIF}
\item{The GIF will then be reset}
\item{The stored GIF is to be frame by frame compared to the original GIF}
\item{Each frame is to be cast to a bitmap then compared in a pixel-by-pixel manner}
\item{Pass if 100 percent of all pixels match}
\end{enumerate}
%
%End of Reset Requirement
\end{enumerate}
......@@ -470,7 +503,7 @@ How test will be performed:
\\
\end{enumerate}
\item{Add PNGs-id1\\}
\item{Add PNGs-id2\\}
Type: Manual Functional.\\
Initial State: Program loaded\\
......@@ -485,14 +518,30 @@ How test will be performed:
\item{Verify PNG is added after current frame in GIF}
\item{Verify the the new GIF is exported the same way}
\end{enumerate}
\item{JPEG frames to GIF-id2\\}
\item{JPEG frames to GIF-id3\\}
This test is identical to id2 with PNG replaced with JPEG
\item{TIFF frames to GIF-id3\\}
\item{TIFF frames to GIF-id4\\}
This test is identical to id2 with PNG replaced with TIFF
\item{BMP frames to GIF-id4\\}
\item{BMP frames to GIF-id5\\}
This test is identical to id2 with PNG replaced with BMP
\item{AutomatedTesting of BMP frams to GIF-id6}
Type: Automated Functional.\\
Initial State: Image reading module driver \\
Input: GIF; BMP image; Expected output GIF\\
Output: GIF with BMP input added as a frame \\
How test will be performed:
\begin{enumerate}
\item{Test will load GIF from a know loacation}
\item{Test will load the frame being added from a known loaction}
\item{The frame will be added to a specific spot of the GIF}
\item{The new GIF is to be compared to expected through breaking each down into frames}
\item{Cast each frame and pixel-by-pixel compare the output to the expected}
\item{Pass if 100 percent of all pixels match}
\end{enumerate}
%
%End of Frame Addition Requirement
\end{enumerate}
......@@ -716,10 +765,16 @@ How test will be performed: Click save frames button, select a folder, and verif
\end{enumerate}
\section{Unit Testing Plan}
The unit testing plan, is the devised set of tests code and system modules must undergo regardless of the system integration level. Unit testing allows the project to have white box testing on the individual system components, each unit test can be executed via testing frameworks in C Sharp.
\\
\\
The testing framework being ustilized is the native Visual Studio unit testing framework: Microsoft.VisualStudio.TestTools.UnitTesting.
\subsection{Unit testing of internal functions}
Unit testing will be done on system methods that return a value, or modify known objects in an expected way. A metric for passing is to be used on all methods with an error tolerance, such as manipulation of a GIF (where slight variations can exist in files that present the same). A method with no expected error tolerance should be implemented as discreetly pass xor fail. All unit test inputs must fall in a known domain where the expected output can be assumed. No stubs will be required for unit testing of functions. Image reading is needed as a driver for any method using GIFs or other image types. Any written unit test must utilize the C Sharp attributes for Unit Testing provided by the framework. This ensures the system does not build the testing package into the consumer version of the software. We plan to have unit testing cover approximately 50 percent of our major methods due to project time constraints.
\subsection{Unit testing of output files}
To test the valdity of outputed GIF images the testing system will hold image resources of input frames, input GIFs, as well as the expected GIF outputted. A known GIF should be manipulated then compared to the expected GIF in a frame-by-frame matter. To exclude meta-data issues associated with GIF images, each frame should be cast to a known image format such as a bitmap, then compared pixel-by-pixel. Frames should have a 100 percent pixel match for the expected GIF to pass. A method for casting Frames to bitmaps then comparing the pixcels should be added to the testing package, prior to testing GIF manipulation. Simply verify this function by sending the same image as parameters.
\bibliographystyle{plainnat}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment