From a01bfd1b30bf927e3ebf70de7012c60c92f69d11 Mon Sep 17 00:00:00 2001 From: Riley McGee <mcgeer@mcmaster.ca> Date: Mon, 31 Oct 2016 00:41:33 -0400 Subject: [PATCH] Added Section 6 information as well as 3 automated tests in functional reqs] for the unit testing framework --- Doc/TestPlan/TestPlan.pdf | Bin 126456 -> 133621 bytes Doc/TestPlan/TestPlan.tex | 69 ++++++++++++++++++++++++++++++++++---- 2 files changed, 62 insertions(+), 7 deletions(-) diff --git a/Doc/TestPlan/TestPlan.pdf b/Doc/TestPlan/TestPlan.pdf index 45ced68215d231049451b8754a3b93ca979360a2..c8d6a0c67f97feea69b63d1657cc3708f96e95e5 100644 GIT binary patch delta 30620 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 delta 24475 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 diff --git a/Doc/TestPlan/TestPlan.tex b/Doc/TestPlan/TestPlan.tex index 2a7d4dc..017c220 100644 --- a/Doc/TestPlan/TestPlan.tex +++ b/Doc/TestPlan/TestPlan.tex @@ -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} -- GitLab