Проблемы автоматизируемости тестирования и их решения презентация

Содержание

О докладчике Илья Фомин – Руководитель группы автоматизации @ Align Technology, Inc. E-mail (work)………………ifomin@aligntech.com E-mail (personal)………….ilya@4min.org Profile………………….......http://i-fomin.moikrug.ru/

Слайд 1Проблемы автоматизируемости тестирования и их решения
Круглый стол
Илья Фомин

Align Technology, Inc




Слайд 2О докладчике


Илья Фомин – Руководитель группы автоматизации @ Align Technology, Inc.

E-mail

(work)………………ifomin@aligntech.com
E-mail (personal)………….ilya@4min.org
Profile………………….......http://i-fomin.moikrug.ru/




Слайд 3Постановка проблемы


Слайд 4Постановка проблемы


Слайд 5Постановка проблемы
Автоматизируемость:
Тесткейз, или
Вид тестирования, или
Операция с системой

Выполняется вручную или планируется

Нужно заменить

на скрипт/программу

Слайд 6Постановка проблемы
Типичный тест кейз:
Установка начальных условий
конфигурация системы, подготовка данных
Выполнение необходимых действий
Осуществление

проверок
Постобработка
сбор статистики, очистка и т.д.
Можно автоматизировать один, несколько, или все пункты

Слайд 7Постановка проблемы
Что можно автоматизировать?
Последовательность действий/проверок
На доступном вам приложении
Формализованную
Выполнимую
Если все условия выше

выполнены, но автоматизировать не получается, то у вас...
проблема

Слайд 8Технические методы решения


Слайд 9Технические методы решения
RTFM! (Manual)

RTFF! (Forums)

RTFG! (Google)


Слайд 10Технические методы решения
Использование другого тула





Обзоры:
http://goo.gl/IRvm0 http://goo.gl/BWzV1


Слайд 11Технические методы решения
Вызов операций нижнего уровня

Найти onClick() и вызвать
Распарсить код страницы
Сформировать

POST, отправить, проанализировать ответ



Слайд 12Технические методы решения
Инъекции кода

В клиент
В БД






