Similar presentations:
Обеспечение качества. Семинар 9
1.
Семинар 92.
Ваши вопросы3.
План занятияЧто такое тестирование?
Разница между QA и тестированием?
Как нарисовать тест план?
Как открыть тест кейсы?
4.
ОпределенияТестирование программного обеспечения (Software Testing)
проверка соответствия реальных и ожидаемых результатов поведения
программы, проводимая на конечном наборе тестов.
Разработка
Тестирование
Запуск
5.
ОпределенияЦель тестирования
проверка соответствия ПО предъявляемым требованиям, обеспечение
уверенности в качестве ПО, поиск очевидных ошибок в программном
обеспечении, которые должны быть выявлены до того, как их обнаружат
пользователи программы
6.
Для чего проводится тестирование ПО?● проверка соответствия требованиям;
● обнаружение проблем на более ранних этапах разработки и
предотвращения повышения стоимости продукта;
● обнаружение вариантов использования, которые не были
предусмотрены при разработке;
взгляд на продукт со стороны пользователя.
7.
Для чего проводится тестирование ПО?● проверка соответствия требованиям;
● обнаружение проблем на более ранних этапах разработки и
предотвращения повышения стоимости продукта;
● обнаружение вариантов использования, которые не были
предусмотрены при разработке;
взгляд на продукт со стороны пользователя.
8.
Quality Assurance vs тестированиеконтроль качества на всех циклах
производства, начиная с этапа планирования
ответственность за конечное качество
продукта
создание и выполнение тест-кейсов
9.
Quality Assurance vs Quality Control10.
Верификация и валидацияВерификация (verification) — это
процесс оценки системы, чтобы
понять, удовлетворяют ли
результаты текущего этапа
разработки условиям, которые
были сформулированы в его
начале.
Валидация (validation) — это
определение соответствия
разрабатываемого ПО ожиданиям и
потребностям пользователя, его
требованиям к системе.
11.
Этапы тестирования продукта1. Работа с требованиями. Знакомство с требованиями заказчика.
Обсуждение, что должен из себя представлять итоговый продукт
2. Разработка стратегии тестирования. Оценка сроков тестирования,
выявление среды тестирования, объединение всей информации,
полученной при работе с требованиями.
3. Создание тестовой документации. Написание сценариев, которые
позволят проверить функционал.
4. Тестирование прототипа. Тестирование основного функционала
продукта, корректировка целей, добавление фичей.
5. Основное тестирование. Выполнение общей проверки продукта.
6. Стабилизация. На данном этапе происходит работа над устранением
багов.
7. Эксплуатация. Проводится регресс-тестирование, устранение
ошибок, которые нашел конечный пользователь.
12.
Этап 1. Работа с требованиямиВыявление противоречия в
требованиях;
Общение с заказчиком
Помощь с определением потенциальных
дефектов в функционале.
13.
ТребованияТребования — это спецификация (описание) того, что должно быть
реализовано.
Функциональные требования:
Нефункциональные требования:
Основные функции (возможности),
качественные показатели, которые
которыми должен обладать продукт,
нужны чтобы выполнить условия
что закрепляется соглашением.
соглашения с пользователем.
14.
Этап 2. Разработка стратегии тестирования ипланирование процедур контроля качества
Оценка сроков тестирования
Разработка стратегии тестирования
Определение среды тестирования
План тестирования продукта
15.
Тестовая средаТестовая среда – это специально подготовленное окружение, в
котором проводятся испытания программного продукта. Она
создается с целью максимально приблизить условия работы
программы к реальным, одновременно контролируя и изолируя ее
от внешних воздействий.
16.
Тестовая средаQA-engineer
Users
Production
Test sandbox
17.
Этап 3. Создание тестовой документации● Создание тестовых сценариев: что и как будет проверяться
при различных видах тестированиях;
● Создание отчетности: результаты тестирования, списка багов
и их серьезность;
18.
Этап 4. Тестирование прототипа● поиск ошибок в логике основного функционала
● заказчик смотрит прототип и вносит правки в требования
19.
Этап 5. Основное тестированиеформируются репорты о найденных дефектах;
выполняется набор тестовых сценариев;
создается тестовая среда;
выполняется полноценное тестирование, виды которого были
задокументированы на этапе создания тестовой
документации
20.
Этап 6. Стабилизация● прекращаем добавлять новые фичи
● только исправление багов
21.
Этап 7. Эксплуатация и поддержка● релиз продукта
● поддержка после релиза
22.
Цикл тестирования новой фичи впроекте
1. Анализ требований
2. Написание тест плана
3. Тестирование по тест плану, составление баг репортов
4. Исправление багов
5. Тестирование на test окружении
6. Тестирование на stage окружении
7. Релиз
23.
Тест-планТест план (Test Plan) — это документ, который описывает весь объем работ
по тестированию, начиная с описания объекта, стратегии, расписания,
критериев начала и окончания тестирования, до необходимого в процессе
работы оборудования, специальных знаний, а также оценки рисков.
24.
Тест-кейсыТестовый сценарий (test case) — это артефакт, описывающий совокупность
шагов, конкретных условий и параметров, необходимых для проверки
реализации тестируемой функции или её части.
25.
Что есть в тест кейсеПредусловия (PreConditions) — Список условий, выполнение
которых говорит о том, что система находится в пригодном для
проведения основного теста состояния.
Шаги (Steps) — список действий, которые необходимо совершить,
для проверки части системы
Ожидаемый результат (Expected result) — что по факту должны
получить.
26.
ЧеклистЧек-лист (check list) — это документ, который описывает что
должно быть протестировано. Чек-лист может быть абсолютно
разного уровня детализации.
Чаще всего чек-лист содержит только действия, без ожидаемого
результата. Чек-лист менее формализован.
27.
Баг репортBug report (отчет об ошибке) - документ, содержащий информацию о
выявленном недостатке, ошибке, недочете.
В Bug Report входят:
- Описание ошибки
- Шаги для воспроизведения
- Ожидаемый результат
- Фактический результат
- Дополнительные артефакты *
28.
ПримерВспомним нашу программу для работы с резюме
29.
Пример. Формулируем требованияКакие требования у нас есть к системе? Начнем с функциональных
● По GET запросу на /index.html должно отдаваться резюме в котором
есть поля Имя, Должность, Место работы, Дата создания. Дата создания
не должна меняться при повторном запросе
● По POST запросу на /resume/generate html страничка должна обновлять
Дату создания и возвращать новую html страничку, а также эту html
страничку на все последующие GET запросы /index.html
● При запуске приложение должно разворачивать http сервер на 80
порту
30.
Пример. Формулируем требованияТеперь
нефункциональные
● Приложение должно устанавливаться и запускаться по инструкции из
README
● Приложение должно гарантировать хранение конфиденциальной
информации
31.
Создаем тест-кейсы1. Запуск приложения
Входные данные
В репозитории есть файл README.md с инструкцией по установке и
инструкцией по запуску
Шаги
Выполнить установку по инструкции из README
Выполнять запуск по инструкции из README
Сделать GET запрос curl http://localhost/index.html
Ожидаемый результат
В результате должна отдаться актуальная страничка с полями: Имя,
Должность, Место работы, Дата создания
32.
2. При GET запросах дата создания не меняетсяВходные данные
Приложение запущено на localhost:80
Шаги
Сделать GET запрос curl http://localhost/index.html
Сделать второй раз GET запрос curl http://localhost/index.html
Ожидаемый результат
Оба запроса вернули код 200 и html страничку
Оба GET запроса вернуть одинаковые html странички
Обе страницы корретно отображаются в браузере
https://http.cat/status/200
33.
3. Обновление даты созданияВходные данные
Приложение запущено на localhost:80
Шаги
Сделать GET запрос curl http://localhost/index.html
Сделать POST запрос curl -X POST http://localhost/resume/render
Ожидаемый результат
Оба запроса вернули код 200 и html страничку
Поле "Дата создания" у страницы 2 больше чем у страницы 1
Обе страницы корректно отображаются в браузере
34.
4. Нельзя получить доступ к файлам вне папки publicВходные данные
Приложение запущено на localhost:80
Шаги
Сделать GET запрос curl http://localhost/.env
Сделать GET запрос curl http://localhost/../.env
Ожидаемый результат
Все запросы вернули 404
https://http.cat/status/404
35.
5. Нельзя сделать GET запрос на http://localhost/resume/renderВходные данные
Приложение запущено на localhost:80
Шаги
Сделать GET запрос curl http://localhost/index.html
Сделать GET запрос curl http://localhost/resume/render
Сделать GET запрос curl http://localhost/index.html
Ожидаемый результат
Первый и третий запросы вернули одинаковые странички
Второй запрос вернул 405 ошибку
https://http.cat/status/405
36.
Задание 8 “Тестирование приложения”● появится 11 марта 21:00 в SmartLMS
● дедлайн 16 марта в 00, грузить
отчетом в SmartLMS
● внимательно смотрите на критерии
оценивания, на 4+ вам надо найти
все критичные ошибки программы
Не забудьте про опрос после
семинара
software