Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемVLDCORP
1 Проблемы автоматизируемости тестирования и их решения Круглый стол Илья Фомин Align Technology, Inc
2 О докладчике Илья Фомин – Руководитель группы Align Technology, Inc. Profile…………………
3 Постановка проблемы 3
4 4
5 5 Автоматизируемость: Тесткейз, или Вид тестирования, или Операция с системой Выполняется вручную или планируется Нужно заменить на скрипт/программу
6 Постановка проблемы 6 Типичный тест кейз: Установка начальных условий конфигурация системы, подготовка данных Выполнение необходимых действий Осуществление проверок Постобработка сбор статистики, очистка и т.д. Можно автоматизировать один, несколько, или все пункты
7 Постановка проблемы 7 Что можно автоматизировать? Последовательность действий/проверок На доступном вам приложении Формализованную Выполнимую Если все условия выше выполнены, но автоматизировать не получается, то у вас... проблема
8 Технические методы решения 8
9 RTFM! (Manual) RTFF! (Forums) RTFG! (Google) 9
10 Технические методы решения Использование другого тула Обзоры:
11 Технические методы решения Вызов операций нижнего уровня Найти onClick() и вызвать Распарсить код страницы Сформировать POST, отправить, проанализировать ответ 11
12 Технические методы решения Инъекции кода -В клиент -В БД 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 13
14 Технические методы решения Замена действий синонимами -Горячие клавиши -Hardware replay -Буфер обмена -OCR 14
15 Технические методы решения Замена действий - пример.Type micDwn &_ micDwn &_ micReturn Clipboard: Set objHTML = CreateObject("InternetExplorer.Application") objHTML.Document.ParentWindow.ClipboardData 15
16 Технические методы решения Проблемы технических методов? -Нужно самостоятельно гарантировать эквивалентность ручному тестированию. Обычно гарантом выступает репутация вендора -Чаще всего сложно и долго -Не переносимо между технологиями 16
17 Административные методы решения 17
18 Административные методы решения Компромисс -Комбинация с ручными проверками -Точки остановки и синхронизации -Скриншоты -Подробные и удобно читаемые отчеты -Описание проверок прямо в отчетах скриптов -Downstream проверки интеграционных точек -Data Driven Testing 18
19 Административные методы решения Просите помощи у разработчиков (или Agile в действии :) 19
20 Административные методы решения Просите помощи у разработчиков -Написание сложных алгоритмов -Имплементация необходимых интерфейсов -Любые правки, повышающие тестабилити 20
21 Административные методы решения Просите помощи у разработчиков: Backdoor-интерфейсы 21
22 Административные методы решения Просите помощи у разработчиков: Backdoor-интерфейсы 22
23 Административные методы решения Просите помощи у разработчиков заранее Прототип каждой программы, использующей новую технологию, обязателен к изучению 23
24 Административные методы решения 100%ная автоматизация 24 70% 30%
25 Административные методы решения 100%ная автоматизация Существует? 25 70% 30% 20% 80%
26 Административные методы решения 100%ная автоматизация Существует? 26 70% 30% %
27 Административные методы решения 100%ная автоматизация Существует! Нужно только правильно выбрать 100% 27 70% 30% 100%
28 Административные методы решения - Что нужно автоматизировать? - А нужно ли автоматизировать именно это? Если автоматизировать трудно: Переформулируйте задачу так, чтобы добиться автоматизируемости... или даже Сформулируйте задачу так, чтобы она уже была автоматизирована! 28
29 Административные методы решения Нужно ли вообще выполнять данный вид тестирования? Насколько проблемная область? Если не было ни одного бага, нужно ли тестировать? Рассмотрите другие подходы: Анализ исходного кода и ресурсов Модульные тесты Отслеживание зависимостей, тестирование только измененного функционала Идеи в аудитории? 29
30 Что нужно автоматизировать 30
31 Что нужно автоматизировать Profit от автоматизации: Экономия ресурсов Ускорение выполнения Увеличение скорости реакции Выполнение в нерабочее время Действия (практически) невозможно провести вручную Устранение скучной работы 31
32 Что нужно автоматизировать Loss от автоматизации: Покупка тулов Обучение Разработка/доработка инфраструктуры Написание скриптов Поддержка скриптов и пользователей Запуски, анализ отчетов 32
33 Что нужно автоматизировать 33
34 Выход из тупика. Разбор полетов. 34 Или рассказ об обновлении FTPC
35 Выход из тупика. Разбор полетов. DataSweep Shop Advantage 6.1 -> Rockwell Factory Talk Production Centre
36 Выход из тупика. Разбор полетов. Появившиеся проблемы (QTP 10) 36
37 Выход из тупика. Разбор полетов. Появившиеся проблемы (QTP 10) 37
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% случаев Лечится переоткрытием окна/таба, иногда – ручным кликом по заголовку 38
39 Выход из тупика. Разбор полетов. Что известно: -Обновленная версия Java (1.5) -Минимальные изменения кода -Обновленная версия сервера приложений (WebSpere) -Скрипты LoadRunner перестали работать 39
40 Выход из тупика. Разбор полетов. Предпринятые шаги (workarounds): -Переопределение.Exist (включили.Activate) -Перенос части интерфейсных проверок в БД -Упрощение дозапуска скриптов -Упрощенный и автоматизированный запуск регрессии 40
41 Выход из тупика. Разбор полетов. Предпринятые шаги (конфигурация): -Написание простого теста, воспроизводящего проблему (Logon/Logoff) -Чистая последняя инсталляция QTP 10 -Инсталляция QTP 11 -Разные версии Java Попробовали TestComplete (работает, но иногда вылетает) 41
42 Выход из тупика. Разбор полетов. Предпринятые шаги (с разработчиками): -Запуск клиента FTPC через апплет и jnlp -Несколько версий FTPC (8.0, 8.1, 8.2, 9.0) -Вызов сборщика мусора (GC) через.Object -Общение с поддержкой Rockwell -Поиск потенциальных проблем в коде 42
43 Выход из тупика. Разбор полетов. Новая информация: -JRE скачивается FTPC самостоятельно, установленная версия не имеет значения -Скрипты LoadRunner сломались из-за использования объектов IBM JM -IBM JM скачивается клиентом вместе с Sun -FTPC 8.1, установленный на WebSphere требует IBM JM, а 6.1 – нет -FTPC 8.x на Jboss/WebLogic не требует IBM 43
44 Выход из тупика. Разбор полетов. Пробуем Jboss …………. 44
45 Выход из тупика. Разбор полетов. Решение: На каждый тестовый стенд установлен дополнительный сервер FTPC/Jboss Запущен проект по полному переходу на Jboss Jboss еще и стоит существенно дешевле WebSphere 45
46 End Function 46
47 О докладчике Илья Фомин – Руководитель группы Align Technology, Inc. Profile………………… Интересная работа в Москве!!!
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.