diff -r be96dc6c9743 -r 68813d8d80fb testing-debugging/slides.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testing-debugging/slides.tex Thu Nov 11 02:28:55 2010 +0530 @@ -0,0 +1,120 @@ +% Created 2010-11-07 Sun 18:57 +\documentclass[presentation]{beamer} +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{fixltx2e} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{float} +\usepackage{wrapfig} +\usepackage{soul} +\usepackage{t1enc} +\usepackage{textcomp} +\usepackage{marvosym} +\usepackage{wasysym} +\usepackage{latexsym} +\usepackage{amssymb} +\usepackage{hyperref} +\tolerance=1000 +\usepackage[english]{babel} \usepackage{ae,aecompl} +\usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet} +\usepackage{listings} +\lstset{language=Python, basicstyle=\ttfamily\bfseries, +commentstyle=\color{red}\itshape, stringstyle=\color{red}, +showstringspaces=false, keywordstyle=\color{blue}\bfseries} +\providecommand{\alert}[1]{\textbf{#1}} + +\title{Testing and debugging} +\author{FOSSEE} +\date{} + +\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent} +\begin{document} + +\maketitle + + + + + + + + + +\begin{frame} +\frametitle{Outline} +\label{sec-1} + +\begin{itemize} +\item What software Testing is? +\item Learn to test simple functions for their functionality. +\item Learn how to automate tests. +\item Need for coding style and some of the standards followed by the Python Community. +\item Handling Errors and Exceptions. +\end{itemize} +\end{frame} +\begin{frame}[fragile] +\frametitle{gcd function} +\label{sec-2} + +\begin{itemize} +\item Create gcd.py file with: +\end{itemize} + +\begin{lstlisting}[language=python] + def gcd(a, b): + if a % b == 0: + return b + return gcd(b, a%b) +\end{lstlisting} +\end{frame} +\begin{frame}[fragile] +\frametitle{Test for gcd.py} +\label{sec-3} + +\begin{itemize} +\item Edit gcd.py file +\end{itemize} + +\begin{lstlisting}[language=python] + + def gcd(a, b): + if b == 0: + return a + return gcd(b, a%b) + + if __name__=='__main__': + result = gcd(48, 64) + if result != 16: + print "Test failed" + print "Test Passed" +\end{lstlisting} +\end{frame} +\begin{frame}[fragile] +\frametitle{Automating tests} +\label{sec-4} + +\begin{lstlisting}[language=python] + + if __name=__='__main__': + for line in open('numbers.txt'): + numbers = line.split() + x = int(numbers[1]) + y = int(numbers[2]) + result = int(numbers[3]) + if gcd(x, y) != result: + print "Failed gcd test + for", x, y +\end{lstlisting} + + + + +$^{1}$ FOOTNOTE DEFINITION NOT FOUND: 0 + +$^{2}$ FOOTNOTE DEFINITION NOT FOUND: 1 + +$^{3}$ FOOTNOTE DEFINITION NOT FOUND: 2 +\end{frame} + +\end{document}