организация и проведение тестирования

37
QA Club N.Novgorod Организация и внедрение процесса тестирования Тестирование с нуля

Upload: igor-pozumentov

Post on 14-Nov-2014

2.173 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: организация и проведение тестирования

QA Club N.Novgorod

Организация и внедрение процесса тестирования

Тестирование с нуля

Page 2: организация и проведение тестирования

«…Мажьтесь солнцезащитными кремами. Выгода их использования была доказана учеными, в то время как остальные мои рекомендации не имеют более надежной основы, чем собственным путаный опыт… »

Page 3: организация и проведение тестирования

Что такое тестирование?

Основы основ

1

Page 4: организация и проведение тестирования

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

Тестирование программного обеспечения (ПО) — процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.

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

Существующие методы разработки и тестирования программного обеспечения не могут однозначно и полностью выявить все дефекты !

Page 5: организация и проведение тестирования

Виды тестирования

Динамическое тестирование — анализ программного обеспечения, выполняемый при помощи выполнения программ на реальном или виртуальном процессоре. Утилиты динамического анализа могут требовать загрузки специальных библиотек, перекомпиляцию программного кода. Для большей эффективности динамического анализа требуется подача тестируемой программе достаточного количества входных данных, чтобы получить более полное покрытие кода.

Статическое тестирование — анализ программного обеспечения, производимый без реального выполнения исследуемых программ (К статическому тестированию относится инспекция кода).

Page 6: организация и проведение тестирования

2 Вступление

Цели фирмы, причины

Page 7: организация и проведение тестирования

Цели фирмы и причины для создания команды тестирования

Причины:

1. Команда разработчиков и менеджеров устали от затянувшихся несдач проекта

2. Нужно найти того, кого будем винить в неудачах3. У всех есть и нам можно

Цели:

1. Попытаться улучшить качество выпускаемых продуктов2. Выделили лишние ресурсы, нужно их освоить

Page 8: организация и проведение тестирования

Думаем немного о руководителе

•Команда с руководителем•Команда без руководителя

Команда без руководителя может существовать только при хорошем менеджменте фирмы

Page 9: организация и проведение тестирования

Выбор руководителя команды тестирования(и тех. поддержки)

Что происходит в головах менеджеров:

1. «Свой человек»2. Наймем со стороны самого лучшего3. Возьмем старшего инженера и постепенно обучим

Пункт №1 чаще всего используется в стартапах на ранних стадиях развития.Пункты №2 и №3 используются в основном средними и крупными фирмами

Page 10: организация и проведение тестирования

Команда

Page 11: организация и проведение тестирования

Как определить количество участников

• Ресурсы фирмы а) Материальные

• Масштабность проекта а) Количество продуктов

в) Сложность продуктовб) Количество разработчиков

Page 12: организация и проведение тестирования

Кого брать ?

• Профессионалов?• Юниоров?• Простых инженеров?

Page 13: организация и проведение тестирования

Характер команды тестирования

В команде всегда должен быть человек , который:1. Усидчивый2. Спокойный3. Ответственный

Page 14: организация и проведение тестирования

Характер команды тестирования

Л: — У меня есть армия. Т: — А у нас Халк! Локи и Тони в Башне Старка /Фильм «Мстители»/

В команде всегда должен быть человек , который в будущем станет «неформальным центром команды».

Page 15: организация и проведение тестирования

3 Inceptions

«Сделайте мне хорошо»

Page 16: организация и проведение тестирования

Inceptions

• В существующий и долгоиграющий проект• В проект, где все только-только начинается

(Практически идеальный случай)

Основные риски – это человеческие взаимоотношения

Page 17: организация и проведение тестирования

Внедряемся в существующую команду

Page 18: организация и проведение тестирования

Внедряемся в существующую команду

• Все сломать, построить заново а) Основной риск то, что не построите и просто приведете к большему хаусуб) Может получится басня «Лебедь, щука и рак» в) Можете не оптимально выбрать процессг) Главный плюс: иногда все проходит красиво и безболезненно и очень быстро (1-2 месяца)

• Постепенное внедрение, постепенная переработка процесса а) Главный риск- это то, что процесс может затянуться на долгие

человекочасыб) Главный плюс: не сломаете то, что годами выстраивалось , Это фактически не приведет к срыву сроков

Page 19: организация и проведение тестирования

Внедряемся в существующую команду

• Случай «Обрушение»;• Случай «Deadlock (Взаимная блокировка) »; • Случаи «Растаскивания команды тестирования»;• Случаи «Непонимания с стороны менеджмента».

Page 20: организация и проведение тестирования

Работаем в проекте где все только начинается

Page 21: организация и проведение тестирования

• Главный плюс- рисков меньше

Page 22: организация и проведение тестирования

4 Инструменты

Все для комфортной работы

Page 23: организация и проведение тестирования

Основные инструменты для процесса разработки и тестирования (1/2)

