generated from balacij/McMaster-Thesis-Template
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathposter.tex
More file actions
320 lines (285 loc) · 14.2 KB
/
poster.tex
File metadata and controls
320 lines (285 loc) · 14.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
\documentclass[22pt]{beamer}
\usepackage[orientation=portrait, size=custom, width=91.44, height=91.44,scale=1.2]{beamerposter} % 36in*2.5 = 90cm
\usepackage[absolute,overlay]{textpos}
\usepackage{bookmark} %pdflatex says to use this to avoid errors...
\usepackage{graphicx} %for including images
\graphicspath{{assets/images/}} %location of images
\usepackage{wrapfig} %wrap text around the images
\usepackage{listingsutf8} %package for code environment; use this instead of verbatim to get automatic line break; use this instead of listings to get (•)
\usepackage{amsmath}
\usepackage{gensymb}
\usepackage[export]{adjustbox}
\usepackage[skins,theorems]{tcolorbox}
\usepackage{tikz}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
\node[shape=circle,draw,inner sep=2pt] (char) {#1};}}
\usepackage{array}
\usepackage{booktabs,adjustbox}
\usepackage[center]{caption}
\usepackage{pgfplots}
%plot options
\pgfplotsset{width=7cm,compat=1.8}
\PassOptionsToPackage{grey}{xcolor}
\usepackage{cite}
\usepackage{fancyvrb}
\usetikzlibrary{shapes,shapes.geometric,arrows,fit,calc,positioning,automata,}
\usepackage{pgf-pie}
\usepackage{wrapfig}
\input{assets/misc/posterHelpers}
% Acronyms
\usepackage{acro}
\input{acronyms}
%\mode<presentation>
%this doesn't seem to make any difference; leave for now for trying out
\usetheme{Berlin}
\definecolor{MacBlue}{rgb}{0.10196,0.22353,0.53725}
\definecolor{MacMaroon}{rgb}{0.47843, 0, 0.23137}
\definecolor{MacMaroon2}{rgb}{0.47451, 0, 0}
\definecolor{MacGrey}{rgb}{0.54118,0.59216,0.62353}
\definecolor{MacMaroon3}{rgb}{00.47,0.2,0.31}
\definecolor{MacGold}{rgb}{1, 0.75,0.35}
\usecolortheme[named=MacMaroon2]{structure}
\definecolor{IEEEGrey}{rgb}{0.92549,0.92549,0.92941}
\setbeamertemplate{caption}[numbered]
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
\setbeamerfont{title}{size=\fontsize{60}{30}}
% From https://tex.stackexchange.com/questions/201216/beamer-nested-lists-do-not-decrease-the-font-size
\setbeamerfont{itemize/enumerate subbody}{size=\normalsize} %to set sub-itemize size
\setbeamercolor{block title example}{bg=MacGrey, fg=black}
\setbeamercolor{block body example}{bg=IEEEGrey, fg=black}
\title{A New Taxonomy of Software Testing Approaches}
\subtitle{Seeking More Standardized Standards}
\author[Crawford, Carette, \& Smith]{Samuel Joseph Crawford, Jacques Carette,
\& Spencer Smith\newline \small \{crawfs1, carette, smiths\}@mcmaster.ca}
% institute not necessary, since this info is captured in the images
% Date placed within \institute: HACK
\institute{\fontsize{26}{12}\selectfont \today} % $^\dagger$
\date{}
% \institute[McMaster University]{Department of Computing and Software, McMaster University} % $^\dagger$
% \date{\vspace{-5mm}April 22, 2023}
\begin{document}
%compile with pdflatex
%there is only one frame, because there is only one page; yeah, it's a poster
%textblock and block seem to work nicely to organize layout
\begin{frame}[fragile]
\begin{textblock}{2}(0.7,1)
\includegraphics[height=8.5cm]{eng_logo.png}
\end{textblock}
\begin{textblock}{2}(13,0.55)
\includegraphics[height=12.5cm]{cas_logo.png}
\end{textblock}
\begin{textblock}{8}(4,1)
\titlepage
\end{textblock}
\begin{textblock}{7.25}(0.5,2.75)
\begin{block}{\fontsize{37}{20}\selectfont Goal}
Taxonomy of software testing approaches
\begin{itemize}
\item Should be \textbf{systematic, rigorous, and ``complete''}
\item Application: \textbf{automatically generating test cases}
in Drasil % \cite{Drasil}
\item The \textbf{underlying domain} should drive the scope and
prerequisites for generated test cases
\end{itemize}
% The first step to any formal process is \textbf{understanding the
% underlying domain}. Therefore, a systematic and rigorous
% understanding of software testing approaches is needed to develop formal
% tools to test software. In our specific case, our motivation was seeing
% \textbf{which kinds of testing can be generated automatically by Drasil},
% ``a framework for generating all of the software artifacts for
% (well understood) research software'' \cite{Drasil}.
\vspace{5mm}
\end{block}
\begin{block}{\fontsize{37}{20}\selectfont Problem}
Existing software testing taxonomies are inadequate
\begin{itemize}
\item Tebes et al.~(2020): focuses on parts of the
testing process (e.g., test goal, testable entity)
\item Souza et al.~(2017): prioritizes organizing testing
approaches over defining them
\item Unterkalmsteiner et al.~(2014): focuses on knowledge
transfer between development phases
\end{itemize}
\vspace{5mm}
\end{block}
\begin{block}{\fontsize{37}{20}\selectfont Methodology}
Since a taxonomy doesn't already exist, we should create one!
\begin{itemize}
\item Start from \textbf{``standard'' resources}
(e.g., IEEE \cite{IEEE2022}, \cite{IEEE2021c},
\cite{IEEE2017}, \cite{IEEE2013};
the \acs{swebok} \cite{SWEBOK2024})
\item \textbf{Collect} relevant information (over 500 testing
approaches and 70 software qualities, along with their
definitions) and \textbf{organize} it into spreadsheets
\item \emph{Note: static testing approaches are included, since
they are sometimes included in ``software testing''
\cite[p.~17]{IEEE2022}, \cite[p.~440]{IEEE2017},
\cite[p.~5-2]{SWEBOK2024}}
\item Iterate this process until there are
diminishing returns, implying that something approaching
a \textbf{complete taxonomy} has emerged!
\item Since there are many standardized documents about
software testing (or software in general),
\textbf{this should be trivial, no?}
\end{itemize}
\vspace{5mm}
\end{block}
\begin{block}{\fontsize{37}{20}\selectfont In Our Experience\dots}
\vspace{5mm}
\begin{center}
{\fontsize{185}{20}\selectfont \textbf{NO.}}
\end{center}
\vspace{4mm}
\begin{columns}
\begin{column}{0.7\textwidth}
\begin{center}
\begin{figure}
\centering
\includegraphics[width=\textwidth]{test approach choices.png}
\vspace{-7mm}
\caption{Classification of some ``test approach choices''
\cite[p.~22]{IEEE2022}.}
\label{Fig:approach-choices}
\end{figure}
\end{center}
\end{column}
\begin{column}{0.25\textwidth}
The classification of testing approaches in
Figure~\ref{Fig:approach-choices} \emph{appears} logical
but contains the following ambiguities:
\begin{itemize}
\item Experience-based testing is both a test design
technique \emph{and} a test practice
\item Pairs of terms are not distinguished:
\begin{itemize}
\item Disaster/recovery testing and recovery
testing
\item Branch condition testing and branch
condition combination testing
\item Operational acceptance testing and
operational testing \cite[p.~303]{IEEE2017}
\end{itemize}
\end{itemize}
\end{column}
\end{columns}
\vspace{5mm}
\end{block}
\end{textblock}
\begin{textblock}{7.25}(8.25,2.75)
\begin{block}{\fontsize{37}{20}\selectfont More Examples}
\cite{IEEE2022} and \cite{IEEE2021c} are software testing
standards that leave much unstandardized (see Figure~\ref{Fig:IEEEdefs})
\begin{itemize}
\item About 20\% (23 out of 114) of testing approaches from
these standards \textbf{do not have a definition}!
\item Five of these were (at the very least) described in the
previous version of this standard \cite{IEEE2013}
\item Four were present in the same way in another IEEE
standard \cite{IEEE2017} before this one was published
\end{itemize}
\vspace{5mm}
Having definitions does not mean they are useful; see
Figure~\ref{Fig:unhelpful-defs} for some good (bad?) examples
\vspace{-8mm}
\begin{columns}
\begin{column}{0.375\textwidth}
\begin{center}
\begin{figure}
\begin{tikzpicture}[thick, scale=1.7, every node/.style={align=left, scale=0.8}]
\pie{79.8/Defined,
12.3/{Not defined},
4.4/{Present in \cite{IEEE2013}},
3.5/{Present in \cite{IEEE2017}}}
\end{tikzpicture}
\caption{Breakdown of testing\\approach definitions in
\cite{IEEE2022} and \cite{IEEE2021c}.}
\label{Fig:IEEEdefs}
\end{figure}
\end{center}
\end{column}
\begin{column}{0.525\textwidth}
\begin{center}
\begin{figure}
\vspace{12mm}
\includegraphics[width=0.9\textwidth]{software element.png}
\vspace{2mm}
\includegraphics[height=2.7cm]{per.png}
\includegraphics[height=2.7cm]{state of.png}
\vspace{2mm}
\includegraphics[width=\textwidth]{device.png}
\vspace{2mm}
\caption{Less-than-helpful definitions\\
\cite[pp.~421, 170, 136, 301 (counterclockwise from top)]{IEEE2017}.
Note: ``equipment'' is not defined, and
``mechanism'' is only defined as how ``a function
\dots\ transform[s] input into output'' [p.~270].}
\label{Fig:unhelpful-defs}
\end{figure}
\end{center}
\end{column}
\end{columns}
\quad\\ % needed for line break
\begin{center}
\begin{minipage}{.9\textwidth}
\begin{exampleblock}{The \acs{swebok}'s Definition of
``Scalability Testing''}
{\fontsize{28}{13}\selectfont
``Scalability testing evaluates the capability to
use and learn the system and the user documentation.
It also focuses on the system's effectiveness in
supporting user tasks and the ability to recover
from user errors'' \cite[p.~5-9]{SWEBOK2024}}
% \vskip3mm
% \hspace*\fill{\small--- The \acs{swebok} V4 \cite[p.~5-9]{SWEBOK2024}}
\end{exampleblock}
\end{minipage}
\end{center}
\begin{itemize}
\item \swebokScalDef{}
\item The \acs{swebok}'s definition of elasticity testing
\cite[p.~5-9]{SWEBOK2024} \swebokElasRef{}
\end{itemize}
\vspace{5mm}
Alpha testing is quite common, but there is disagreement on who
performs it:
\begin{enumerate}
\item ``users within the organization developing the software''
\cite[p.~17]{IEEE2017},
\item ``a small, selected group of potential users''
\cite[p.~5-8]{SWEBOK2024}, or
\item ``roles outside the development organization''
\cite{ISTQB_poster}
\end{enumerate}
\vspace{5mm}
\end{block}
\begin{block}{\fontsize{37}{20}\selectfont Conclusions \& Future Work}
\begin{itemize}
\item Current software testing taxonomies are \textbf{incomplete,
inconsistent, and/or incorrect}
\item Ideally, one will be built systematically
from a large body of established sources
\item We will continue investigating, analyzing, and structuring
how the literature defines
and categorizes software testing approaches
\item This \textbf{broad and consistent taxonomy} will hopefully
grow as the field of testing advances
\end{itemize}
\vspace{5mm}
\end{block}
\begin{block}{\fontsize{37}{20}\selectfont References}
\setbeamertemplate{bibliography item}{\insertbiblabel}
\bibliographystyle{ieeetr}
{\fontsize{26}{12}\selectfont
\bibliography{references,non_seminar_refs}}
\vspace{5mm}
\end{block}
\begin{block}{\fontsize{37}{20}\selectfont Acknowledgments}
We thank the Government of Ontario for OGS funding and Chris
Schankula for this template.
\vspace{5mm}
\end{block}
\end{textblock}
\end{frame}
\end{document}