34
Подход к выборе инструмента для автоматизации тестирования Qt Windows приложений. Андрей Беляевский Align Technology, Inc Ретроспектива и попытка обощения.

Qt tool evaluation

Embed Size (px)

Citation preview

Page 1: Qt tool evaluation

Подход к выборе инструмента для автоматизации тестирования Qt Windows приложений.

Андрей Беляевский

Align Technology, Inc

Ретроспектива и попытка обощения.

Page 2: Qt tool evaluation

О чём выступление

2

Расскажу о том

•Что мы должны тестировать

•Постановка задачи на выбор инстумента

•Как это сделали мы и на какие грабли наступили

•Попытка ретроспективы : попытаюсь сказать как обойти грабли

•Пара «фичей» в приложении, которая добавила грабли на наш путь

•Немножко о том, как можно сделать плохотестируемое (приемлемо) тестируемым

Page 3: Qt tool evaluation

Приложение

• Qt 4.7.1 + OpenGL (2.0 + 1.1)

© 2010 Align Technology, Inc. All rights reserved3

Page 4: Qt tool evaluation

Приложение

• Qt 4.7.1 + OpenGL (2.0 + 1.1)

© 2010 Align Technology, Inc. All rights reserved4

Page 5: Qt tool evaluation

Приложение

Используется яркий «букет» технологий

•Насыщенная объектами 3D сцена, тестирование которой тоже как-то хотелось бы автоматизировать (хотя бы в рамках Smoke Test)

•QML

•Custom Qt Controls

•Запуск приложения «из браузера» (ActiveX)

© 2010 Align Technology, Inc. All rights reserved5

Page 6: Qt tool evaluation

Постановка задачи

• Основной инстурмент команды : QTP с Qt работает никак

• К началу выбора инструмента автоматизации тестирования приложение разрабатывалось 2 челокека-года

• Фич-лист приложения был выполнен на 2/3 к моменту начала выбора тулы

• Рассмотреть несколько кандидатов и выбрать тот, который покажется лучше

• Потратить примерно на этот процесс месяца полтора-два

• Продемонстрировать к осению «Proof Of Concept»

© 2010 Align Technology, Inc. All rights reserved6

Page 7: Qt tool evaluation

Этапы выполнения

1. Разработка стратегии выбора инструмента

2. Планирование

3. Определение списка кандидатов

4. Evaluation matrix

5. Изучение каждого из кандидатов

6. Обсуждение результатов изучения

7. Презентация результатов на высоком уровне менеджменту

8. Покупка

9. Начало работы

© 2010 Align Technology, Inc. All rights reserved7

Page 8: Qt tool evaluation

Стратегия

Об этом много написано и сказано, но всё же...

• Строгое определение ролей :• Кто принимает финальное решение на покупку• Кто проводит процесс• Целевая аудитория (для кого выбирается тула)

• Строгое планирование :• Четкое разделение на этапы• Определение промежуточных дат

• Сбор требований и определение целей :• Вовлеките разработчиков в выработку требований к инструменту:

- фич-лист• Узнайте у того, кто будет принимать решение о покупке, на основании чего он

будет принимать решение:- «согласие» внутри рабочей группы- лучшая поддержка технологии разработки инструментом- цена

© 2010 Align Technology, Inc. All rights reserved8

Page 9: Qt tool evaluation

Стратегия

Agile! Agile! И ещё раз Agile!

Как бы строго всё не определялось все процессы должны быть

итеративным!

•Создайте рабочую группу

•Делайте промежуточные обсуждения во время этапов- Сделайте небольшие еженедельные встречи- Актвино пользуйтесь разговорами/перепиской с коллегами- Не бойтесь надоедать разработчикам с любыми вопросами и просьбами помочь

© 2010 Align Technology, Inc. All rights reserved9

Page 10: Qt tool evaluation

Список кандидатов

• Community :- sales’ы активно следят за теми, кто ищет тулы и предлагают попробовать продукты своих фирм- на многих форумах есть разделы по инструментам, где перечислена львиная доля оных

- sqaforums.org- есть возможность найти людей, которые проводили подобный процесс или проводят его параллельно с вами- LinkedIn (!)

• “Google”- можно поискать готовые обзоры- старайтесь искать отзывы о проблемах

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

© 2010 Align Technology, Inc. All rights reserved10

Page 11: Qt tool evaluation

Наш список