Bugtracker:1. Bugzilla (http://www.bugzilla.org/download/)2. Redmine (http://www.redmine.org/projects/redmine/wiki/Download)3. Mantis (http://www.mantisbt.org/download.php)4. QC5. JiraTest Management System:1. Testopia (http://www.mozilla.org/projects/testopia/)2. Testlink (http://sourceforge.net/projects/testlink/files/)3. Plugin for Redmine 4. QATraq (http://sourceforge.net/projects/qatraq/)5. TrackTest (http://trac-hacks.org/wiki/TestCaseManagementPlugin)6. xStudio (http://www.xqual.com/)7. QC

SQL Injections:1. NetSparker (http://www.mavitunasecurity.com/netsparker/)

Page 24: организация и проведение тестирования

Основные инструменты для процесса разработки и тестирования (1/2)

Инструменты автоматического тестирования:1. Squid2. TestComplete3. QTP4. AutoIt5. Selenium

Кросс браузерность:1. Web Service http://crossbrowsertesting.com/ - платный2. Web Service http://www.browsershots.org/ - полностью бесплатен3. Web Service http://litmus.com/ - платный4. Использовать portable версии браузеров (есть свои нюансы)5. Использовать виртуальные машины

а) Internet Explorer 6-9 (http://www.microsoft.com/download/en/details.aspx?id=11575)б) Создать недостающие свои машины

6. Тестирование на мобильных устройствах (Android, iOS)

Инструменты для автоматического нагрузочного тестирования:1. Grinder - бесплатен2. jMeter – бесплатен3. TestComplete – платный

Page 25: организация и проведение тестирования

С чего начинаетсятестирование?5

Page 26: организация и проведение тестирования

Статистика использования браузеров

Весь Мир Россия

Page 27: организация и проведение тестирования

Статистика использования различных OS

Page 28: организация и проведение тестирования

С чего начинается тестирование

Этапы:1. Анализ требований на продукт2. Тест Дизайн3. Выполнение тестов

P.S: Обычно анализ требований и тест дизайн объединяют в один этап

Тест Дизайн – это этап процесса тестирования ПО, который включает в себя анализ требований, создание/проектирование тестовых сценариев и определение необходимых типов тестов, для достижения заданного уровня тестового покрытия приложения или систем, находящихся под тестом.

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

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

Page 29: организация и проведение тестирования

Что должен включать в себя тест ?

Как легко и быстро запомнить, что должен включать в себя тест:

Можно использовать триплет ISO(не путать с институтом):I – is Input data or action (Входные данные или действия)S – is State of system at which data will be input (состояние системы, которая получает входные данные или действия)O – is the expected Output (Ожидаемый Выход, выходные данные или выходное состояние системы)

Последовательность действий при создании и выполнении тестов должно быть:

1. Допустимые данные2. Граничные данные3. Недопустимые данные

Page 30: организация и проведение тестирования

Тестовый набор

Тестовый набор – набор тестов реализующий бизнес-задачу, выполняемую тестируемой системой.

Замечание:Обычно под бизнес-задачей понимается объем функционала, описываемый одним функциональным требованием(так просто доносить до тестировщика и заказчика. Покрыли мы их или нет).

Тестовый набор как правило включает в себя тестовые сценарии и тестовые данные или правила их генерации.

Page 31: организация и проведение тестирования

Вопрос

Это все хорошо и правильно, но нужно ли это ?

Page 32: организация и проведение тестирования

Хаос- залог успеха

Page 33: организация и проведение тестирования

Ad-Hoc

Ad hoc (лат. Ad hoc — «по месту») является латинской фразой, означающей «к этому, для данного случая, для этой цели». Как правило, используется для обозначения решения, предназначенного для конкретной проблемы или задачи и не предназначенного для какого-либо обобщения или адаптации для других целей.

Ad hoc тестирование –это тестирование в полнейшем хаосе, без спецификаций и проектных планов, т.е. тестирование без формализации самого тестирования

Page 34: организация и проведение тестирования

Что дает Ad hoc?

1.Быстрое знакомство с системой2.Специфические дефекты3.Массу вопросов и предложений4.Работу менеджера и программистам на

начальном этапе5.Экономию времени

Page 35: организация и проведение тестирования

Что можно использовать вместо тестов с шагами?

Контрольный список (перечень, таблица, карта; англ. checklist) — список задач/тестов, структурированных особым образом с целью достижения поставленных задач.

Плюсы:1. Контрольные таблицы упрощают подачу информации2. Контрольную таблицу составить гораздо проще3. Контрольную таблицу можно вести в простом Exel файле4. Идеально подходит для некрупных и стартап проектов

Минусы:1. Для проведения тестов нужен опытный инженер2. Не всегда понятно, что и где необходимо проверить

Page 36: организация и проведение тестирования
Page 37: организация и проведение тестирования

Не стесняемся задавать любые вопросы ;)

Вопросы

Спасибо, что не спите :)