Сергей Ревко

17
ПРАКТИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ И ПРОВЕДЕНИЮ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ Сергей Ревко. СООО "Интетикс Бел".

Transcript of Сергей Ревко

Page 1: Сергей Ревко

ПРАКТИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ И ПРОВЕДЕНИЮ

АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ

Сергей Ревко. СООО "Интетикс Бел".

Page 2: Сергей Ревко

Что под собой подразумевает автоматизированное тестирование ?

Тестирование — один из важнейших этапов контроля качества разрабатываемого ПО.

Автоматическое тестирование является его составной частью. Оно использует программное обеспечение для проверки выполнения проводимых тестов, что помогает в большинстве случаев сократить время тестирования иупростить его процесс.

Page 3: Сергей Ревко

Когда стоит начинать автоматизированное тестирование

чтобы оно принесло пользу проекту ?

Возможно ли ?

1.Есть что автоматизировать.

2.Есть тест план

3.Написаны тест кейсы для ручного тестирования

4. Есть инструмент для автоматизированного тестирования

Выгодно ли ?

1. Просчитана величина реальной пользы от внедрения автоматизированного тестирования

2. Есть необходимость автоматизированного тестирования (требование заказчика, состояние проекта)

Page 4: Сергей Ревко

Основные преимущества автоматизированного тестирования?

1. Возможность непрерывного/циклического выполнения тестов

2. Строгая последовательность выполняемых шагов

3. Увеличение производительности в сравнении с ручным тестированием в разы

4. Автоматизация длинных последовательностей

5. Автоматизация операций требующих тяжелых вычислений

Page 5: Сергей Ревко

Основные недостатки автоматизированного тестирования

1.Требуют достаточно времени для создания скриптов (не всегда оправдываются)

2.Необходимость постоянного сопровождения (обновления) тестов

3. Тесты выполняют запрограммированную последовательность действий, они не имеют интеллекта

Page 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

Поддерживаемые платформы

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$

Бесплатная

Page 7: Сергей Ревко

Создание инфраструктуры Выбор места хранения данных

• Первым делом необходимо разработать инфраструктуру для дальнейшей разработки тестов.

• Одним из оптимальных методов я считаю, это хранение информации на сетевом диске. Положительными сторонами этого метода я считаю:

1. Скрипты доступны из любой точки сети.

2. При необходимости доступ к скриптам может получить любой пользователь

3. Отсутствие необходимости настройки путей для проекта при открытии его с любого компьютера

• Для примера. Разместить папку X на сервере компании ‘FileServer’ • \\fileserver\Projects\ProjectName\Automation\• Подключить сетевой диск ‘Z’ ссылающийся на эту папку.

Page 8: Сергей Ревко

Определение структуры хранения данных

LIB – Функциональные библиотеки

RA – Reusable ActionsBL – Бизнес уровеньGL – GUI Уровень

RS – Сценарии востановления

DOC – Документация

DAT – Данные( xml, xsl )

SETTING – файлы настроек

TEST – Тесты

RES – Результаты

REP – Репозиторий обьектов

ENV – Переменные

Page 9: Сергей Ревко

Определение требований к правилам оформления кода тестов

Описание теста при его создании или редактировании, существенно упрощает последующую с ним работу.

Page 10: Сергей Ревко

Основные правила ОО тестирования

Для создания тестов, тестируемое приложение нужно разбить на 3 основных уровня: •Тестовый Уровень •Бизнес Уровень•GUI Уровень 2 дополнительных:•Уровень данных•Уровень Функций

Уровень данных

GUI уровень

Тестовый уровень

Уровень Функций

Бизнес уровень

Page 11: Сергей Ревко

GUI уровень

Уровень данных

Тестовый уровень

Уровень Функций

Бизнес уровень

GUI уровень

• Каждый GUI "Модуль" описывает набор графических обьектов одного окна/станицы

• Каждый модуль обрабатывает все доступные медоды для текущего набора обьектов, т.е.: получение данных, проверка данных, ввод данных.

Page 12: Сергей Ревко

Бизнес уровень

Бизнес уровень

GUI уровень

• Бизнес-уровень описывает единичные бизнес-процессы.• Модули бизнес-уровня могут обращаться к нескольким GUI модулям.• Бизнес-уровень действует как контроллер для GUI действий. • Один бизнес-модуль никогда не может вызывать другой бизнес модуль.

Уровень данных

Уровень Функций

Тестовый уровень

Page 13: Сергей Ревко

Тестовый уровень

Тестовый уровень

Бизнес уровень

• Тестовый уровень является конечным и содержит последовательность скрипов из бизнес уровня.

• Модуль тестового уровня является полноценным тестом.

• Каждый модуль имеет уникальное имя. Название должно отвечать общепринятым стандартам именования

классов/переменных (Например ‘AddNewCustomer’).

Уровень данных

Уровень Функций

GUI уровень

Page 14: Сергей Ревко

Уровень функций

Уровень Функций

• Это набор внутренних и внешних процедур вызываемых в модулях тестового и бизнес уровней

Бизнес уровеньУровень данных

GUI уровень

Тестовый уровень

Page 15: Сергей Ревко

Уровень данных

Уровень данных

• Эти общие или конкретные данные (значение переменных, параметров, константы и т.д.) используемые для выполнения тестов

• Хорошей практикой считается хранение тестовых данных во внешних файлах.

GUI уровень

Уровень Функций

Бизнес уровень

Тестовый уровень

Page 16: Сергей Ревко

Пример

Page 17: Сергей Ревко

Заключение