Слайд 1Вопросы:
Изобразите (как сможете) ЖЦ дефекта.
Какие бывают резолюции дефектов?
Какие Вы знаете
статусы дефектов?
Слайд 2ЛЕКЦИЯ 4
«Tипы и виды тестирования»
Слайд 3Smoke
MAT
AT
Серый ящик
Белый ящик
Чёрный ящик
Автоматизированное
Ручное
Интуитивное
Исследовательское
По документации
Приемочное тестирование
Бета- тестирование
Альфа- тестирование
Модульное
Интеграционное
Системное
Регрессионное
Smoke
Валидация дефектов
Тестирование новых
функций
Функциональное
Тестирование пользовательского интерфейса
Юзабилити
Доступности
Локализации
Интернационализации
кроссбраузерное
кроссплатформенное
нагрузочное
стрессовое
объемное
Безопасности
Защищенности
Тестирование требований
Тестирование прототипа
Тестирование инсталляции и лицензирование
Слайд 4Уровни тестирования
Тестовое покрытие –
это одна из метрик оценки качества
тестирования, представляющая из себя плотность покрытия тестами требований либо исполняемого
кода
Слайд 5Уровни тестирования
Тестовое покрытие определяется:
Глубиной тестирования
Шириной тестирования
Целями тестирования
Профессиональным уровнем тестирощика
Слайд 6Уровни тестирования
Ширина
Глубина
Слайд 7Уровни тестирования
Ширина тестирования
отражает количество модулей/функций приложения, которые были протестированы.
Глубина
тестирования
отражает вид проверок, которые производились для модуля/функции (например, позитивность/негативность
сценариев, тестирование в рамках/вне рамок тест сценариев и др.).
Слайд 8По уровню покрытия
Smoke – пригодность сборки для дальнейших тестов
Уровень качества:
Acceptable / Unacceptable
MAT (Minimal Acceptance Test, Positive test) – тест
на положительных сценариях
Уровень качества: High / Medium / Low
AT (Acceptance Test) – полный тест на положительных и негативных сценариях)
Уровень качества: High / Medium / Low
Слайд 9По цели тестирования
New Feature Test (NFT, AT of NF) –
определить качество поставленной на тестирование функциональности
Обычно тестируется полным тестом (AT)
Слайд 10По цели тестирования
Regression testing – удостовериться, что добавление новой функциональности
не повлияло на работу старой
Регрессионное тестирование может быть проведено на
уровне Smoke, MAT или AT.
Слайд 11По цели тестирования
Defect Validation – проверка результата исправления дефектов
Может включать
элементы регрессионного тестирования.
Слайд 12По цели тестирования
User Acceptance Test (UAT, ПиМИ): формальная проверка приложения
(зачастую заказчиком), сопровождаемая протоколированием результатов
Слайд 13Тестовые активности:
Smoke
Регрессионное
Валидация дефектов
Тестирование новых функций
Слайд 14Автоматизированное
Ручное
По степени
автоматизации
Слайд 15
Черный ящик: не заглядываем внутрь системы
По знанию кода
Слайд 16
Черный ящик: не заглядываем внутрь системы
Белый ящик: смотрим код
По знанию
кода
Слайд 17
Черный ящик: не заглядываем внутрь системы
Белый ящик: смотрим код
Серый ящик:
частично заглядываем в систему
По знанию кода
Слайд 18Модульное (Unit/component) – отдельные части (модули) системы
Интеграционное (Integration) –взаимодействие между
отдельными модулями
Системное (System) – работоспособность системы в целом
По уровням
Слайд 19Интуитивное (Ad Hoc)
Исследовательское (Exploratory)
По документации
По подготовленности
Слайд 20Альфа- тестирование
Бета- тестирование
По времени и месту
проведения
Слайд 21По объекту
Функциональное
Тестирование пользовательского интерфейса
Юзабилити
Доступности
Локализации
Интернационализации
Совместимости (кроссбраузерное,
кроссплатформенное)
Производительности (нагрузочное, стрессовое, объемное)
Безопасности
Защищенности
Тестирование требований
Тестирование прототипа
Тестирование инсталляции и лицензирование
Слайд 22Функциональное тестирование
Функциональное тестирование (Functional testing) – это тестирование функций приложения
на соответствие требованиям.
Оценка производится на основе сопоставления ожидаемых и
полученных результатов (указанных в функциональной документации).
Важным условием является ввод корректных и некорректных тестовых данных.
Слайд 23Тестирование графического интерфейса пользователя
Тестирование графического интерфейса пользователя (GUI) предполагает проверку
соответствия приложения требованиям к графическому интерфейсу, профессионально ли оно выглядит,
выполнено ли оно в едином стиле.
Как правило, через пользовательский интерфейс и реализуется большая часть функциональности ПО.
Слайд 24Тестирование графического интерфейса пользователя
Что нужно проверять?
Горячие клавиши (hot keys)
Порядок табуляции
Окна
сообщений
Изменение размеров окон приложения
Поддержка скроллинга
Слайд 25Тестирование графического интерфейса пользователя
Пример
Слайд 26Тестирование программ установки и лицензирования
тестирование
В ходе тестирования установки (Installation testing)
проверяется правильность процесса установки приложения и эффект, оказываемый установкой приложения
на операционную систему конечного пользователя.
Тестирование механизма лицензирования помогает определить эффективность системы защиты приложения
Слайд 27Тестирование требований
Единичность
Завершённость
Последовательность
Атомарность
Актуальность
Выполнимость
Обязательность
Проверяемость
Характеристики требований
Слайд 28Совместимость с различными браузерами и операционными системами
Кроссбраузерность (Crossbrowser testing):
Цель
данного типа тестирования – удостовериться, что приложение будет эффективно работать
не только с Internet Explorer, но также и с альтернативными браузерами (Safari, Opera, FireFox, Google Chome и др.)
Кроссплатформенность (Crossplatform testing):
Цель кроссплатформенного тестирования – удостовериться, что приложение работает одинаково корректно и эффективно на любых типах и версиях операционных систем (ОС - Windows, Mac OS и Linux/Unix).
Слайд 29Тестирование интеграций
Тестирование интеграций (Integration testing) – проверка того, как одно
приложение взаимодействует с другим.
Тестирование интеграций – одна из фаз тестирования,
при которой отдельные программные модули объединяются и тестируется их совместая работа.
Слайд 30Тестирование интеграций
Возможные проблемы:
дефекты самого продукта
дефекты приложения, с которым происходит
взаимодействие
дефекты, возникающие в результате интеграции приложений
Слайд 31Тестирование уровня безопасности
Тестирование безопасности (Security testing) представляет собой ряд действий,
от разработки политики безопасности до тестирования на уровне приложения, операционной
системы и сетевой безопасности.
В общем случае включает внедрение скриптов, операторов SQL, манипуляции с адресной строкой и исходным кодом программы
Слайд 32Тестирование удобства пользовательского интерфейса
Удобство пользования (Usability) – это степень эффективности,
продуктивности и удовлетворенности, с которой продукт может использоваться определенными пользователями
для достижения своих целей в определенном контексте (ISO 9241)
Слайд 33Тестирование удобства пользовательского интерфейса
Тестирование удобства пользования (Usability testing) определяет, насколько
комфортна работа пользователей с приложением или сайтом в контексте понимания
процесса работы, простоту навигации и структуры, понятность и последовательность сообщений. Этот вид тестирования в огромной степени определяет будущий успех или провал проекта.
Слайд 34Тестирование удобства пользовательского интерфейса
Критерии тестирования удобства пользования:
Функциональность
Визуальное оформление
Эффективность
Производительность
Обучаемость
Навигация
Логичность
Обратная связь
Слайд 35Тестирование доступности
Тестирование доступности (accessibility testing) необходимо, чтобы проверить соответствие программного
обеспечения общепризнанным стандартам доступности. Практически все современные приложения, рассчитанные на
широкую целевую аудиторию, должны быть доступны для использования людьми с ограниченными возможностями (зрительными, слуховыми, речевыми, когнитивными, невралгическими и др.), с учетом возраста, технических предпочтений и физических способностей.
Слайд 36Тестирование доступности
Критерии тестирования доступности:
Все изображения на сайте должны иметь альтернативный
текст
Аудио содержимое должно иметь текстовый эквивалент
Страница должна быть читабельна при
увеличенном размере шрифтов
Страница должна читаться на монохромном экране и др.
Слайд 37Тестирование локализации
Целью тестирования локализации (Localization testing, L10n) является проверка соответствия
приложения региональным стандартам пользовательского интерфейса, языковым стандартам и др.
Слайд 38Тестирование локализации
В ходе тестирования локализации и интернационализации проверяются следующие аспекты:
Соответствие
приложения стандартам оформления пользовательского интерфейса
Отсутствие непереведенных сообщений
Соответствие способа подачи данных
региональным стандартам
Сортировка данных в алфавитном порядке
Совместимость приложения со стандартами различных регионов
Правильность оформления документации и вспомогательных файлов
Слайд 39Тестирование локализации
Примеры дефектов
Слайд 40Тестирование интернационализации
Тестирование интернационализации (Internationalization testing, i18n) – проверка того, каким
образом происходит адаптация продукта.
Интернационализа́ция (англ. internationalization) — технологические приёмы разработки,
упрощающие адаптацию продукта (такого как программное или аппаратное обеспечение) к языковым и культурным особенностям региона (регионов), отличного от того, в котором разрабатывался продукт.
Слайд 41Тестирование производительности
Тестирование производительности (Performance testing) — тестирование, которое проводится с
целью определения, как быстро работает вычислительная система или её часть
под определённой нагрузкой.
В тестировании производительности различают следующие направления:
нагрузочное (load)
стресс (stress)
объемное (volume)
Слайд 42Вам предоставляется на тестирование веб-проект – интернет магазин по продаже
деталей для автомобилей.
Из планов разработки известно, что на тестирование будут
поставлены 3 сборки:
#1 включает в себя 50% функциональности
#2 включает в себя оставшиеся 50% функциональности
#3 является финальной (release candidate) и будет отдана заказчику
Вопрос:
Какие тесты Вы проведете на каждой сборке?
Задача 1
Слайд 43Спасибо за внимание! Жду Ваших вопросов