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

Post on 14-Nov-2014

2.173 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

QA Club N.Novgorod

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

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

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

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

Основы основ

1

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

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

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

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

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

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

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

2 Вступление

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

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

Причины:

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

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

Цели:

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

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

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

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

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

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

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

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

Команда

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

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

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

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

Кого брать ?

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

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

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

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

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

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

3 Inceptions

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

Inceptions

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Основные инструменты для процесса разработки и тестирования (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/)

Основные инструменты для процесса разработки и тестирования (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 – платный

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

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

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

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

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

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

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

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

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

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

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

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

Можно использовать триплет 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. Недопустимые данные

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

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

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

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

Вопрос

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

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

Ad-Hoc

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

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

Что дает Ad hoc?

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

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

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

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

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

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

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

Вопросы

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

top related