\input{header_xe.tex}
\isonefalse
\def \labnum {3}
\def \labsubj {Тестирование программного обеспечения}
\def \labauthor {Айтуганов Д. А. \\ Чебыкин И. Б.}
\def \labgroup {P3301}
\isinspfalse
\def \labinsp {}
\def \labname {Вариант: 12345 drive2.ru}
\isnametrue

\usepackage{graphicx}
\usepackage{verbatim}
\usepackage[dvipsnames]{xcolor}

\usepackage{fancyvrb}

\RecustomVerbatimCommand{\VerbatimInput}{VerbatimInput} {
 fontsize=\scriptsize,
 %
 frame=lines,  % top and bottom rule only
 framesep=2em, % separation between frame and text
 rulecolor=\color{Gray},
 %
 label=\fbox{\color{Black}source},
 labelposition=topline,
 %
}

\begin{document}
\input{title.tex}
\section{Задание}
Сформировать варианты использования, разработать на их основе тестовое
покрытие и провести функциональное тестирование интерфейса сайта.

\subsection{Требования к выполнению работы}
\begin{enumerate}
\item Тестовое покрытие должно быть сформировано на основании набора
прецедентов использования сайта.
\item Тестирование должно осуществляться автоматически -- с помощью системы
автоматизированного тестирования Selenium.
\item Шаблоны тестов должны формироваться при помощи Selenium IDE и исполняться
при помощи Selenium RC в браузерах Firefox и Chrome.
\item Предполагается, что тестируемый сайт использует динамическую генерацию
элементов на странице, т.е. выбор элемента в DOM должен осуществляться не на
основании его ID, а с помощью XPath.
\end{enumerate}

\section{Выполнение}

\subsection{Use-case диаграмма}
\includegraphics[width=400bp]{img/use-case.png}
\subsection{CheckList тестового покрытия}

\subsubsection{Авторизация}

\begin{itemize}
\item Удачный вход
\item Неудачный вход
\item Выход
\end{itemize}

\subsubsection{Поиск}

\begin{itemize}
\item Некорректный запрос
\item Удачный запрос
\end{itemize}

\subsubsection{Блоги}

\begin{itemize}
\item Добавление своей записи
\item Удаление своей записи
\item Переход к записи
\item Добавление записи в закладки
\end{itemize}

\subsubsection{Каталог машин}

\begin{itemize}
\item Выбор производителя
\item Выбор модели
\item Переход к объявлению
\end{itemize}

\subsubsection{Магазин}

\begin{itemize}
\item Переход к товару
\end{itemize}

\subsection{Описание набора тестовых сценариев}
\subsection{Авторизация}
\subsubsection{Удачный вход}

Начальные условия: открыт браузер

Пошаговые инструкции:
\begin{enumerate}
\item Перейти на http://drive2.ru
\item Нажать на кнопку "Почта"
\item В форму для ввода email'а ввести testdrive2@10host.top
\item В форму для ввода пароля ввести 1234567890lab
\item Нажать на кнопку войти
\end{enumerate}

Критерий прохождения: Успешный вход в аккаунт

\subsubsection{Неудачный вход}

Начальные условия: открыт браузер

Пошаговые инструкции:
\begin{enumerate}
\item Перейти на http://drive2.ru
\item Нажать на кнопку "Почта"
\item В форму для ввода email'а ввести testdrive2@10host.top
\item В форму для ввода пароля ввести неправильный пароль
\item Нажать на кнопку войти
\end{enumerate}

Критерий прохождения: Показано сообщение об ошибке входа

\subsection{Поиск}

\subsubsection{Некорректный запрос}

Начальные условия: открыт браузер

Пошаговые инструкции:
\begin{enumerate}
\item Перейти на http://drive2.ru
\item В форму запроса поиска ввести рандомную строку
\item Нажать на кнопку найти
\end{enumerate}

Критерий прохождения: Показано сообщение об отстуствии результатов по запросу

\subsubsection{Некорректный запрос}

Начальные условия: открыт браузер

Пошаговые инструкции:
\begin{enumerate}
\item Перейти на http://drive2.ru
\item В форму запроса поиска ввести нормальный запрос, например название марки
машины
\item Нажать на кнопку найти
\end{enumerate}

Критерий прохождения: Показан список найденных материалов на сайте

\subsection{Блог}

\subsubsection{Добавление записи}

Начальные условия: открыт браузер

Пошаговые инструкции:
\begin{enumerate}
\item Перейти на http://drive2.ru
\item Войти в аккаунт
\item Нажать на ссылку "Личный блог" в меню пользователя
\item Нажать на кнопку "Написать в блог"
\item Ввести текст в поле "Заголовок"
\item Ввести текст в поле "Текст записи"
\item Нажать кнопку опубликовать запись
\end{enumerate}

Критерий прохождения: Добавлена запись в блоге

\subsubsection{Удаление записи}

Начальные условия: открыт браузер

Пошаговые инструкции:
\begin{enumerate}
\item Перейти на http://drive2.ru
\item Войти в аккаунт
\item Нажать на ссылку "Личный блог" в меню пользователя
\item Нажать на заголовок записи
\item Нажать на кнопку удалить
\item Подтвердить действие в всплывающем окне
\end{enumerate}

Критерий прохождения: Удалена запись из блога
\subsubsection{Переход к записи}

Начальные условия: открыт браузер

Пошаговые инструкции:
\begin{enumerate}
\item Перейти на http://drive2.ru
\item Войти в аккаунт
\item Нажать на ссылку в ленте
\end{enumerate}

Критерий прохождения: Открыта страница с текстом блогозаписи
\subsubsection{Добавление записи в закладки}

Начальные условия: открыт браузер

Пошаговые инструкции:
\begin{enumerate}
\item Перейти на http://drive2.ru
\item Войти в аккаунт
\item Нажать на ссылку в ленте
\item Нажать на кнопку добавления в закладки
\end{enumerate}

Критерий прохождения: Запись добавлена в закладки

\subsection{Каталог машин}
\subsubsection{Выбор производителя}

Начальные условия: открыт браузер

Пошаговые инструкции:
\begin{enumerate}
\item Перейти на http://drive2.ru
\item В левом меню нажать на кнопку все марки
\end{enumerate}

Критерий прохождения: Открыта страница со всеми производителями
\subsubsection{Выбор модели}

Начальные условия: открыт браузер

Пошаговые инструкции:
\begin{enumerate}
\item Перейти на http://drive2.ru
\item В левом меню нажать на кнопку все марки
\item Нажать на любую марку
\end{enumerate}

Критерий прохождения: Открыта страница с моделями автомобилей
\subsubsection{Переход к объявлению}

Начальные условия: открыт браузер

Пошаговые инструкции:
\begin{enumerate}
\item Перейти на http://drive2.ru
\item В левом меню нажать на кнопку все марки
\item Нажать на любую марку
\item Нажать на любую модель
\end{enumerate}

Критерий прохождения: Открыта страница со объявлениями о выбранной машине.

\subsection{Выводы}
В результате проделанной работы мы изучили механизмы работы с DOM -- XPath,
обращения к элементам по их идентификатору или классу, рассмотрели механизм
WebDriver и составили набор тестовых сценариев для веб-приложения.

\end{document}
