Similar presentations:
Вводный курс на позицию Тестирование ПО (manual)
1. Вводный курс на позицию Тестирование ПО (manual)
2. Содержание:
1) Цели и программа курса2) Чем занимаются тестировщики ПО
3) Что представляет собой тестирование
4) Цель тестирования
5) Задачи тестировщика
6) Категории программных ошибок
7) Методы и виды тестирования.
8) Цикл разработки ПО
9) Гибкая методология разработки Agile
10) Цикл тестирования ПО
11) Планирование тестирования
12) Выполнение тестирования
13) Домашнее задание
3. Цели и программа курса
Цели курса:1. Главная цель данного курса – ваше обучение и дальнейшее трудоустройство.
2. Дать исчерпывающие знания по теории тестирования ПО
3. Подготовить к самостоятельной работе по профессии тестировщика
4. Подготовка к собеседованиям на позицию тестировщика
4. Программа курса
1. Познакомимся со сферой тестирования2. Познакомимся с циклом тестирования и разработки ПО
3. Узнаем про виды тестирования, а также поймем в каких целях используется каждый из них
4. Научимся писать тест-кейсы
5. Познакомимся с жизненным циклом ошибок, научимся их оформлять в баг-трекере Разберемся с целями и видами
регрессионного тестирования
6. Обозначим роль тестировщика на проекте Научимся грамотно планировать сроки тестирования Познакомимся с основными
отчетными документами
7. Научимся анализировать требования и ПО
8. Познакомимся с понятием и техниками тест-дизайна - техники белого/черного ящика Разберемся с сутью доменного
тестирования
9. Познакомимся с тестовой комбинаторикой и комбинаторными техниками
10. Узнаем методики тестирование на основе состояний и переходов
11. Познакомимся с основами автоматизации тестирования
12. Разберемся в стратегии автоматизированного тестирования Поймем процесс развертывания автоматизации
13. Рассмотрим основные виды автоматизированного тестирования Рассмотрим инструмент для автоматизации Selenium
14. Разберем структуру автоматизированных тестов
5. Чем занимаются тестировщики ПО
1.Тестировщик программного обеспечения (QA Engineer) - планирует и выполняет тестирование
приложений, отлаживает код, улучшает удобство и простоту использования программ
2.
QA произошло от английских слов quality assurance — обеспечение качества. Это часть
разработки, которая управляет качеством продукта. QA — широкое понятие, а работа над
обеспечением качества начинается задолго до написания первой строки кода будущего
приложения. В идеальном мире инженер по качеству работает над продуктом если не на
этапе генерации идей, то на этапе исследования рынка и изучения потребностей целевой
аудитории.
В широкое понятие QA входит ещё одно направление деятельности: QC, quality control или
контроль качества. Инженеры QC контролируют продукт на этапе разработки и
поддержки. Тестирование программного обеспечения — один из инструментов контроля
качества. То есть тестировщик проверяет приложение в рамках мероприятий по контролю
качества (QC), которые входят в комплекс работ по обеспечению качества (QA).
В широком смысле тестировщики участвуют в создании полезного для пользователей
программного обеспечения. Если конкретизировать, тестировщики контролируют
качество приложений, над которыми работает организация.
6. Чем занимаются тестировщики ПО QA&QC
Чем занимаются тестировщики ПОQA&QC
Рассмотрим следующее изображение:
Разница видна невооруженным взглядом. Постараюсь разъяснить ее подробнее:
Testing (тестирование) - это самый низкий уровень - прохождение тест кейсов и локализация дефектов… В принципе
на это способны люди и без специальной подготовки.
QC - следующий уровень - контроль качества продукта - анализ результатов тестирования и качества “билдов”, в
процессе разработки.
QA - решает более глобальные задачи. Анализируя работу тестировщиков и QC, в случае возникновения проблем,
вовремя находит пути ее решения и не дает ей развиться и повлиять на качество продукта.
7. Что представляет собой тестирование
Тестирование – это комплекс мероприятий, направленный на проведение проверок насоответствие производимого продукта требованиям, к нему предъявляемым (прямым и
косвенным).
но
Да, действительно, в ходе проверок выявляются ошибки/инциденты/замечания,
это лишь побочный продукт процесса. Основным является информация о
соответствии продукта требованиям, которые к нему предъявляются.
8. Цели тестирования
Цель тестирования – предоставление актуальной информации о соответствиипроизводимого продукта требованиям.
9. Задачи тестировщика
Главная задача тестировщика — проверка продукта на соответствие спецификации.Но, по факту, задачи тестировщика сводятся к:
1. Всегда знать и сообщать актуальное состояние продукта.
2. Не допускать/не пропускать очевидных blocker-ошибок.
10. Что такое ошибка?
Ошибка(Бага, bag, баг) – несоответствие производимого продукта требованиям, кнему предъявленным , прямым или косвенным.
Чтобы не блуждать в противоречиях/предположениях и т. п., – это единственно
правильный ответ.
11. Категории программных ошибок
1. Ошибки компоновки - ошибки, обнаруженные компоновщиком (редактором связей) приобъединении модулей программы
2. Ошибки компиляции - это синтаксические ошибки, фиксируемые компилятором
3. Ошибки выполнения - ошибки, обнаруженные операционной системой, аппаратными
средствами или пользователем при выполнении программы.
1. Ошибки определения данных - возникают при выполнении операций ввода-вывода: ошибки
передачи, ошибки преобразования, ошибки перезаписи, ошибки данных
2. Ошибки накопления погрешностей возникают в результате накопления погрешностей результатов
числовых вычислени
3. Логические ошибки имеют разную природу и могут следовать из ошибок, допущенных при
проектировании, например при выборе методов, разработке алгоритмов или определении
структуры данных (классов), а могут быть непосредственно внесены при кодировании модуля.
(Делятся на ошибки проектирования и на Ошибки кодирования)
12. Методы и виды тестирования
Разделяют 3 метода тестирования ПО1. Метод Черного ящика(Black box testing)
2. Метод Серого ящика (Grey box testing)
3. Метод Белого ящика (White box testing)
13. Метод Белого ящика(White box testing)
Это тестирование внутренней структуры, дизайна и кодирования программногорешения. В этом типе тестирования код виден тестеру. Основное внимание уделяется
проверке потока входных и выходных данных через приложение, улучшению дизайна и
удобства использования, усилению безопасности.
14. Метод Серого ящика(Grey box testing)
Проверка серого ящика (англ. grey box testing) – специальный метод тестированияпрограммного обеспечения с неполным знанием его внутреннего устройства. Чтобы
выполнить подобный вид тестов, не нужно иметь доступ к исходному коду ПО.
Все тесты создаются на базе простого знания алгоритмов, архитектуры и иных
высокоуровневых характеристик поведения продукта.
15. Метод Черного ящика(Black box testing)
Это метод тестирования программного обеспечения, при котором внутренняяструктура, дизайн или реализация предмета, который необходимо проверить,
неизвестен тестировщику.
16. Виды тестирования
Функциональное тестированиеНефункциональное тестирование
Модульное тестирование
Тестирование производительности
Интеграционное тестирование
Нагрузочное тестирование
Позитивное тестирование
Тестирование масштабируемости
Негативное тестирование
Объёмное тестирование
Дымовое тестирование
Стрессовое тестирование
Регрессионное тестирование
Тестирование безопасности
Некоторые элементы Нагрузочного
тестирования
17. Цикл разработки ПО
ПоддержкаЦикл разработки ПО
состоит из следующих
стадий:
Идея
Установка
на ПРОД
Разработка
требований
Тестирование
Разработка
ПО
(Программ
ирование)
18. Гибкая методология разработки Agile(Эджайл)
Процесс работы «по эджайлу» делится на итерации — короткие циклы по две-тринедели. Каждый цикл решает серию задач. По итогам каждой итерации команда
анализирует результаты и меняет приоритеты для следующего цикла. В итоге за
каждый цикл создается мини-продукт или отдельная часть, готовая к
самостоятельному запуску.
Как правило, в agile-командах менеджеры, разработчики, дизайнеры, тестировщики
и другие участники равноценны в иерархии и работают в одном пространстве. Вся
команда регулярно получает обратную связь от заинтересованных сторон —
пользователей, заказчиков, спонсоров и т. д. В команде есть специально выделенная
роль — product owner, который фокусируется на ценности продукта, для клиентов,
рынка и заказчиков, приоритизирует задачи и принимает решение, какой
функционал необходим в первую очередь.
19. Гибкая методология разработки Agile(Эджайл). Состав команды:
Agile команда разработки представляет собой небольшую коалицию людей(~10человек) объедененных одним продуктом.
1 Product Owner (Владелец продукта)- Человек ответственный за определенную
программу, функциональную область. Лидер команды. Он и приходят с идеями, и
является основным заказчиком
2. Бизнес аналитики – Переводчики с бизнес языка, на человеческий ☺
Занимаются выявлением потребностей бизнеса
3. Системные аналитики/технологи – Пишут спецификации, основанные на
постановках от бизнеса, для программистов
4. Разработчики – программисты. Пишут код.
5. Тестировщики – Эт вы ☺. Ну, а если серьезно, отвечают за тестирование ПО,
могут существовать в паре с автоматизаторами(AT QA), нагрузочниками(Load QA).
20. Цикл тестирования ПО(Software testing life cycle)
Жизненный цикл тестирования (STLC) - это последовательность действий, проводимых впроцессе тестирования, с помощью которых гарантируется качество программного
обеспечения и его соответствие требованиям. STLC включает действия по верификации и
валидации
Цикл состоит из шести основных этапов:
Анализ требований
Планирование тестирования
Создание тест-кейсов
Настройка тестового окружения
Выполнение тестирования
Завершение цикла тестирования
21. Анализ требований
Тестирование на этапе оценки требований (или анализа требований). На этом этапеотдел QA оценивает требования с точки зрения тестирования, ищет требования к
софту, которые нужно предварительно оценить. Для этого QA-команда может
обращаться к представителям заказчика. Требования могут быть «функциональными»
или «нефункциональными», то есть касаться или не касаться функциональной
составляющей софта. Также на этом этапе проводится оценка возможности
применения автоматизированного тестирования.
22. Планирование тестирования
На этапе планирования руководитель команды QA определяет стратегиютестирования и оценивает трудозатраты. Также оцениваются ресурсы, тестовое
окружение, возможные ограничения и график тестирования. На этом же этапе
готовится и финализируется план тестирования.
Действия на этапе планирования
Подготовка стратегии (или плана тестирования)
Выбор инструментов тестирования
Оценка трудозатрат
Планирование ресурсов, определение ролей и ответственности
Дополнительное обучение команды (если нужно)
23. Создание тест-кейсов
На этом этапе происходит подготовка тестовых данных и создаются тест-кейсы.Действия
Создание тест-кейсов (и автотестов, если будет применяться автоматизация)
Подготовка исходных данных для тестирования
24. Настройка тестового окружения
Это настройка харда и софта, в которых будет осуществляться процесстестирования. Это один из критически важных аспектов процесса, он может
проходить параллельно этапу создания тест-кейсов. QA-команда может и не
включаться в этот процесс, если тестовое окружение ей обеспечит команда
разработки. QA-команда должна будет проверить работоспособность окружения
(хотя бы smoke-тестом).
25. Выполнение тестирования
Выполнение тестирования начинается как только мы получим объект тестирования (билд) и он будетсоответствовать критериям начала тестирования (например, билд собрался, юнит тесты прошли и этот билд был
развёрнут (задеплоен) на тестовое окружение).
К началу этой фазы у нас обязательно должно уже быть готово и настроено:
Тестовое окружение (Test environment);
Инструменты управления тестированием (Test management system);
Созданы тест раны (test run) — наборы тестов, которые назначены на определённых людей для прохождения;
Инструменты управления задачами и дефектами (Task and bug tracking systems).
Билд должен быть собран
Весь запланированный новый функционал должен быть реализован
Во время выполнения тестирования мы проходим наборы тестов в соответствии с нашими планами.
На этом этапе непосредственно выполняются все виды тестирования на всех уровнях.
26. Завершение цикла тестирования
На этапе завершения тестирования создается отчет о результатах тестирования. QAкоманда обсуждает и анализирует баги, делает выводы из возникших проблем, чтобыизбежать подобных проблем в будущем.
27. Домашнее задание на неделю
Выучить виды тестированияВыучить методы тестирования
Твёрдо знать чем QA инженер отличается от инженера по тестированию!
software