documentclass beamer usepackage russian babel usepackage utf8 inputenc

 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
\documentclass{beamer}
\usepackage[russian]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage{pgf}
\usepackage{soul}
\usecolortheme{whale}
\useoutertheme{default}
\title{\textsc{Про (юнит) тестирование}}
%\subtitle{lightning talk}
\author{Юревич Юрий}
\date[RuPyRu 2009]{RuPyRu 2009, 6 июня, Омск.}
\institute{\texttt{http://pyobject.ru}}
\begin{document}
\maketitle
\section{Lightning talk}
\begin{frame}
\frametitle{Зачем нужны (юнит) тесты}
{\hugeТесты гарантируют, что юнит работает \emph{определенным} образом} \\
\vspace{2em}
\emph{юнит} --- функция, класс, метод
\end{frame}
\begin{frame}
\frametitle{Что тестировать}
\begin{block}{Хорошо тестируются}
\begin{itemize}
\item ``чистые'' юниты:
\begin{itemize}
\item неинтерактивность $\rightarrow$ функциональные тесты
\item минимум I/O (сеть, диск) $\rightarrow$ mock-объекты
\item минимум БД $\rightarrow$ fixture
\end{itemize}
\item stateless-юниты:
\begin{itemize}
\item работа юнита определяется входными данными
\end{itemize}
\end{itemize}
\end{block}
\end{frame}
\begin{frame}
\frametitle{Как писать тесты}
{\huge Самое сложное --- начать}.
\end{frame}
\begin{frame}
\frametitle{Как писать тесты}
\begin{block}{\textst{Test}Bug driven development}
\begin{itemize}
\item При создании:
\begin{enumerate}
\item Базовая функциональность юнита
\item Тест на базовую функциональность
\item Расширение функциональности юнита
\item Прогон базовых тестов
\item Тестирование крайних случаев
\end{enumerate}
\item Нашли баг:
\begin{enumerate}
\item Пишем тест, который падает, если баг есть
\item Исправляем баг
\item Прогоняем тест
\end{enumerate}
\end{itemize}
\end{block}
\end{frame}
\begin{frame}
\frametitle{Тестирование legacy-кода}
\begin{centering}
\vbox{\pgfimage{brain_explosion}}
\end{centering}
\end{frame}
\begin{frame}
\frametitle{Самый главный вопрос}
\begin{centering}
\Huge{Кто напишет тесты тестов?} \\
\vspace{6em} ~
\small{Факт из жизни: код тестов \textbf{всегда} больше кода юнита}
\end{centering}
\end{frame}
\end{document}