2. Что под собой подразумевает
автоматизированное тестирование ?
Тестирование — один из важнейших этапов контроля качества
разрабатываемого ПО.
Автоматическое тестирование является его составной частью.
Оно использует программное обеспечение для проверки
выполнения проводимых тестов, что помогает в большинстве
случаев сократить время тестирования иупростить его процесс.
3. Когда стоит начинать
автоматизированное тестирование
чтобы оно принесло пользу проекту ?
Возможно ли ?
1.Есть что автоматизировать.
2.Есть тест план
3.Написаны тест кейсы для
ручного тестирования
4. Есть инструмент для
автоматизированного
тестирования
Выгодно ли ?
1. Просчитана величина
реальной пользы от внедрения
автоматизированного
тестирования
2. Есть необходимость
автоматизированного
тестирования
(требование заказчика,
состояние проекта)
4. Основные преимущества
автоматизированного тестирования?
1. Возможность непрерывного/циклического
выполнения тестов
2. Строгая последовательность выполняемых
шагов
3. Увеличение производительности в сравнении
с ручным тестированием в разы
4. Автоматизация длинных последовательностей
5. Автоматизация операций требующих тяжелых
вычислений
5. Основные недостатки
автоматизированного тестирования
1.Требуют достаточно времени
для создания скриптов (не всегда
оправдываются)
2.Необходимость постоянного
сопровождения (обновления)
тестов
3. Тесты выполняют
запрограммированную
последовательность действий,
они не имеют интеллекта
6. Сравнение средств
автоматизированного тестирования
Критерии QuckTestPro IBM Rational Functional Tester TestComplete Selenium RC
Поддерживаемые
Браузеры
Firefox
Internet Explorer
Netscape Browser
Internet Explorer
Mozilla Firefox
Internet Explorer
Mozilla Firefox
Netscape Navigator ver. (limited)
*firefox *IE
*opera *netscape
*conqueror *safari
*seamonkey *omniweb
*camino
Поддерживаемые
платформы
Windows
Linux
Windows
Windows
Windows
Unix
MacOS
Поддерживаемые
приложения
web services,Windows
applications, web (Internet
Explorer,
Firefox,Netscape), .NET,
Java™/J2EE, SAP, Siebel,
Oracle®, PeopleSoft, VB,
ActiveX, mainframe terminal
emulators and Macromedia
Flex.
Web-based, .Net, Java, terminal
emulator based applications such
as 3270 (zSeries™) and 5250
(iSeries™), PowerBuilder, AJAX,
Adobe Flex, Dojo Toolkit, Siebel,
and SAP® applications
.NET, Java, Visual C++, Visual
Basic, Delphi, C++Builder and
web applications.
Web-based applications
Явные
приемущества
Лёгок в изучении, много
документации
Функционально богат
Чрезвычайно
масштабируемый.
Богатая поддержка языков
(VBScript, JScript, C ++)
Богатая поддержка языков
и платформ
Средняя стоимость 20000 $ 6000 $
Enterprise per named user: 1999$
Standard per named user: 999$
Enterprise per floating user: 4499$
Standard per floating user: 2999$
Бесплатная
7. Создание инфраструктуры
Выбор места хранения данных
• Первым делом необходимо разработать инфраструктуру для
дальнейшей разработки тестов.
• Одним из оптимальных методов я считаю, это хранение
информации на сетевом диске. Положительными сторонами этого
метода я считаю:
1. Скрипты доступны из любой точки сети.
2. При необходимости доступ к скриптам может получить любой
пользователь
3. Отсутствие необходимости настройки путей для проекта при
открытии его с любого компьютера
• Для примера. Разместить папку X на сервере компании ‘FileServer’
• fileserverProjectsProjectNameAutomation
• Подключить сетевой диск ‘Z’ ссылающийся на эту папку.
8. Определение структуры хранения
данных
LIB – Функциональные библиотеки
RA – Reusable Actions
BL – Бизнес уровень
GL – GUI Уровень
RS – Сценарии востановления
DOC – Документация
DAT – Данные( xml, xsl )
SETTING – файлы настроек
TEST – Тесты
RES – Результаты
REP – Репозиторий обьектов
ENV – Переменные
9. Определение требований к правилам
оформления кода тестов
Описание теста при его создании или редактировании,
существенно упрощает последующую с ним работу.
10. Основные правила ОО тестирования
Для создания тестов, тестируемое приложение нужно
разбить на 3 основных уровня:
•Тестовый Уровень
•Бизнес Уровень
•GUI Уровень
2 дополнительных:
•Уровень данных
•Уровень Функций
Уровень
данных
GUI уровень
Тестовый уровень
Уровень
Функций
Бизнес уровень
11. GUI уровень
Уровень
данных
Тестовый уровень
Уровень
Функций
Бизнес уровень
GUI уровень
• Каждый GUI "Модуль" описывает набор графических
обьектов одного окна/станицы
• Каждый модуль обрабатывает все доступные медоды
для текущего набора обьектов, т.е.: получение данных,
проверка данных, ввод данных.
12. Бизнес уровень
Бизнес уровень
GUI уровень
• Бизнес-уровень описывает единичные бизнес-процессы.
• Модули бизнес-уровня могут обращаться к нескольким GUI
модулям.
• Бизнес-уровень действует как контроллер для GUI
действий.
• Один бизнес-модуль никогда не может вызывать другой
бизнес модуль.
Уровень
данных
Уровень
Функций
Тестовый уровень
13. Тестовый уровень
Тестовый уровень
Бизнес уровень
• Тестовый уровень является конечным и содержит
последовательность скрипов из бизнес уровня.
• Модуль тестового уровня является полноценным тестом.
• Каждый модуль имеет уникальное имя. Название должно
отвечать общепринятым стандартам именования
классов/переменных (Например ‘AddNewCustomer’).
Уровень
данных
Уровень
Функций
GUI уровень
14. Уровень функций
Уровень
Функций
• Это набор внутренних и внешних процедур вызываемых в
модулях тестового и бизнес уровней
Бизнес уровеньУровень
данных
GUI уровень
Тестовый уровень
15. Уровень данных
Уровень
данных
• Эти общие или конкретные данные (значение переменных,
параметров, константы и т.д.) используемые для выполнения
тестов
• Хорошей практикой считается хранение тестовых данных во
внешних файлах.
GUI уровень
Уровень
Функций
Бизнес уровень
Тестовый уровень