Тестирование ПО. Уровень 1. Тестировщик программного обеспечения

Содержание

Слайд 2

Модуль 1

Введение в тестирование программного обеспечения

Модуль 1 Введение в тестирование программного обеспечения

Слайд 3

Содержание

Зачем нужно тестировать программы?
Понятие качество ПО. Стандарты качества ПО. 
Атрибуты и характеристики качества

Содержание Зачем нужно тестировать программы? Понятие качество ПО. Стандарты качества ПО. Атрибуты
ПО.
Основные определения тестирования.
Жизненный цикл ПО.
Методологии разработки ПО.
Жизненный цикл тестирования ПО.
Принципы тестирования.
Команда тестирования.

Слайд 4

Зачем нужно тестировать?

Программное обеспечение, содержащее ошибки и недоработки ведёт
Финансовым затратам
Потере времени 
Ущербу деловой

Зачем нужно тестировать? Программное обеспечение, содержащее ошибки и недоработки ведёт Финансовым затратам
репутации
Травмам или смерти

Слайд 5

Стандарты качества ПО

Стандарт – набор правил и требований, предназначенных для обеспечения правильности

Стандарты качества ПО Стандарт – набор правил и требований, предназначенных для обеспечения
действий всех организаций, которые выполняют описанные в стандартах процессы.

Слайд 6

Стандарты качества ПО

IEEE 610 Computer dictionary, compilation of computer glossaries 
IEEE 829 Standard

Стандарты качества ПО IEEE 610 Computer dictionary, compilation of computer glossaries IEEE
for Software Test Documentation – описывает виды документов, служащих для подготовки тестов;

Слайд 7

Стандарты качества ПО
ISO/IEC 9126-1 Программирование. Качество продукта. Модель качества
ISO/IEC 9126-2 Внешние метрики

Стандарты качества ПО ISO/IEC 9126-1 Программирование. Качество продукта. Модель качества ISO/IEC 9126-2
качества
ISO/IEC 9126-3 Внутренние метрики качества
ISO/IEC 9126-4 Метрики качества в использовании

Слайд 8

Стандарты качества ПО

Требования и оценка качества систем и программного обеспечения (SQuaRE).
ISO/IEC 25010:2011

Стандарты качества ПО Требования и оценка качества систем и программного обеспечения (SQuaRE).
Модели качества систем и программного обеспечения
ISO/IEC 25021:2012 Элементы показателя качества
ISO/IEC 25020:2019 Основные принципы измерения характеристик качества

Слайд 9

Стандарты качества ПО

Требования и оценка качества систем и программного обеспечения (SQuaRE).
ISO/IEC 25030:2019

Стандарты качества ПО Требования и оценка качества систем и программного обеспечения (SQuaRE).
Структура требований к качеству
ISO/IEC 25023:2016 Определение качества систем и программного продукта
ISO/IEC 25022:2016 Определение качества при использовании

Слайд 10

Стандарты качества ПО

