I am very much a novice at this so if I have made (some) mistake(s) please tell me how to correct them.
I have a suggested change to the general introduction given in Section 15 "support for test suites" section of the manual. Before I proceed with any additional input/changes/opinions/or anything I would like to submit my suggestions. If they are favorably received then I will continue as best I can. My viewpoint is to contribute and not criticize. The .tex file generated was generated using Open Office vrs. 4.1.1 with extension writer2latex. This is my first use and I have not the slightest idea whether it works or how well it works (if you have suggestions of using a .tex reader then I'd be grateful). I am including the original Open Office file as an attachment. If this is the wrong thing to do (or it is unnecessary) then I will no longer include these types of documents. I have looked at the generated .tex file and I don't see any of my created figures. If figures are not supported I suppose that text and effort are wasted. Art The failure of the past is the challenge of the present and the success of the future. =========================== .tex ========================================= % This file was converted to LaTeX by Writer2LaTeX ver. 1.4 % see http://writer2latex.sourceforge.net for more info \documentclass[12pt]{article} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage[english]{babel} \usepackage{amsmath} \usepackage{amssymb,amsfonts,textcomp} \usepackage{color} \usepackage{array} \usepackage{supertabular} \usepackage{hhline} \usepackage{hyperref} \hypersetup{pdftex, colorlinks=true, linkcolor=blue, citecolor=blue, filecolor=blue, urlcolor=blue, pdftitle=, pdfauthor=skidmarks , pdfsubject=, pdfkeywords=} % Text styles \newcommand\textstyleBulletSymbols[1]{\textrm{#1}} % Headings and outline numbering \makeatletter \renewcommand\subsection{\@startsection{subsection}{2}{0.0in}{0.1665in}{0.08 35in}{\normalfont\normalsize\normalcolor\fontsize{12pt}{14.4pt}\selectfont\r mfamily\bfseries\upshape}} \renewcommand\@seccntformat[1]{\csname @textstyle#1\endcsname{\csname the#1\endcsname}\csname @distance#1\endcsname} \setcounter{secnumdepth}{0} \newcommand\@distancesection{} \newcommand\@textstylesection[1]{#1} \newcommand\@distancesubsection{} \newcommand\@textstylesubsection[1]{#1} \makeatother \makeatletter \newcommand\arraybslash{\let\\\@arraycr} \makeatother \raggedbottom % Paragraph styles \renewcommand\familydefault{\rmdefault} \newenvironment{styleTextbody}{\setlength\leftskip{0in}\setlength\rightskip{ 0in}\setlength\parindent{0in}\setlength\parfillskip{0pt plus 1fil}\setlength\parskip{0.2in plus 0.02in}\writerlistparindent\writerlistleftskip\leavevmode\normalfont\normals ize\normalcolor\writerlistlabel\ignorespaces}{\unskip\vspace{0in plus 1pt}\par} \newenvironment{stylePx}{\setlength\leftskip{0.25in}\setlength\rightskip{0in }\setlength\parindent{-0.25in}\setlength\parfillskip{0pt plus 1fil}\setlength\parskip{0.05in plus 0.005in}\writerlistparindent\writerlistleftskip\leavevmode\normalfont\normal size\normalcolor\writerlistlabel\ignorespaces}{\unskip\vspace{0in plus 1pt}\par} \newenvironment{styleFramecontents}{\setlength\leftskip{0in}\setlength\right skip{0in}\setlength\parindent{0in}\setlength\parfillskip{0pt plus 1fil}\setlength\parskip{0.2in plus 0.02in}\writerlistparindent\writerlistleftskip\leavevmode\normalfont\normals ize\normalcolor\writerlistlabel\ignorespaces}{\unskip\vspace{0in plus 1pt}\par} % List styles \newcommand\writerlistleftskip{} \newcommand\writerlistparindent{} \newcommand\writerlistlabel{} \newcommand\writerlistremovelabel{\aftergroup\let\aftergroup\writerlistparin dent\aftergroup\relax\aftergroup\let\aftergroup\writerlistlabel\aftergroup\r elax} \newcommand\labellistLileveli{\textstyleBulletSymbols{{\textbullet}}} \newcommand\labellistLilevelii{\textstyleBulletSymbols{{\textbullet}}} \newcommand\labellistLileveliii{\textstyleBulletSymbols{{\textbullet}}} \newcommand\labellistLileveliv{\textstyleBulletSymbols{{\textbullet}}} \newenvironment{listLileveli}{\def\writerlistleftskip{\setlength\leftskip{0. 5in}}\def\writerlistparindent{}\def\writerlistlabel{}\def\item{\def\writerli stparindent{\setlength\parindent{-0.25in}}\def\writerlistlabel{\makebox[0cm] [l]{\labellistLileveli}\hspace{0.25in}\writerlistremovelabel}}}{} \newenvironment{listLilevelii}{\def\writerlistleftskip{\setlength\leftskip{0 .75in}}\def\writerlistparindent{}\def\writerlistlabel{}\def\item{\def\writer listparindent{\setlength\parindent{-0.25in}}\def\writerlistlabel{\makebox[0c m][l]{\labellistLilevelii}\hspace{0.25in}\writerlistremovelabel}}}{} \newenvironment{listLileveliii}{\def\writerlistleftskip{\setlength\leftskip{ 1in}}\def\writerlistparindent{}\def\writerlistlabel{}\def\item{\def\writerli stparindent{\setlength\parindent{-0.25in}}\def\writerlistlabel{\makebox[0cm] [l]{\labellistLileveliii}\hspace{0.25in}\writerlistremovelabel}}}{} \newenvironment{listLileveliv}{\def\writerlistleftskip{\setlength\leftskip{1 .25in}}\def\writerlistparindent{}\def\writerlistlabel{}\def\item{\def\writer listparindent{\setlength\parindent{-0.25in}}\def\writerlistlabel{\makebox[0c m][l]{\labellistLileveliv}\hspace{0.25in}\writerlistremovelabel}}}{} \setlength\tabcolsep{1mm} \renewcommand\arraystretch{1.3} \usepackage{palatino} \usepackage[bluelace,screen,nopanel,sectionbreak]{pdfscreen} %\hypersetup{pdfpagemode={FullScreen}} \margins{0.5in}{0.5in}{0.5in}{0.5in} \screensize{6in}{8in} \sloppy \title{} \author{skidmarks } \date{2015-04-13} \begin{document} \subsection{15 Support for test suites} \begin{styleTextbody} The purpose of testing is to determine whether a program or system behaves as expected. Tests executed after initial introduction of a program or system are known as regression tests. Regression tests determine correct functionality of a program or system and, after maintenance releases, check new functionality and determine that fixes do not 'break' older releases, that is, incorrect functionality in older releases do not resurface. \end{styleTextbody} \begin{styleTextbody} \ The minimal unit of testing is a 'test case.. Where many test cases are aggregated and executed during the same test run, the aggregation is called a 'test suite'. That is, a 'test suite' is composed of one or more 'test cases'. Each 'test case' determines correct execution of one or more bits of program or system functionality. \end{styleTextbody} \begin{styleTextbody} To be useful, each 'test case' within a 'test suite' must have a means to report the status of a given test, and the 'test suite' must have a means of reporting the aggregate status of all 'test cases' contained within the suite. \ \ \ \end{styleTextbody} \begin{styleTextbody} A 'test case' is said to 'pass' when the returned result of testing is the same as the expected result of running the test. There are several possibilities for a returned result. The 'test case' results are: \end{styleTextbody} \begin{listLileveli} \item \begin{stylePx} PASS: the test succeeded. \end{stylePx} \item \begin{stylePx} FAIL: the test failed. \end{stylePx} \item \begin{stylePx} SKIP: the test was not executed. \ \ \end{stylePx} \end{listLileveli} \begin{styleTextbody} \ \ \ These results are compared to test expectations in the following way: \end{styleTextbody} \bigskip \begin{center} \tablefirsthead{\centering{\bfseries EXPECT} & \centering{\bfseries TEST} & \centering{\bfseries RESULT} & \centering\arraybslash{\bfseries DESCRIPTION}\\} \tablehead{\centering{\bfseries EXPECT} & \centering{\bfseries TEST} & \centering{\bfseries RESULT} & \centering\arraybslash{\bfseries DESCRIPTION}\\} \tabletail{} \tablelasttail{} \begin{supertabular}{m{0.7045598in}m{0.51295984in}m{0.7045598in}m{4.0629597i n}} PASS & PASS & PASS & The expected result and the actual result agree.\\ PASS & FAIL & FAIL & The expected result and the actual result disagree. \\ FAIL & FAIL & XFAIL & The expected result and the actual result agree.\\ FAIL & PASS & XPASS & The expected result and the actual result disagree.\\ ~ & SKIP & PASS & Test not executed.\\ ~ & HARD & FAIL & Test precondition prevented test execution.\\ \end{supertabular} \end{center} \begin{styleTextbody} When the 'test case' result and the expected result agree, then the test is said to pass. If the expected result is PASS and the test passes, then the result is PASS. If the exected result is FAIL and the test fails, then the result is XFAIL. If the expected result is PASS and the 'test case' result is FAIL, then the result is FAIL. If the 'test case' is expected to FAIL and it PASSes, then the result is XPASS. XPASS is considered as a failure. If the 'test case' was SKIPed, then the result is nominally PASS. \end{styleTextbody} \begin{styleTextbody} If some required precondition is not satisfied and a test case in a test suite or all test cases in the test suite can not be executed, then this is considered as a HARD error and all effected 'test cases' are marked as not executing. For example, if a required library or program is not available then this would constitute a HARD failure. \end{styleTextbody} \begin{styleTextbody} Automake generates a make file which contains the test harness. The test harness contains a test driver to execute desired tests. The developer instructs Automake what test harness is wanted, what test driver to use, and what test cases to execute. The aggregate value of executing all test cases is the test suite value. \end{styleTextbody} \begin{styleTextbody} The generated make file uses the test harness to report the value of the test driver executing each test case. The aggregated value of executing all tests, the test suite value, is reported by by the test harness at completion. Looking at the \textbf{RESULT} values above, a single \textbf{FAIL} in execution of any test case will cause the test suite to \textbf{FAIL}. \end{styleTextbody} \begin{styleTextbody} The developer's Automake generation process is diagrammatically represented as: \end{styleTextbody} \begin{styleTextbody} The developers requirements for the test harness, test driver, and test cases are presented to \ automake which generates a make file for the user. \end{styleTextbody} \begin{figure} \centering \begin{minipage}{4.6272in} \begin{styleFramecontents} [Warning: Draw object ignored] \end{styleFramecontents} \end{minipage} \end{figure} \begin{styleTextbody} The user's perspective begins with a request to run the test driver, ``make check''. At this point, make executes the developer chosen test harness which in it's turn executes the developer chosen test driver. The test driver executes each of the developer identified test cases and reports the results back to the test harness. The test harness shows the user the result of executing each test case and the aggregate result of executing the test suite. The users perspective is diagramatically given below. \end{styleTextbody} \begin{styleTextbody} In summary there is a developer perspective and a user perspective. The developer chooses the test harness, the test drivers, and the test suite. Automake generates a make file which the user executes. The user executes the developer provided test suite by executing the \newline {}``make check'' command as a shell command. Make then executes the test harness which executes the test driver. The test driver executes each test case in the test suite and reports the result back to the test harness. The test harness reports the result of executing each test case to the user and reports the aggregate result of executing all tests (the test suite result). \end{styleTextbody} \begin{styleTextbody} [Warning: Draw object ignored] \end{styleTextbody} \begin{figure} \centering \begin{minipage}{5.239in} \bigskip \end{minipage} \end{figure} \end{document}
automake.odt
Description: application/vnd.oasis.opendocument.text