• Froglogic (http://www.froglogic.com/)

• TestComplete (http://www.automatedqa.com/products/testcomplete)

• Ranorex (http://www.ranorex.com/)

• Seapine QA Wizard Pro (http://www.seapine.com/qawizard.html)

• QtTestLib (http://doc.qt.nokia.com/solutions/4/qttestlib/qttestlib-manual.html)

• TestabilityDriver (Tdriver) (http://projects.forum.nokia.com/Testabilitydriver)

© 2010 Align Technology, Inc. All rights reserved11

Page 12: Qt tool evaluation

Evaluation Matrix

• Почитайте «чего-нибудь» - много где описан этот процесс

• Процесс построения основан на сборе требований и обощении опыта работы

• Определите категории для изучения:- поддержка технологий

- сделайте Object Matrix- интеграция с существующей инфраструктурой автотестирования (другие инструменты, фреймворк, виртуальные машины, запуск и логирование)- интеграция с другими инструментами (управление, исходный код и т.п.)- удобство написания кода (IDE)- языки написания кода- репозиторий объектов- поддержка и документация(!)- политики лицензирования продукта- другие заказчики и истории успешного внедрения- лояльность поставщика- ваши знания и опыт- дополнительные возможности

- OCR Japanese

© 2010 Align Technology, Inc. All rights reserved12

Page 13: Qt tool evaluation

Evaluation Matrix : пример

© 2010 Align Technology, Inc. All rights reserved13

Page 14: Qt tool evaluation

Evaluation Matrix : пример

© 2010 Align Technology, Inc. All rights reserved14

Page 15: Qt tool evaluation

Object Matrix : пример

© 2010 Align Technology, Inc. All rights reserved15

Page 16: Qt tool evaluation

Процесс выбора

© 2010 Align Technology, Inc. All rights reserved16

• Техподдержка и комьюнити – наше все!

• Ищите негатив!

• Два пути :- демо- выявление проблемных мест в поддержке вашего приложения

• Демо :+ : получаем общее впеяатление от работы с инструментом- : пропустим что-то, что скорее всего окажется критически важным

• Поиск и проход по проблемам :+ : больше инфы о работе с технологией приложения- : не дает такого полного ощущения о работе

Page 17: Qt tool evaluation

Процесс выбора

© 2010 Align Technology, Inc. All rights reserved17

• Обязательно проверьте интеграцию изучаемого инструмента в вашу существующую инфраструктуру (!!!)

• Постарайтесь узнать дальнейшие планы на разработку (!) у разработчиков

• Удаленный, распределенный запуск, логирование

• Е2Е тестирование (!)

• Попросите у тестировщиков тест-кейзы для опробации инструмента в боевых условиях (!) :

- возможно лучшим выбором будет Smoke Test

Page 18: Qt tool evaluation

«Пара фичей»

18

Page 19: Qt tool evaluation

QML+ objects on 3D scene

19

Page 20: Qt tool evaluation

QML+ objects on 3D scene

© 2010 Align Technology, Inc. All rights reserved20

Page 21: Qt tool evaluation

Custom Control

21

Page 22: Qt tool evaluation

Custom Control

22

Page 23: Qt tool evaluation

Резюме по инструментам

23

Page 24: Qt tool evaluation

Squish

24

Advantages:

•Full support of all Qt controls out of the box

•Good technical support

•Support of all new Qt versions

DisAdvantages:

•IDE

•OOP

•Changes to connect started app

•Issues with working on machine with QTP preinstalled

Price:

3 concurrent licenses for 15 users – 10 000 EUR

Page 25: Qt tool evaluation

TestComplete

25

Advantages:

•Good community

•Good IDE

•OOP

•Help System

DisAdvantages:

•Bad technical support

•Additional steps to make ICC testing possible

•Only standard controls are defined properly

Price:

13500 USD for 3 floating licenses

$4499 per floating license

Page 26: Qt tool evaluation

Ranorex

26

Advantages:

•IDE

•OOP

•Help System

DisAdvantages:

•Additional steps to make ICC testing possible

•Strange work with Qt objects

Price:

~19000-25000 USD

Page 27: Qt tool evaluation

QA Wizard Pro

27

Advantages:

•IDE

•OOP

•Help System

•Tool can work with ICC without any additional steps

DisAdvantages:

•Bad technical support

•Simplified VBScript as programming language 

Page 28: Qt tool evaluation

TDriver

28

Advantages:

•Free

DisAdvantages:

•weak support from community

• mobile application oriented

•difficult to build, setup and work

Page 29: Qt tool evaluation

QtTestLib

29

Advantages:

•Free

•Good Qt support ;)

DisAdvantages:

•too much code to write

•binary packages

•Unit-test oriented

Page 30: Qt tool evaluation

Плохотестируемое => (приемлемо)тестируемое

30

Задача : Надо научиться хоть что-то делать на 3D сцене или как-то понимать что происходит на ней

Page 31: Qt tool evaluation

Что выбрали?

Squish!

31

Page 32: Qt tool evaluation

Плохотестируемое => (приемлемо)тестируемое

32

Решение : Debug feature

Page 33: Qt tool evaluation

Большие проблемы

33

• QTP vs Suish- документация и техподдержка подсказали решение

• Squish connect to running application- техподдержка помогла победить проблему:

Page 34: Qt tool evaluation

Спасибо за внимание!

Вопросы?

34