Тестирование программного обеспечения.
Часть 1. Понятия и определения (ISO/IEC/IEEE 29119-1:2013 -

Стандарты качества ПО Тестирование программного обеспечения. Часть 1. Понятия и определения (ISO/IEC/IEEE
ГОСТ Р 56920-2016)
Часть 2. Процессы тестирования (ISO/IEC/IEEE 29119-2:2013 - ГОСТ Р 56921-2016)
Часть 3. Документация для тестирования (ISO/IEC/IEEE 29119-3:2013 - ГОСТ Р 56922-2016)
Часть 4. Методы тестирования (ISO/IEC/IEEE 29119-4:2015
Часть 5.Тестирование на основе ключевого слова (ISO/IEC/IEEE 29119-5:2016)

Слайд 11

Понятие качества ПО

Качество системы — это степень удовлетворения системой заявленных и подразумеваемых

Понятие качества ПО Качество системы — это степень удовлетворения системой заявленных и
потребностей различных заинтересованных сторон, которая позволяет, таким образом, оценить достоинства. (ISO/IEC 25010:2011)
Примеры заинтересованных лиц: разработчики, приобретатели, пользователи или клиенты 

Слайд 12

Типы пользователей

Основной пользователь — лицо, взаимодействующее с системой для достижения основных целей.

Типы пользователей Основной пользователь — лицо, взаимодействующее с системой для достижения основных

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

Слайд 13

Модель качества продукта

ISO/IEC 25010:2015

Модель качества продукта ISO/IEC 25010:2015

Слайд 14

Применение модели качества

Для определения требований, выработки показателей и выполнения оценки качества
Для

Применение модели качества Для определения требований, выработки показателей и выполнения оценки качества
использования в качестве набора при спецификации или оценке качества ПО

Слайд 15

Атрибуты и характеристики качества ПО

Функциональная пригодность
Функциональная полнота
Функциональная корректность
Функциональная целесообразность
Уровень производительности 
Временные характеристики
Использование ресурсов
Потенциальные

Атрибуты и характеристики качества ПО Функциональная пригодность Функциональная полнота Функциональная корректность Функциональная
возможности

Слайд 16

Атрибуты и характеристики качества ПО

Совместимость 
Сосуществование
Функциональная совместимость
Удобство использования 
Определяемость пригодности
Изучаемость
Управляемость
Защищенность от ошибки
Эстетика пользовательского интерфейса
Доступность

Атрибуты и характеристики качества ПО Совместимость Сосуществование Функциональная совместимость Удобство использования Определяемость

Слайд 17

Атрибуты и характеристики качества ПО

Надежность 
Завершенность
Готовность
Отказоустойчивость
Восстанавливаемость

Атрибуты и характеристики качества ПО Надежность Завершенность Готовность Отказоустойчивость Восстанавливаемость

Слайд 18

Атрибуты и характеристики качества ПО

Защищенность  
Конфиденциальность
Целостность
Неподдельность
Отслеживаемость
Подлинность

Атрибуты и характеристики качества ПО Защищенность Конфиденциальность Целостность Неподдельность Отслеживаемость Подлинность

Слайд 19

Атрибуты и характеристики качества ПО

Сопровождаемость, модифицируемость 
Модульность
Возможность многократного использования
Анализируемость
Модифицируемость
Тестируемость

Атрибуты и характеристики качества ПО Сопровождаемость, модифицируемость Модульность Возможность многократного использования Анализируемость Модифицируемость Тестируемость

Слайд 20

Атрибуты и характеристики качества ПО

Переносимость , мобильность 
Адаптируемость
Устанавливаемость
Взаимозаменяемость

Атрибуты и характеристики качества ПО Переносимость , мобильность Адаптируемость Устанавливаемость Взаимозаменяемость

Слайд 21

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

Контроль качества ( Quality control) рабочие методы и активности, нацеленные

Основные определения Контроль качества ( Quality control) рабочие методы и активности, нацеленные
на выполнение требований к качеству, являющиеся частью управления качеством. 
Обеспечение качества ( Quality assurance) процесс или результат формирования требуемых свойств и характеристик продукции по мере ее создания, а также поддержание этих характеристик при хранении, транспортировки и эксплуатации продукции. 

Слайд 22

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

Валидация (validation) – ожидания и потребности пользователя
Верификация ( verification) – наши

Основные определения Валидация (validation) – ожидания и потребности пользователя Верификация ( verification)
цели, сроки, задачи по разработке проекта

Слайд 23

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

Объект тестирования ( test object) компонент или система, которые должны

Основные определения Объект тестирования ( test object) компонент или система, которые должны
быть протестированы
Базис тестирования (test basis) документ, на основании которого определяются требования к компоненту или системе. Документация, на которой базируются тестовые сценарии

Слайд 24

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

Инфраструктура тестирования (test infrastructure) Артефакты, необходимые для проведения тестирования, такие как

Основные определения Инфраструктура тестирования (test infrastructure) Артефакты, необходимые для проведения тестирования, такие
тестовое окружение, инструменты тестирования, офисное окружение и процедуры
Тестовое окружение (test environment) 
Окружение, включающее в себя аппаратное обеспечение, измерительную аппаратуру, имитаторы, программный инструментарий и прочие инструменты, необходимые для проведения теста. [IEEE 610] 

Слайд 25

Первый баг

9 сентября 1947 года официально был зарегистрирован первый в истории баг.

Первый баг 9 сентября 1947 года официально был зарегистрирован первый в истории

День тестировщика — профессиональный день тестировщиков

Слайд 26

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

Разработки (dev)  
Тестовая (test) 
Промежуточная (stage) 
Демо (demo)
Продакшен (prod) 
Каждой версии программы присваивают номер. Например,  9.3

Основные определения Разработки (dev) Тестовая (test) Промежуточная (stage) Демо (demo) Продакшен (prod)
и 10.0

Слайд 27

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

Тестирование ПО – процесс исследования, имеющий своей целью проверку соответствия

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

Слайд 28

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

Тестирование ПО должно быть направлено на предоставление информации о программном

Основные определения Тестирование ПО должно быть направлено на предоставление информации о программном
продукте
и нахождение максимально возможного числа дефектов на возможно ранних этапах процесса разработки
при заданных ограничениях стоимости и графика разработки.

Слайд 29

Цели процесса тестирования

Предоставление информации о качестве элемента тестирования и любых остаточных рисках

Цели процесса тестирования Предоставление информации о качестве элемента тестирования и любых остаточных
относительно того, до какой степени элемент тестирования был проверен;
Обнаружение дефектов в элементе тестирования до его передачи в эксплуатацию;
Смягчение рисков получения продукта низкого качества заинтересованными сторонами.
ISO/IEC/IEEE 29119-1:2013 - ГОСТ Р 56920-2016

Слайд 30

Жизненный цикл ПО

Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента

Жизненный цикл ПО Жизненный цикл программного обеспечения (ПО) — период времени, который
принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации
Цикл разработки облегчает проектирование, создание и выпуск программного обеспечения. 

Слайд 31

Жизненный цикл ПО

Анализ требований
Проектирование
Кодирование (программирование)
Тестирование и отладка
Внедрение
Эксплуатация и поддержка

Жизненный цикл ПО Анализ требований Проектирование Кодирование (программирование) Тестирование и отладка Внедрение Эксплуатация и поддержка

Слайд 32

Модель жизненного цикла ПО

Модель жизненного цикла ПО — структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и

Модель жизненного цикла ПО Модель жизненного цикла ПО — структура, определяющая последовательность
задач на протяжении жизненного цикла.

Слайд 33

Виды моделей жизненного цикла ПО

Code and fix — модель кодирования и устранения

Виды моделей жизненного цикла ПО Code and fix — модель кодирования и
ошибок;
Waterfall – каскадная модель;
V-model;
Iteration model - итеративная модель;
Incremental model– инкрементальная модель;
Spiral – спиральная модель;

Слайд 34

Code-and-Fix

Code-and-Fix или Build-and-Fix, кодируй и фиксируй. 
Модель проб и ошибок. 
Строим продукт заново каждый

Code-and-Fix Code-and-Fix или Build-and-Fix, кодируй и фиксируй. Модель проб и ошибок. Строим
раз до тех пор, пока клиент не будет доволен, не будет удовлетворен. 
Сколько раз придется нам как разработчикам этот цикл разработки повторять? Сколько раз нам придется это делать до того, пока заказчик не будет удовлетворен? Существенная сложность и существенная проблема данного подхода.

Слайд 35

Каскадная модель

Каскадная модель (waterfall model) — модель процесса разработки программного обеспечения, жизненный цикл которой выглядит как поток,

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

Слайд 36

Каскадная модель

Каскадная модель

Слайд 37

V-model

V образная модель (V-model) – является развитием водопадной модели
Основной принцип V-образной модели заключается

V-model V образная модель (V-model) – является развитием водопадной модели Основной принцип
в том, что детализация проекта возрастает при движении слева направо, одновременно с течением времени, и ни то, ни другое не может повернуть вспять. 

Слайд 40

Итеративная модель

Итеративный подход (iteration - «повторение») - выполнение работ параллельно с непрерывным анализом полученных результатов

Итеративная модель Итеративный подход (iteration - «повторение») - выполнение работ параллельно с
и корректировкой предыдущих этапов работы.
Проект при этом подходе в каждой фазе развития проходит повторяющийся цикл PDCA: 
Планирование — Реализация — Проверка — Оценка (plan-do-check-act cycle).

Слайд 41

Итеративная модель

Итеративная модель

Слайд 42

Инкрементная модель

Инкрементная разработка представляет собой процесс частичной реализации всей системы и медленного

Инкрементная модель Инкрементная разработка представляет собой процесс частичной реализации всей системы и
наращивания функциональных возможностей.
Каждая часть представляет собой готовый фрагмент итогового продукта

Слайд 43

Инкрементная модель

Инкрементная модель

Слайд 44

Отличия итеративной и инкрементальной модели

Отличия итеративной и инкрементальной модели

Слайд 45

Спиральная модель

Спиральная модель (Spiral Model) представляет собой разновидность итерационно-инкрементальной модели, где на каждом витке

Спиральная модель Спиральная модель (Spiral Model) представляет собой разновидность итерационно-инкрементальной модели, где
спирали получается минимально готовая версия планируемого на данном витке продукта.
Проработка целей
Анализ рисков и прототипирование
Разработка промежуточной версии продукта
Планирование следующего витка (витка)

Слайд 46

Спиральная модель

Спиральная модель

Слайд 47

Методологии разработки ПО

Под методологией разработки подразумевается набор методов и критериев оценки, которые используются

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

Слайд 48

Гибкая методология разработки (Agile)

Гибкая модель (Agile model) - совокупность подходов к разработке ПО
Работа

Гибкая методология разработки (Agile) Гибкая модель (Agile model) - совокупность подходов к
основывается на Agile манифесте (ценности):
Люди и взаимодействие важнее процессов и инструментов
Работающий продукт важнее исчерпывающей документации
Сотрудничество с заказчиком важнее согласования условий контракта
Готовность к изменениям важнее следования первоначальному плану

Слайд 49

Гибкая методология разработки (Agile)

Практика организации труда небольших групп 
Минимизация рисков путём сведения разработки

Гибкая методология разработки (Agile) Практика организации труда небольших групп Минимизация рисков путём
к серии коротких циклов, называемых итерациями, которые обычно длятся две-три недели. 
Каждая итерация включает все задачи, необходимые для релиза ПО (планирование, анализ, требований, проектирование, программирование, тестирование и документирование). 
По окончании каждой итерации команда выполняет переоценку приоритетов разработки.
Упор на непосредственном общении лицом к лицу
Основной метрикой agile-методов является рабочий продукт.

Слайд 50

SCRUM

Скрам (Scrum) — метод (фреймворк) управления проектами, который помогает решать изменяющиеся в процессе работы

SCRUM Скрам (Scrum) — метод (фреймворк) управления проектами, который помогает решать изменяющиеся
задачи, чтобы поставлять клиентам продукты с максимально возможной ценностью.
Вся работа разбивается на итерации, которые называются Спринт (Sprint). Каждый Спринт длится от 2х до 4х недель.

Слайд 51

SCRUM

Product Owner 
Scrum Master 
Команда

SCRUM Product Owner Scrum Master Команда

Слайд 52

SCRUM

Product Backlog
Sprint Backlog
Daily Scrum
Demo (или Review )
Ретроспектива

SCRUM Product Backlog Sprint Backlog Daily Scrum Demo (или Review ) Ретроспектива

Слайд 54

DevOps

DevOps методология активного взаимодействия специалистов по разработке со специалистами по информационно-технологическому обслуживанию и взаимная интеграция их

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

Слайд 55

DevOps

Цели DevOps охватывают весь процесс поставки программного обеспечения. 
Сокращение времени для выхода на

DevOps Цели DevOps охватывают весь процесс поставки программного обеспечения. Сокращение времени для
рынок;
Снижение частоты отказов новых релизов;
Сокращение времени выполнения исправлений;
Уменьшение количества времени на восстановления (в случае сбоя новой версии или иного отключения текущей системы).

Слайд 56

Жизненный цикл тестирования

Планирование и анализ требований
Уточнение критериев приемки
Уточнение стратегии тестирования
Разработка тестовой документации
Выполнение

Жизненный цикл тестирования Планирование и анализ требований Уточнение критериев приемки Уточнение стратегии
тест-кейсов и Фиксация найденных дефектов
Анализ результатов тестирования и Отчетность

Слайд 57

Жизненный цикл тестирования

Жизненный цикл тестирования

Слайд 58

Принципы тестирования

Тестирование демонстрирует наличие дефектов, а не их отсутствие
Исчерпывающее тестирование недостижимо
Раннее тестирование

Принципы тестирования Тестирование демонстрирует наличие дефектов, а не их отсутствие Исчерпывающее тестирование
сохраняет время и деньги
Кластеризация дефектов
Парадокс пестицида
Тестирование зависит от контекста
Заблуждение об отсутствии ошибок

Слайд 59

Команда тестирования

Head of QA department.
QA manager 
QA specialist 
junior
middle 
senior
team lead

Команда тестирования Head of QA department. QA manager QA specialist junior middle senior team lead

Слайд 60

Модуль 1. Итоги

Зачем нужно тестировать программы?
Понятие качество ПО. Стандарты качества ПО. 
Атрибуты и

Модуль 1. Итоги Зачем нужно тестировать программы? Понятие качество ПО. Стандарты качества
характеристики качества ПО.
Основные определения тестирования.
Жизненный цикл ПО.
Методологии разработки ПО.
Жизненный цикл тестирования ПО.
Принципы тестирования.
Команда тестирования

Слайд 61

Модуль 2

Методы и виды тестирования. Анализ требований к ПО

Модуль 2 Методы и виды тестирования. Анализ требований к ПО

Слайд 62

Содержание
Уровни и методы тестирования.
Классификация видов тестирования.
Подходы в тестировании.
Критерии тестового покрытия.
Требования к ПО.
Классификация

Содержание Уровни и методы тестирования. Классификация видов тестирования. Подходы в тестировании. Критерии
требований.
Анализ требований к программному обеспечению.
Как задавать вопросы ?!?

Слайд 63

Уровни тестирования

Модульное тестирование - направлено на проверку отдельных небольших частей приложения
Интеграционное тестирование

Уровни тестирования Модульное тестирование - направлено на проверку отдельных небольших частей приложения
- направлено на проверку взаимодействия между несколькими частями приложения

Слайд 64

Уровни тестирования

Системное тестирование - направлено на проверку всего приложения как единого целого,

Уровни тестирования Системное тестирование - направлено на проверку всего приложения как единого
собранного из частей, проверенных на двух предыдущих стадиях.
Приемочное тестирование - формализованное тестирование, направленное на проверку приложения с точки зрения конечного пользователя/заказчика и вынесения решения о том, принимает ли заказчик работу у исполнителя

Слайд 65

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

Метод белого ящика (white box testing) - есть доступ к внутренней

Методы тестирования Метод белого ящика (white box testing) - есть доступ к
структуре и коду приложения, а также есть достаточно знаний для понимания увиденного.
Метод чёрного ящика (black box testing) - либо нет доступа к внутренней структуре и коду приложения, либо недостаточно знаний для их понимания, либо он сознательно не обращается к ним в процессе тестирования

Слайд 66

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

Метод серого ящика (gray box testing) — комбинация методов белого ящика

Методы тестирования Метод серого ящика (gray box testing) — комбинация методов белого
и чёрного ящика, состоящая в том, что к части кода и архитектуры у тестировщика доступ есть, а к части — нет.

Слайд 67

Классификация видов тестирования

Статическое и динамическое
По степени автоматизации
По целям: функциональное, нефункциональное
По фокусировке на

Классификация видов тестирования Статическое и динамическое По степени автоматизации По целям: функциональное,
уровне архитектуры
По важности тестируемых функций
Связанные с изменениями
По времени проведения

Слайд 68

По запуску кода на исполнение

Статическое тестирование (static testing)
тестирование без запуска кода

По запуску кода на исполнение Статическое тестирование (static testing) тестирование без запуска
на исполнение.
Динамическое тестирование (dynamic testing)
Тестирование, проводимое во время выполнения программного обеспечения, компонента или системы.

Слайд 69

Статическое и динамическое тестирование. Отличия

Статическое
Без запуска кода
Верификация
Предотвращение дефектов
Оценка кода и документации

Статическое и динамическое тестирование. Отличия Статическое Без запуска кода Верификация Предотвращение дефектов

Чек-листы
Цена дефекта меньше

Динамическое
Запуск кода
Валидация
Поиск и исправление дефектов
Ошибки и узкие места в ПО
Тест-кейсы
Цена дефекта выше

Слайд 70

По степени автоматизации

Ручное тестирование 
Автоматизированное тестирование 

По степени автоматизации Ручное тестирование Автоматизированное тестирование

Слайд 71

Функциональное тестирование

ISO 9126 Модель качества
Функциональное тестирование (Functional testing)
Тестирование безопасности (Security and Access Control

Функциональное тестирование ISO 9126 Модель качества Функциональное тестирование (Functional testing) Тестирование безопасности
Testing)
Тестирование взаимодействия (Interoperability Testing)
Тестирование взаимодействия (Interoperability Testing) – это функциональное тестирование, проверяющее способность приложения взаимодействовать с одним и более компонентами или системами и включающее в себя тестирование совместимости (compatibility testing) и интеграционное тестирование 

Слайд 72

Нефункциональное тестирование

Нефункциональное тестирование - вид тестирования, направленный на проверку нефункциональных особенностей приложения
Уровень производительности
Совместимость
Удобство пользования
Надежность
Защищенность
Сопровождаемость
Переносимость

Нефункциональное тестирование Нефункциональное тестирование - вид тестирования, направленный на проверку нефункциональных особенностей

Слайд 73

Нефункциональное тестирование

Тестирование производительности - Тип тестирования, проводимого для оценки степени, в которой

Нефункциональное тестирование Тестирование производительности - Тип тестирования, проводимого для оценки степени, в
элемент тестирования выполняет свои определенные функции при заданных ограничениях времени и других ресурсах.
Исследование показателей скорости реакции приложения на внешние воздействия при различной по характеру и интенсивности нагрузке. 
Пример: нагрузочное тестирование, стресс-тестирование

Слайд 74

Нефункциональное тестирование

Нагрузочное тестирование — обычно проводится для того, чтобы оценить поведение приложения под

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

Слайд 75

Нефункциональное тестирование

Стресс-тестирование позволяет проверить, насколько приложение и система в целом работоспособны в условиях

Нефункциональное тестирование Стресс-тестирование позволяет проверить, насколько приложение и система в целом работоспособны
стресса, а также оценить способность системы к регенерации, т.е. к возвращению к нормальному состоянию, после прекращения воздействия стресса.
Пример: повышение интенсивности выполнения операций до очень высоких значений или аварийное изменение конфигурации сервера. 
Также, одной из задач при стрессовом тестировании может быть оценка деградации производительности

Слайд 76

Нефункциональное тестирование

Тестирование совместимости - тестирование, направленное на проверку способности приложения работать в

Нефункциональное тестирование Тестирование совместимости - тестирование, направленное на проверку способности приложения работать
указанном окружении.
Совместимость с аппаратной платформой, операционной системой и сетевой инфраструктурой (конфигурационное тестирование)
Совместимость с браузерами и их версиями (кросс-браузерное тестирование
Совместимость с мобильными устройствами

Слайд 77

Нефункциональное тестирование

Тестирование надежности - тестирование способности приложения выполнять свои функции в заданных

Нефункциональное тестирование Тестирование надежности - тестирование способности приложения выполнять свои функции в
условиях на протяжении заданного времени или заданного количества операций.
Основная задача — наблюдая за потреблением ресурсов, выявить утечки памяти и проследить чтобы скорость обработки данных и/или время отклика приложения в начале теста и с течением времени не уменьшалась. 
В противном случае вероятны сбои в работе продукта и перезагрузки системы.

Слайд 78

Нефункциональное тестирование

Тестирование безопасности - тестирование, направленное на проверку способности приложения противостоять злонамеренным

Нефункциональное тестирование Тестирование безопасности - тестирование, направленное на проверку способности приложения противостоять
попыткам получения доступа к данным или функциям, права на доступ к которым у злоумышленника нет.
Конфиденциальность
Целостность
Неподдельность
Отслеживаемость
Подлинность

Слайд 79

Нефункциональное тестирование

Открытый проект по обеспечению безопасности веб-приложений (OWASP) представляет собой некоммерческий, образовательный, благотворительный

Нефункциональное тестирование Открытый проект по обеспечению безопасности веб-приложений (OWASP) представляет собой некоммерческий,
фонд, помогающий организациям начать проектировать, разрабатывать, приобретать, использовать и поддерживать безопасное ПО.
Все инструменты, документы, форумы и отделения OWASP являются бесплатными и открытыми для тех, кто заинтересован в улучшении безопасности приложений.
Информацию можно найти по адресу www.owasp.org

Слайд 80

Нефункциональное тестирование

Тестирование сопровождаемости - Тип тестирования, проводимого для оценки степени эффективности и

Нефункциональное тестирование Тестирование сопровождаемости - Тип тестирования, проводимого для оценки степени эффективности
продуктивности возможных изменений элемента тестирования.
Сопровождаемость: результативность и эффективность, с которыми продукт или система могут быть модифицированы предполагаемыми специалистами по обслуживанию 

Слайд 81

Нефункциональное тестирование

Тестирование удобства использования -  тестирование, направленное на исследование того, насколько конечному

Нефункциональное тестирование Тестирование удобства использования - тестирование, направленное на исследование того, насколько
пользователю понятно, как работать с продуктом, а также на то, насколько ему нравится использовать продукт 
Определяемость пригодности
Изучаемость
Управляемость
Защищенность от ошибки
Эстетика пользовательского интерфейса
Доступность

Слайд 82

Нефункциональное тестирование

Тестирование переносимости - Тип тестирования, проводимого для оценки простоты переноса элемента

Нефункциональное тестирование Тестирование переносимости - Тип тестирования, проводимого для оценки простоты переноса
тестирования из одних аппаратных средств или программной среды в другие, включая уровень его изменений, необходимых для выполнения в средах различных типов.

Слайд 83

Нефункциональное тестирование

Тестирование установки направленно на проверку успешной инсталляции и настройки, а также обновления или удаления программного обеспечения

Нефункциональное тестирование Тестирование установки направленно на проверку успешной инсталляции и настройки, а
(проверка установки приложений и программ, как десктопных, так и мобильных)
Невозможность установить ПО
Потеря данных после установки новой версии
Невозможность откатиться до предыдущей версии

Слайд 84

Нефункциональное тестирование

Тестирование на отказ и восстановление (Failover and Recovery Testing) проверяет с точки

Нефункциональное тестирование Тестирование на отказ и восстановление (Failover and Recovery Testing) проверяет
зрения способности противостоять и успешно восстанавливаться после возможных сбоев, возникших в связи с ошибками ПО, отказами оборудования или проблемами связи (например, отказ сети).
Цель: проверка систем восстановления (или дублирующих основной функционал систем), которые, в случае возникновения сбоев, обеспечат сохранность и целостность данных тестируемого продукта.
Тестирование на отказ и восстановление очень важно для систем, работающих по принципу “24x7”.

Слайд 85

По фокусировке на уровне архитектуры

Уровень представления - сконцентрировано на той части приложения,

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

Слайд 86

По степени важности тестируемых функций

Дымовое - направлено на проверку самой главной, самой

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

Слайд 87

Связанные с изменениями

Тестирование сборки (Build Verification Test)
Дымовое тестирование (Smoke Testing)
Повторное тестирование (Re-testing)
Санитарное тестирование или

Связанные с изменениями Тестирование сборки (Build Verification Test) Дымовое тестирование (Smoke Testing)
проверка согласованности/исправности (Sanity Testing
Регрессионное тестирование (Regression Testing)

Слайд 88

Связанные с изменениями

Тестирование сборки (Build Verification Test)
Тестирование, направленное на определение соответствия выпущенной

Связанные с изменениями Тестирование сборки (Build Verification Test) Тестирование, направленное на определение
версии критериям качества для начала тестирования. По своим целям является аналогом дымового тестирования, направленного на приемку новой версии в дальнейшее тестирование или эксплуатацию. Вглубь оно может проникать дальше, в зависимости от требований к качеству выпущенной версии.

Слайд 89

Связанные с изменениями

Дымовое тестирование Smoke testing - минимальный набор тестов на явные ошибки. Пример,

Связанные с изменениями Дымовое тестирование Smoke testing - минимальный набор тестов на
ошибки инсталляции
Часто такой набор тестов автоматизируется
Часто рассматривается как короткий цикл тестов, выполняемый для подтверждения того, что, после сборки кода (нового или исправленного), устанавливаемое приложение стартует и выполняет основные функции.

Слайд 90

Связанные с изменениями

Повторное тестирование (Re-testing) Повторное выполнение тестов, для которых ранее был получен результат «сбоя»,

Связанные с изменениями Повторное тестирование (Re-testing) Повторное выполнение тестов, для которых ранее
для оценки эффективности произведенных корректирующих действий. Примечание — Используется также термин «тестирование подтверждения»
Повторное тестирование часто выполняется простым повтором теста, который привел к неожидаемому результату и который в свою очередь привел к идентификации первичной проблемы. 
Однако для эффективного повторного тестирования могут быть определены и проанализированы новые тестовые условия, а также разработаны новые тесты.

Слайд 91

Связанные с изменениями

Санитарное тестирование - это узконаправленное тестирование, достаточное для доказательства того, что

Связанные с изменениями Санитарное тестирование - это узконаправленное тестирование, достаточное для доказательства
конкретная функция работает согласно заявленным в спецификации требованиям. Является подмножеством регрессионного тестирования.
Используется для определения работоспособности определенной части приложения
В отличии от дымового (Smoke testing), санитарное тестирование (Sanity testing) направлено вглубь проверяемой функции, в то время как дымовое - направлено вширь, для покрытия тестами как можно большего функционала в кратчайшие сроки.

Слайд 92

Связанные с изменениями

Регрессионное тестирование - это вид тестирования, направленный на проверку изменений, сделанных

Связанные с изменениями Регрессионное тестирование - это вид тестирования, направленный на проверку
в приложении или окружающей среде (починка дефекта, слияние кода, миграция на другую операционную систему, базу данных, веб-сервер или сервер приложения), для подтверждения того факта, что существующая ранее функциональность работает как и прежде.
Регрессионными могут быть как функциональные, так и нефункциональные тесты.
Re-testing — проверяется исправление багов
Regression testing — проверяется то, что исправление багов, а также любые изменения в коде приложения, не повлияли на другие модули ПО и не вызвало новых багов.

Слайд 93

По времени проведения

Альфа - Моделируемое или действительное эксплуатационное тестирование потенциальными пользователями/заказчиками или независимой

По времени проведения Альфа - Моделируемое или действительное эксплуатационное тестирование потенциальными пользователями/заказчиками
командой тестирования на стороне разработчиков, но вне разрабатывающей организации. Альфа-тестирование часто применяется к коробочному программному обеспечению в качестве внутреннего приёмочного тестирования. 
Бета - интенсивное использование почти готовой версии продукта с целью выявления максимального числа ошибок в его работе для их последующего устранения перед окончательным выходом продукта на рынок, к массовому потребителю. Выполняется вне организации-разработчика с активным привлечением конечных пользователей заказчиков

Слайд 94

Подходы в тестировании

На основе тест- кейсов (script-based) формализованный подход, в котором тестирование

Подходы в тестировании На основе тест- кейсов (script-based) формализованный подход, в котором
производится на основе заранее подготовленных тест-кейсов
Исследовательское (exploratory testing) частично формализованный подход, в рамках которого тестировщик выполняет работу с приложением по выбранному сценарию
Свободное (ad hoc testing) полностью неформализованный подход. Тестировщик полностью опирается на свой профессионализм и интуицию

Слайд 95

Подходы в тестировании

Позитивное тестирование - направлено на исследование приложения в ситуации, когда

Подходы в тестировании Позитивное тестирование - направлено на исследование приложения в ситуации,
все действия выполняются строго по инструкции без каких бы то ни было ошибок, отклонений, ввода неверных данных и т.д.
Негативное тестирование - направлено на исследование работы приложения в ситуациях, когда с ним выполняются (некорректные) операции и/или используются данные, потенциально приводящие к ошибкам

Слайд 96

Тестовое покрытие
Тестовое покрытие (test coverage): Степень, выраженная в процентах, в которой специфицированные

Тестовое покрытие Тестовое покрытие (test coverage): Степень, выраженная в процентах, в которой
элементы тестового покрытия были проверены тест-кейсами

Слайд 97

Критерии тестового покрытия 

Критерий тестового покрытия – метрика для оценки качества тестирования
Критерий покрытия

Критерии тестового покрытия Критерий тестового покрытия – метрика для оценки качества тестирования
измеряет долю классов, ситуаций, представители которых попали в тестовый набор. 
Чем больше уровень тестового покрытия, тем больше классов, ситуаций покрыто, тем больше ошибок можно обнаружить. 

Слайд 98

Покрытие требований

Покрытие требований (Requirements Coverage) - оценка покрытия тестами функциональных и нефункциональных

Покрытие требований Покрытие требований (Requirements Coverage) - оценка покрытия тестами функциональных и
требований к продукту 
Требование считается «покрытым», если на него ссылается хотя бы один тест-кейс
Покрытие требований = количество требований, покрытых хотя бы одним тест-кейсом/ общее количество требований.
Полностью покрыты: входные данные, комбинации входных данных, последовательности комбинаций входных данных

Слайд 99

Покрытие требований

Traceability matrix — Матрица соответствия требований — это двумерная таблица, содержащая соответствие

Покрытие требований Traceability matrix — Матрица соответствия требований — это двумерная таблица,
функциональных требований (functional requirements) продукта и подготовленных тестовых сценариев (test cases). В заголовках колонок таблицы расположены требования, а в заголовках строк — тестовые сценарии.

Слайд 100

Покрытие кода

Покрытие кода (Code Coverage) - оценка покрытия исполняемого кода тестами, путем

Покрытие кода Покрытие кода (Code Coverage) - оценка покрытия исполняемого кода тестами,
отслеживания непроверенных в процессе тестирования частей программного обеспечения.
Чаще всего используется при тестировании методом белого ящика
Полностью покрыты: строки кода программы, ветви в коде программы, пути в коде программы

Слайд 101

Требования к ПО

Условия или возможности, необходимые пользователю для решения определенных задач или

Требования к ПО Условия или возможности, необходимые пользователю для решения определенных задач
достижения определенных целей , которые должны быть достигнуты для выполнения контракта, стандартов, спецификации или других формальных документов ( IEEE 610)
На основе требований ведётся проектирование, разработка и тестирование ПО

Слайд 102

Требования к ПО

условия или возможности, необходимые пользователю для решения проблем или достижения

Требования к ПО условия или возможности, необходимые пользователю для решения проблем или
целей;
условия или возможности, которыми должна обладать система или системные компоненты, чтобы выполнить контракт или удовлетворять стандартам, спецификациям или другим формальным документам;
документированное представление условий или возможностей для пунктов 1 и 2.

Слайд 103

Уровни требований
Бизнес- требования
Пользовательские требования 
Функциональные требования

Уровни требований Бизнес- требования Пользовательские требования Функциональные требования

Слайд 104

Бизнес-требования

Бизнес-требования (business requirements) 
Выражают цель ради которой создавался продукт
Содержат высокоуровневые цели организации или

Бизнес-требования Бизнес-требования (business requirements) Выражают цель ради которой создавался продукт Содержат высокоуровневые
заказчиков системы. 
Как правило, их высказывают те, кто финансируют проект, покупатели системы, менеджер реальных пользователей, отдел маркетинга. 
Пример: Необходимо в два-три раза повысить количество заявок, обрабатываемых одним оператором за смену

Слайд 105

Пользовательские требования

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

Пользовательские требования Требования пользователей описывают задачи, которые пользователь может выполнять с помощью
продукта, а также способы (сценарии) их решения в системе (реакция продукта на действия пользователя, сценарии работы пользователя).
Пользовательские требования представлены в виде:
вариантов использования (uses cases)
пользовательских историй (user stories)
пользовательских сценариев (user scenarios)

Слайд 106

Пользовательские требования

Структура user stories 
Как, <роль/персонаж юзера>, я <что-то хочу получить>, <с такой-то целью>
Пример user stories 
Как потребителю мне

Пользовательские требования Структура user stories Как, , я , Пример user stories
удобно искать книги по жанрам, чтобы быстро найти те, которые я люблю читать.

Слайд 107

Функциональные требования

Функциональные требования (functional requirements) определяют функциональность ПО, которую разработчики должны построить,

Функциональные требования Функциональные требования (functional requirements) определяют функциональность ПО, которую разработчики должны
чтобы пользователи смогли выполнить свои задачи в рамках бизнес-требований. 
Они содержат положения с традиционным «должен» или «должна»: «Система должна по электронной почте отправлять пользователю подтверждение о заказе». Или не должна..
Пример: В процессе инсталляции приложение должно проверять остаток свободного места на целевом носителе

Слайд 108

Виды требований

Функциональные
Нефункциональные
Ограничения проектирования

Виды требований Функциональные Нефункциональные Ограничения проектирования

Слайд 109

Нефункциональные требования

Нефункциональные требования (Non-functional Requirements) - охватывают свойства системы (удобства использования, надежность, масштабируемость),

Нефункциональные требования Нефункциональные требования (Non-functional Requirements) - охватывают свойства системы (удобства использования,
которыми она должна обладать при реализации своего поведения.
Нефункциональные требования  в основном влияют на архитектуру продукта.
Пример: 
Время ответа для транзакции: среднее, максимальное
Емкость: сколько пользователей или транзакций может обслужить система

Слайд 110

Ограничения проектирования

Ограничения проектирования налагаются на проект системы или процессы, с помощью которых

Ограничения проектирования Ограничения проектирования налагаются на проект системы или процессы, с помощью
система создается.
Они не влияют на внешнее поведение системы, но должны выполняться для удовлетворения технических, деловых или контрактных обязательств.

Слайд 111

Ограничения проектирования

Источники ограничений проектирования
Операционные среды: Программы пишутся на Visual Basic.
Совместимость с существующими

Ограничения проектирования Источники ограничений проектирования Операционные среды: Программы пишутся на Visual Basic.
системами: Приложение должно выполняться как на новой, так и на прежней  платформе.
Прикладные стандарты: Использовать библиотеку классов из Developer's Library на корпоративном сервере
Корпоративные практические наработки и стандарты: Использовать стандарты программирования C++
Инструкции и стандарты, которым подчиняется разработка проекта.

Слайд 112

Источники требований

Законодательство
Нормативное обеспечение организации
Представления и ожидания пользователей
Конкурирующие программные продукты

Источники требований Законодательство Нормативное обеспечение организации Представления и ожидания пользователей Конкурирующие программные продукты

Слайд 113

Метод выявления требований

Мозговой штурм
Интервью, опросы, анкетирование
Анализ документации
Анализ конкурентных продуктов
Анализ статистики использования предыдущих

Метод выявления требований Мозговой штурм Интервью, опросы, анкетирование Анализ документации Анализ конкурентных
версий

Слайд 114

Свойства требований

полнота,
ясность,
корректность,
согласованность,
верифицируемость,
необходимость,

Свойства требований полнота, ясность, корректность, согласованность, верифицируемость, необходимость,

Слайд 115

Свойства требований

полезность при эксплуатации,
осуществимость,
модифицируемость,
трассируемость,
упорядоченность по важности и стабильности,
наличие количественной метрики.

Свойства требований полезность при эксплуатации, осуществимость, модифицируемость, трассируемость, упорядоченность по важности и стабильности, наличие количественной метрики.

Слайд 116

Цель тестирования требований

Проверка удовлетворения требований заданным критериям качества для раннего обнаружения и

Цель тестирования требований Проверка удовлетворения требований заданным критериям качества для раннего обнаружения
исправления ошибки при проектировании требований. 
Ошибки в требованиях значительно увеличивают затраты на их исправление во время разработки продукта. (исправление самой ошибки, переработка артефактов: архитектура проекта, внедрение, тест-кейсы).

Слайд 117

Анализ требований с точки зрения пригодности к тестированию

Тестопригодные требования – степень выраженности требований

Анализ требований с точки зрения пригодности к тестированию Тестопригодные требования – степень
в терминах, допускающих начало работы над разработкой тестов (и в последствии над тестовыми сценариями) и выполнение тестов для определения соответствия заявленным требованиям [IEEE 610]

Слайд 118

Анализ требований с точки зрения пригодности к тестированию

Система должна постоянно функционировать с

Анализ требований с точки зрения пригодности к тестированию Система должна постоянно функционировать
максимальной мощностью, за исключением особых ситуаций, в которых она должна обеспечивать до 125% мощности при условии, что особая ситуация длится не более 15 минут, в противном случае мощность должна быть снижена до 105%, но если можно обеспечить только 95%, то система должна активировать исключительный режим работы при сниженной мощности и сохранять уровень мощности в пределах 10% отклонений от заданных значений в течение как минимум 30 минут.

Слайд 119

Анализ требований с точки зрения пригодности к тестированию

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

Анализ требований с точки зрения пригодности к тестированию Система должна предоставлять возможности
текстов, должна быть удобной для неподготовленного персонала и работать в среде локальной сети Ethernet, реализованной аппаратными средствами в виде системы воздушных кабельных каналов с интегрированными сетевыми адаптерами, устанавливаемыми в каждую систему, с добавлением дополнительных модулей памяти при необходимости.

Слайд 120

Анализ требований с точки зрения пригодности к тестированию

Время отклика системы с точки

Анализ требований с точки зрения пригодности к тестированию Время отклика системы с
зрения конечного пользователя (end-to-end) во время продуктивной нагрузки (50 пользовательских сессий в режиме «менеджер» / 15 пользовательских сессий в режиме «аналитик») при загруженности пропускного канала от клиентской системы до сервера приложений в пределах 50% для сети 100 Mb/sec и утилизации ресурсов сервера приложений (CPU, RAM) в рамках 70-80%, а клиентской машины в рамках 40-60%, не должно превышать 1 секунды для операций создания записи (сущности) и 3 секунд для операций поиска. 

Слайд 121

Анализ требований с точки зрения пригодности к тестированию
Задавать вопросы
Создавать чек-листы
Рисовать
Взаимный пересмотр
Неформальный
Технический
Формальная инспекция

Анализ требований с точки зрения пригодности к тестированию Задавать вопросы Создавать чек-листы

Слайд 122

Три взгляда на требования
с точки зрения данных;
с точки зрения поведения; (нормальное,

Три взгляда на требования с точки зрения данных; с точки зрения поведения;
альтернативное, исключения)
с точки зрения функциональности;

Слайд 123

Аспекты качества требований

Содержание (полнота, трассируемость, корректность и адекватность, согласованность, проверяемость, необходимость)
Документация (понятность,

Аспекты качества требований Содержание (полнота, трассируемость, корректность и адекватность, согласованность, проверяемость, необходимость)
однозначность, соответствие правилам документирования)
Соглашение (согласовано, согласовано после внесения изменений, конфликты разрешены)

Слайд 124

Как задавать вопросы

Вы задаете вопросы, чтобы помочь команде создать лучший продукт
Открытые вопросы
Закрытые

Как задавать вопросы Вы задаете вопросы, чтобы помочь команде создать лучший продукт
вопросы
Подготовка к вопросу
Метод “пять почему”
Метод “Кто, что, где, когда, почему и как”
Конструкции вопросов

Слайд 125

Как задавать вопросы

Открытые вопросы ( Как вы думаете почему..? Можете описать как..?)​
Закрытые

Как задавать вопросы Открытые вопросы ( Как вы думаете почему..? Можете описать
вопросы фокусируются на фактах и предполагают ответы Да/Нет (Когда дедлайн?)​
Контекст вопроса (почему вы задаете вопрос и какая информация вам нужна, для чего вам это)​
Метод "Пять почему" помогает обнаружить скрытые мотивы и убеждения людей​

Слайд 126

Как задавать вопросы

Метод "Кто, что, где, когда, почему, как" помогает понять контекст

Как задавать вопросы Метод "Кто, что, где, когда, почему, как" помогает понять
проблемы​
Конструкции вопросов (Что, если..? Каким образом это изменится, если..? Предположим что...? Каким другим способом мы могли бы..? )​

Слайд 127

Модуль 2. Итоги
Уровни и методы тестирования
Классификация видов тестирования 
Подходы в тестировании
Критерии тестового покрытия
Требования

Модуль 2. Итоги Уровни и методы тестирования Классификация видов тестирования Подходы в
к ПО
Классификация требований
Анализ требований к программному обеспечению
Как задавать вопросы

Слайд 128

Итоги работы
Модуль 1. Введение в тестирование ПО
Модуль 2. Методы и виды тестирования.

Итоги работы Модуль 1. Введение в тестирование ПО Модуль 2. Методы и
Анализ требований к ПО
Имя файла: Тестирование-ПО.-Уровень-1.-Тестировщик-программного-обеспечения.pptx
Количество просмотров: 32
Количество скачиваний: 0