% public domain. no rights reserved. see % https://creativecommons.org/publicdomain/zero/1.0/ \section{testing} \begin{frame} \frametitle{testing} \pause \begin{itemize} \item unit testing \item manual testing \item stress testing \end{itemize} \end{frame} \subsection{unit testing} \begin{frame} \frametitle{unit testing} \begin{itemize} \item<2-> nose testing frame work \item<3-> not pure TDD \item<4-> benefits? \end{itemize} \end{frame} \begin{frame}[fragile] \frametitle{benefits} \begin{itemize} \item<1-> immediatly verify correctness for ``N'' use cases. \item<2-> was useful when testing compatibility on OS X. {\tiny \begin{semiverbatim}\onslide<3-> \$ nosetests ................................... ---------------------------------------------------------------------- Ran 35 tests in 62.159s OK \end{semiverbatim} } \end{itemize} \end{frame} \subsection{manual testing} \begin{frame} \frametitle{manual testing} \pause \begin{itemize} \item combox on two GNU/Linux machines. \item combox on GNU/Linux and OS X \item combox on GNU/Linux and OS X with USB stick as the third node. \end{itemize} \end{frame} \begin{frame}[fragile] \frametitle{manual testing} {\tiny \begin{semiverbatim} +------------------------+ | | monitor [------> Dropbox directory |----------] | | | ] c | +------------------------+ ] o | ] c +------------------+ n | +------------------------+ ] o | | t | | | monitor ] m | GNU/Linux / OS X | -----|------> combox direcory | ---------] b | | a | | | ] o +------------------+ i | +------------------------+ ] x n | ] s | +------------------------+ ] | | | monitor ] [------> Google Drive directory | ---------] | | +------------------------+ \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{manual testing} {\tiny \begin{semiverbatim} setup i Internet @-------@ | | Dropbox client | +---+ | Dropbox client combox (------> | D | <------) combox +------------------+ sync | | +---+ | | sync +------------------+ | <-------- | | --------> | | GNU/Linux (grus) | | | | GNU/Linux (lyra) | | debian testing <-------- | | --------> debian stable | +------------------+ sync | | | | sync +------------------+ | | +---+ | | (------> | G | <------) rclone | +---+ | rclone | | @-------@ \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{manual testing} {\tiny \begin{semiverbatim} setup ii Internet @-------@ | | Dropbox client | +---+ | Dropbox client combox (------> | D | <------) combox +------------------+ sync | | +---+ | | sync +------------------+ | <-------- | | --------> | | GNU/Linux (grus) | | | | OS X | | debian testing <-------- | | --------> (10.9, 10.10) | +------------------+ sync | | | | sync +------------------+ | | +---+ | | (------> | G | <------) rclone | +---+ | Google Drive client | | @-------@ found bugs #5, #6, #7, #10, #11 (git.ricketyspace.net/combox/plain/TODO.org) \end{semiverbatim} } \end{frame} \begin{frame}[fragile] \frametitle{manual testing} {\tiny \begin{semiverbatim} setup iii Internet @-------@ | | Dropbox client | +---+ | Dropbox client combox (------> | D | <------) combox +------------------+ sync | | +---+ | | sync +------------------+ | <-------- | | --------> | | GNU/Linux (grus) | | | | OS X | | debian testing <-------- | | --------> (10.9, 10.10) | +------------------+ sync | | | | sync +------------------+ | | | +---+ | | | | (------> | G | <------) | v rclone | +---+ | Google Drive client v +-----------------+ | | +-----------------+ |USB stick ZAPHOD | @-------@ |USB stick ZAPHOD | +-----------------+ +-----------------+ third node third node - modified shard on usb stick must be "touch". - file rename/move does not work. \end{semiverbatim} } \end{frame} \subsection{stress testing} \begin{frame}[fragile] \frametitle{stress testing} \pause {\tiny \begin{semiverbatim} 1 second delay +---+ | | - v v - - - - F - -1s- - F - -1s- - F - -1s- - F - - - - - -1s- ------>------------->-------->---------->-----> - dump script - F - - -1s- - - - F - - F - 20MiB - 90MiB file - - avg. file size 60MiB | | | - - | | - F - - F - | | - - | +_________________+ combox directory git.ricketyspace.net/combox-paper/tree/dumper/dump \end{semiverbatim} } \end{frame} \begin{frame} \frametitle{1620MiB dump - 27 files} \pause \centering {\small avg. time to split and encrypt $\rightarrow$ 2670.59ms\\ \pause total time to process all files $\rightarrow$ 02m:22s } \end{frame} \begin{frame} \frametitle{5940MiB dump - 99 files} \pause \centering {\small avg. time to split and encrypt $\rightarrow$ 2979.64ms ($\uparrow$ 309.049ms)\\ \pause total time to process all files $\rightarrow$ 09m:10s ($\uparrow$ 6m:48s) } \end{frame} \begin{frame} \frametitle{10800MiB dump - 180 files} \pause \centering {\small avg. time to split and encrypt $\rightarrow$ 3423.08ms ($\uparrow$ 443.440ms)\\ \pause total time to process all files $\rightarrow$ 18m:04s ($\uparrow$ 8m:54s) } \end{frame}