Слайд 13Технические методы решения
Инъекции кода – пример:
pageObj.object.parentWindow.execScript( _
"var httpReq;" &_
"httpReq = new

XMLHttpRequest();" &_
"httpReq.open(""GET"", """ & url & """, false);" &_
"httpReq.setRequestHeader(""Cache-Control"", ""no-cache"");" &_
"httpReq.send(null);" &_
"window.receivedResponse = httpReq.responseText;" )
responseXmlText = pageObj.object.parentWindow.receivedResponse





Слайд 14Технические методы решения
Замена действий синонимами

Горячие клавиши
Hardware replay
Буфер обмена
OCR






Слайд 15Технические методы решения
Замена действий - пример
.Type micDwn &_
micDwn &_
micDwn

&_
micReturn
Clipboard:
Set objHTML = CreateObject("InternetExplorer.Application")
objHTML.Document.ParentWindow.ClipboardData




Слайд 16Технические методы решения
Проблемы технических методов?

Нужно самостоятельно гарантировать эквивалентность ручному тестированию. Обычно

гарантом выступает репутация вендора
Чаще всего сложно и долго
Не переносимо между технологиями



Слайд 17Административные методы решения


Слайд 18Административные методы решения
Компромисс
Комбинация с ручными проверками
Точки остановки и синхронизации
Скриншоты
Подробные и удобно

читаемые отчеты
Описание проверок прямо в отчетах скриптов
Downstream проверки интеграционных точек
Data Driven Testing



Слайд 19Административные методы решения
Просите помощи у разработчиков

(или Agile в действии :)





Слайд 20Административные методы решения
Просите помощи у разработчиков



Написание сложных алгоритмов
Имплементация необходимых интерфейсов
Любые правки, повышающие тестабилити




Слайд 21Административные методы решения
Просите помощи у разработчиков:
Backdoor-интерфейсы



Слайд 22Административные методы решения
Просите помощи у разработчиков:
Backdoor-интерфейсы



Слайд 23Административные методы решения
Просите помощи у разработчиков заранее





Прототип каждой программы, использующей новую

технологию, обязателен к изучению



Слайд 24Административные методы решения
100%ная автоматизация







70%
30%


Слайд 25Административные методы решения
100%ная автоматизация
Существует?







70%
30%


20%
80%


Слайд 26Административные методы решения
100%ная автоматизация
Существует?







70%
30%


99.999%


Слайд 27Административные методы решения
100%ная автоматизация
Существует!




Нужно только правильно выбрать 100%



70%
30%
100%


Слайд 28Административные методы решения
- Что нужно автоматизировать?
- А нужно ли автоматизировать именно

это?
Если автоматизировать трудно:
Переформулируйте задачу так, чтобы добиться автоматизируемости
... или даже
Сформулируйте задачу так, чтобы она уже была автоматизирована!





Слайд 29Административные методы решения
Нужно ли вообще выполнять данный вид тестирования?
Насколько проблемная область?


Если не было ни одного бага, нужно ли тестировать?
Рассмотрите другие подходы:
Анализ исходного кода и ресурсов
Модульные тесты
Отслеживание зависимостей, тестирование только измененного функционала
Идеи в аудитории?




Слайд 30Что нужно автоматизировать
 


Слайд 31Что нужно автоматизировать
Profit от автоматизации:
Экономия ресурсов
Ускорение выполнения
Увеличение скорости реакции
Выполнение в нерабочее

время
Действия (практически) невозможно провести вручную
Устранение скучной работы






Слайд 32Что нужно автоматизировать
Loss от автоматизации:
Покупка тулов
Обучение
Разработка/доработка инфраструктуры
Написание скриптов
Поддержка скриптов и пользователей
Запуски,

анализ отчетов






Слайд 33Что нужно автоматизировать

 


Слайд 34Выход из тупика. Разбор полетов.
Или рассказ об обновлении FTPC


Слайд 35Выход из тупика. Разбор полетов.
DataSweep Shop Advantage 6.1 ->

Rockwell Factory Talk Production Centre 8.1





Слайд 36Выход из тупика. Разбор полетов.
Появившиеся проблемы (QTP 10)






Слайд 37Выход из тупика. Разбор полетов.
Появившиеся проблемы (QTP 10)






Слайд 38Выход из тупика. Разбор полетов.
Появившиеся проблемы (QTP 10)
JavaList has no parents.
Messed

hierarchy
Objects are identified as disabled, though they are not
JavaButton "OK" is identified as JavaList
И другие схожие проблемы...
...проявляющиеся в 1-5% случаев
Лечится переоткрытием окна/таба, иногда – ручным кликом по заголовку





Слайд 39Выход из тупика. Разбор полетов.
Что известно:
Обновленная версия Java (1.5)
Минимальные изменения кода
Обновленная

версия сервера приложений (WebSpere)
Скрипты LoadRunner перестали работать






Слайд 40Выход из тупика. Разбор полетов.
Предпринятые шаги (workarounds):
Переопределение .Exist (включили .Activate)
Перенос части

интерфейсных проверок в БД
Упрощение дозапуска скриптов
Упрощенный и автоматизированный запуск регрессии






Слайд 41Выход из тупика. Разбор полетов.
Предпринятые шаги (конфигурация):
Написание простого теста, воспроизводящего проблему

(Logon/Logoff)
Чистая последняя инсталляция QTP 10
Инсталляция QTP 11
Разные версии Java 1.4-1.6
Попробовали TestComplete (работает, но иногда вылетает)





Слайд 42Выход из тупика. Разбор полетов.
Предпринятые шаги (с разработчиками):
Запуск клиента FTPC через

апплет и jnlp
Несколько версий FTPC (8.0, 8.1, 8.2, 9.0)
Вызов сборщика мусора (GC) через .Object
Общение с поддержкой Rockwell
Поиск потенциальных проблем в коде





Слайд 43Выход из тупика. Разбор полетов.
Новая информация:
JRE скачивается FTPC самостоятельно, установленная версия

не имеет значения
Скрипты LoadRunner сломались из-за использования объектов IBM JM
IBM JM скачивается клиентом вместе с Sun
FTPC 8.1, установленный на WebSphere требует IBM JM, а 6.1 – нет
FTPC 8.x на Jboss/WebLogic не требует IBM






Слайд 44Выход из тупика. Разбор полетов.
Пробуем Jboss ………….






Слайд 45Выход из тупика. Разбор полетов.
Решение:
На каждый тестовый стенд установлен дополнительный сервер

FTPC/Jboss
Запущен проект по полному переходу на Jboss
Jboss еще и стоит существенно дешевле WebSphere






Слайд 46 End Function


Слайд 47О докладчике


Илья Фомин – Руководитель группы автоматизации @ Align Technology, Inc.

E-mail

(work)………………ifomin@aligntech.com
E-mail (personal)………….ilya@4min.org
Profile………………….......http://i-fomin.moikrug.ru/




Интересная работа
в Москве!!!


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика