Главная страница

Лекция1_тестирование_-жизненный-цикл-ПО_-методологии_-этапы-тест. Урок 1 тестирование, жизненный цикл по, методологии, этапы тестирования Дрюпина Екатерина Ведущий тестировщик


Скачать 2.65 Mb.
НазваниеУрок 1 тестирование, жизненный цикл по, методологии, этапы тестирования Дрюпина Екатерина Ведущий тестировщик
Дата27.09.2022
Размер2.65 Mb.
Формат файлаpdf
Имя файлаЛекция1_тестирование_-жизненный-цикл-ПО_-методологии_-этапы-тест.pdf
ТипУрок
#700899
www.aplana.ru
Урок 1: тестирование, жизненный цикл ПО,
методологии, этапы тестирования
Дрюпина Екатерина
Ведущий тестировщик

3 2
Содержание урока
• Что такое тестирование?
• Кто такой тестировщик?
• Жизненный цикл ПО.
• Методологии разработки.
• Этапы тестирования.
• Виды тестирования.
• Примеры и практика.

3 3
Открыть книжку и начать читать:
Роман Савин «Тестирование dotcom или Пособие по жестокому обращению с багами в интернет-стартапах»
www.aplana.ru
1. Тестирование

3 5
Здесь было тестирование?
Тестирование – это проверка соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранном определенным образом.
[EEE Guide to Software Engineering Body of Knowledge, SWEBOK,
2004]

3 6
Кто такой тестировщик?

3 7
Зачем тестировать?

3 8
Что такое качество?
Качество программного обеспечения – это:

степень, в которой ПО обладает требуемой комбинацией свойств;

совокупность характеристик ПО, относящихся к его способности удовлетворять установленные и предполагаемые потребности.
www.aplana.ru
2. Жизненный цикл ПО, методологии разработки

3 10
Есть ли жизнь у ПО?

3 11
Жизненный цикл ПО
Идея
Требования
Разработка
Тестирование
Эксплуатация
Поддержка

3
12
Waterfall model
Анализ
Проектирование
Реализация
Внедрение
Сопровождение
Анализ
Проектирование
Реализация
Внедрение
Сопровождение

3 13
V-model
Бизнес-модель
Бизнес-
требования
Функциональные
требования
Архитектура
системы
Техническое
задание
Кодирование
Модульное
тестирование
Интеграционное
тестирование
Системное
тестирование
Приемочное
тестирование
Операционное
тестирование

3 14
Spiral model

3
15
Agile model
Планирование
Проектирование
Разработка
Тестирование
Обратная
связь
Запуск
Планирование
Проектирование
Разработка
Тестирование
Обратная
связь
Запуск
Планирование
Проектирование
Разработка
Тестирование
Обратная
связь
Запуск
Спринт 1
Спринт 2
Спринт 3

3 16
Agile model
«
Бэклог»
проекта
«
Бэклог»
спринта
Результат
Спринт
(до 4-х недель)
Итерация
(сутки)

3 17
Agile model
www.aplana.ru
3. Этапы тестирования

3 19
Этапы тестирования
Анализ
требований
•Тестирование требований
•Уточнение требований
Планирование
тестирования
•Определение цели тестирования
•Составление тест-плана
•Определение трудоемкости тестирования
•Составление расписания тестирования
Разработка
тестов
•Составление чек-листов, тест-кейсов
•Создание тестовых данных
Выполнение
тестов
•Выполнение тестов
•Заведение дефектов
Оценка
результатов
тестирования
•Составление отчета по тестированию
•Оповещение заинтересованных лиц о результатах тестирования
www.aplana.ru
4
. Виды тестирования

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

3 22
Функциональное тестирование
Функциональное
тестирование
Функциональное
Тестирование
безопасности
Тестирование
взаимодействия
Функциональное — тестирование, направленное на проверку корректности работы функциональности приложения.
Тестирование безопасности
— тестирование, направленное на проверку способности приложения противостоять злонамеренным попыткам получения доступа к данным или функциям, права на доступ к которым отсутствует.
Тестирование взаимодействия – проверка взаимодействия ПО с различными внешними системами.

3 23
Нефункциональное тестирование
Нефункциональное тестирование
Нагрузочное
Стресс
Юзабилити
Тестирование
стабильности
и надежности
Объемное
Инсталляционное
Конфигурационное
Тестирование на
отказ и
восстановление
Нагрузочное (тестирование производительности) - исследование способности приложения сохранять заданные показатели качества при нагрузке в допустимых пределах и некотором превышении этих пределов.
Стресс-тестирование - исследование поведения приложения при нештатных изменениях нагрузки,
значительно превышающих расчётный уровень, или в ситуациях недоступности значительной части необходимых приложению ресурсов.
Тестирование удобства пользования - тестирование, направленное на установление степени удобства использования, обучаемости, понятности и привлекательности для пользователей разрабатываемого продукта в контексте заданных условий.
Тестирование стабильности или надежности - проверка работоспособности приложения при длительном
(многочасовом) тестировании со средним уровнем нагрузки. Время выполнения операций может играть в данном виде тестирования второстепенную роль. При этом на первое место выходит отсутствие утечек памяти, перезапусков серверов под нагрузкой и другие аспекты влияющие именно на стабильность работы.

3 24
Нефункциональное тестирование
Нефункциональное тестирование
Нагрузочное
Стресс
Юзабилити
Тестирование
стабильности
и надежности
Объемное
Инсталляционное
Конфигурационное
Тестирование на
отказ и
восстановление
Объёмное - исследование производительности при обработке различных (как правило, больших) объёмов данных.
Инсталляционное - тестирование, направленное на выявление дефектов, влияющих на протекание стадии инсталляции приложения (например, стадии установки, обновления, удаления ПО).
Конфигурационное - вид тестирования, направленный на проверку работы программного обеспечения при различных конфигурациях системы (заявленных платформах, поддерживаемых драйверах, при различных конфигурациях компьютеров и т.д.).
Тестирование на отказ и восстановление – проверка с точки зрения способности противостоять и успешно восстанавливаться после возможных сбоев, возникших в связи с ошибками ПО, отказами оборудования или проблемами связи (очень важно для систем, работающих по принципу “24x7”).

3 25
Тестирование, связанное с изменениями
Связанное с
изменениями
Дымовое
Регрессионное
Тестирование
сборки
Санитарное
Дымовое – тестирование на минимальном наборе тестов, с целью убедиться, что дальнейшее тестирование целесообразно.
Регрессионное — тестирование, направленное на проверку того факта, что в ранее работоспособной функциональности не появились ошибки, вызванные изменениями в приложении или среде его функционирования.
Тестирование сборки – тестирование, направленное на определение соответствия выпущенной версии критериям качества для начала тестирования (аналог дымового, но немного шире).
Санитарное – узконаправленное тестирование, достаточное для доказательства того, что конкретная функция работает согласно заявленным в спецификации требованиям.

3 26
Уровни тестирования
Уровни
тестирования
Модульное
Системное
Интеграционное
Интеграционное (модульно- интеграционное, системно- интеграционное) – тестирование связи между модулями, тестирование связи между системами.
Модульное – тестирование отдельного модуля системы.
Системное – тестирование системы в целом.

3 27
Доступность кода
По доступу к
коду
Метод белого
ящика
Метод серого
ящика
Метод черного
ящика
Метод черного ящика - доступа к внутренностям приложения нет, нет доступа к коду.
Метод белого ящика (стеклянного) – есть доступ к коду.
Метод серого ящика – есть частичный доступ к коду (или комбинация методов черного и белого ящиков).

3 28
Доступность кода

3 29
Какое еще бывает тестирование?
По запуску
кода
Динамическое
Статическое
Динамическое – тестирование, проводимое во время выполнения ПО (тестирование с запуском кода на исполнение).
Статическое – тестирование артефактов разработки ПО (требования, дизайн, код), проводимое без исполнения этих артефактов (без запуска кода приложения).

