Сергей Ревко
Transcript of Сергей Ревко
ПРАКТИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ И ПРОВЕДЕНИЮ
АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ
Сергей Ревко. СООО "Интетикс Бел".
Что под собой подразумевает автоматизированное тестирование ?
Тестирование — один из важнейших этапов контроля качества разрабатываемого ПО.
Автоматическое тестирование является его составной частью. Оно использует программное обеспечение для проверки выполнения проводимых тестов, что помогает в большинстве случаев сократить время тестирования иупростить его процесс.
Когда стоит начинать автоматизированное тестирование
чтобы оно принесло пользу проекту ?
Возможно ли ?
1.Есть что автоматизировать.
2.Есть тест план
3.Написаны тест кейсы для ручного тестирования
4. Есть инструмент для автоматизированного тестирования
Выгодно ли ?
1. Просчитана величина реальной пользы от внедрения автоматизированного тестирования
2. Есть необходимость автоматизированного тестирования (требование заказчика, состояние проекта)
Основные преимущества автоматизированного тестирования?
1. Возможность непрерывного/циклического выполнения тестов
2. Строгая последовательность выполняемых шагов
3. Увеличение производительности в сравнении с ручным тестированием в разы
4. Автоматизация длинных последовательностей
5. Автоматизация операций требующих тяжелых вычислений
Основные недостатки автоматизированного тестирования
1.Требуют достаточно времени для создания скриптов (не всегда оправдываются)
2.Необходимость постоянного сопровождения (обновления) тестов
3. Тесты выполняют запрограммированную последовательность действий, они не имеют интеллекта
Сравнение средств автоматизированного тестирования
Критерии 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
Поддерживаемые платформы
WindowsLinux
WindowsWindows
WindowsUnix
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$
Бесплатная
Создание инфраструктуры Выбор места хранения данных
• Первым делом необходимо разработать инфраструктуру для дальнейшей разработки тестов.
• Одним из оптимальных методов я считаю, это хранение информации на сетевом диске. Положительными сторонами этого метода я считаю:
1. Скрипты доступны из любой точки сети.
2. При необходимости доступ к скриптам может получить любой пользователь
3. Отсутствие необходимости настройки путей для проекта при открытии его с любого компьютера
• Для примера. Разместить папку X на сервере компании ‘FileServer’ • \\fileserver\Projects\ProjectName\Automation\• Подключить сетевой диск ‘Z’ ссылающийся на эту папку.
Определение структуры хранения данных
LIB – Функциональные библиотеки
RA – Reusable ActionsBL – Бизнес уровеньGL – GUI Уровень
RS – Сценарии востановления
DOC – Документация
DAT – Данные( xml, xsl )
SETTING – файлы настроек
TEST – Тесты
RES – Результаты
REP – Репозиторий обьектов
ENV – Переменные
Определение требований к правилам оформления кода тестов
Описание теста при его создании или редактировании, существенно упрощает последующую с ним работу.
Основные правила ОО тестирования
Для создания тестов, тестируемое приложение нужно разбить на 3 основных уровня: •Тестовый Уровень •Бизнес Уровень•GUI Уровень 2 дополнительных:•Уровень данных•Уровень Функций
Уровень данных
GUI уровень
Тестовый уровень
Уровень Функций
Бизнес уровень
GUI уровень
Уровень данных
Тестовый уровень
Уровень Функций
Бизнес уровень
GUI уровень
• Каждый GUI "Модуль" описывает набор графических обьектов одного окна/станицы
• Каждый модуль обрабатывает все доступные медоды для текущего набора обьектов, т.е.: получение данных, проверка данных, ввод данных.
Бизнес уровень
Бизнес уровень
GUI уровень
• Бизнес-уровень описывает единичные бизнес-процессы.• Модули бизнес-уровня могут обращаться к нескольким GUI модулям.• Бизнес-уровень действует как контроллер для GUI действий. • Один бизнес-модуль никогда не может вызывать другой бизнес модуль.
Уровень данных
Уровень Функций
Тестовый уровень
Тестовый уровень
Тестовый уровень
Бизнес уровень
• Тестовый уровень является конечным и содержит последовательность скрипов из бизнес уровня.
• Модуль тестового уровня является полноценным тестом.
• Каждый модуль имеет уникальное имя. Название должно отвечать общепринятым стандартам именования
классов/переменных (Например ‘AddNewCustomer’).
Уровень данных
Уровень Функций
GUI уровень
Уровень функций
Уровень Функций
• Это набор внутренних и внешних процедур вызываемых в модулях тестового и бизнес уровней
Бизнес уровеньУровень данных
GUI уровень
Тестовый уровень
Уровень данных
Уровень данных
• Эти общие или конкретные данные (значение переменных, параметров, константы и т.д.) используемые для выполнения тестов
• Хорошей практикой считается хранение тестовых данных во внешних файлах.
GUI уровень
Уровень Функций
Бизнес уровень
Тестовый уровень
Пример
•
Заключение