3 30
Какое еще бывает тестирование?
По степени
автоматизации
Ручное
Автоматизированное
Ручное – тестирование выполняет человек вручную.
Автоматизированное – тестирование выполняет инструмент.

3 31
Какое еще бывает тестирование?
По принципам
работы
Позитивное
Негативное
При позитивном проверяются функции ПО строго по требованиям, по инструкциям,
только с допустимыми действиями и корректными данными.
Негативное – проверка поведения ПО при вводе некорректных данных, то что не предусмотрено требованиями или типом данных,
используются данные,
потенциально при-водящие к ошибкам.
www.aplana.ru
5. Примеры и практика

3 33
Протестируйте карандаш

3 34

3 35
Сокращения
• ПО
• АС
• ФП
• НФ
• РТ
• СТ
• ИФТ
• ПСИ
• ПМИ
• ПРОМ
• ФТ
• ТЗ
• НТ
• Е2Е
• ЦА
• ТБ
• ОД
• БД
• ЦОД
• ФЛ
• ЮЛ
• ИП
• КСШ
• ТФС
• ТКС
• МС
• ДУЛ
• RQ
• RS

3 36

3 37
Практическое задание
Требование Предварительные поисковые действия
Предусловие
Получен запрос от вызывающей системы.
Описание основного сценария
1.
СИСТЕМА1 направляет запрос в СИСТЕМА2 на получение данных продукта посредством сервиса <
SearchProduct
>. Запрос содержит значения следующих параметров:

номер счёта.
2.
СИСТЕМА2 возвращает в СИСТЕМА1 идентификатор и значения параметров продукта.
3.
СИСТЕМА1 сохраняет полученные данные в БД.
4.
СИСТЕМА1 направляет запрос в СИСТЕМА3 на получение данных клиента посредством сервиса
.
5.
СИСТЕМА3 возвращает в СИСТЕМА1 данные клиента.
6.
СИСТЕМА1 проверяет, что в отношении владельца вклада не наступила смерть (код статуса
КЛИЕНТА не равен 4).
7.
СИСТЕМА1 сохраняет полученные данные в БД.
Описание альтернативного сценария
1.
От модуля, к которому был направлен запрос, получен ответ содержащий ошибку. СИСТЕМА1 прерывает процесс с уведомлением вызывающей системы.
2.
Получена информация, что в отношении владельца вклада наступила смерть. СИСТЕМА1 прерывает процесс с уведомлением вызывающей системы.
3.
Получена информация, что запрашиваемый счет не найден. СИСТЕМА1 прерывает процесс с уведомлением вызывающей системы.
Постусловие
Получены данные:

данные по клиенту;

данные по продукту клиента.

3 38
Практическое задание

Проверка
Ожидаемый результат
1п
Отправка запроса из С1 в С2 через сервис SearchProduct с существующим номером счета
Запрос отправлен из С1 в С2 2п
Получение ответа из С2 после отправки запроса из С1 через сервис SearchProduct с существующим номером счета
Ответ получен из С2 в С1 с идентификатором и значением параметров продукта
3п
Отправка запроса из С2 в С3 через сервис SearchClient с данными «живого» клиента
Запрос отправлен из С1 в С3 4п
Получение ответа из С3 после отправки запроса из С1 через сервис SearchClient с данными «живого» клиента
Ответ получен из С3 в С1 с данными клиента
5п
Проверка С1 в отношении полученных данных о живом клиенте из
С3, сохранение данных в БД
С1 проведена проверка в отношении клиента
– клиент не умер, полученные данные сохранены в БД

…..
….
9п
Проверка С1 в отношении полученных данных об умершем клиенте из С3, уведомление в ВС об остановке процесса
С1 проведена проверка в отношении клиента
– статус клиента=4, клиент умер, процесс прерван, уведомление в ВС передано

3 39
Домашнее задание
• Выберите одно приложение и напишите 5 проверок (тестов) для разных видов тестирования.
• Возьмите 2-3 модели разработки ПО и проведите сравнительный анализ этих моделей (укажите 1-2 отличительных признака).

Спасибо за внимание!
Ваши вопросы?


написать администратору сайта