Основы тестирования ПО
DESCRIPTION
Вводный курс. Основы тестирования ПО. Автор: Алексей Баранцев. Программа семинара. Что такое тестирование? Характеристики качества и виды контроля качества Классификации тестирования по уровням по целям «чёрное и белое». Что такое тестирование?. Тестирование – это…. … не разработка - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/1.jpg)
Основы тестирования ПОВводный курс
Автор: Алексей Баранцев
![Page 2: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/2.jpg)
Программа семинара
Что такое тестирование?Характеристики качества и виды
контроля качестваКлассификации тестирования
по уровням по целям «чёрное и белое»
![Page 3: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/3.jpg)
Что такое тестирование?
![Page 4: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/4.jpg)
Тестирование – это…
… не разработка… не анализ… не управление… не техписательство… не… не… не
![Page 5: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/5.jpg)
Тестирование – это
предоставление отрицательной обратной связи
![Page 6: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/6.jpg)
Положительная и отрицательная обратная связь
![Page 7: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/7.jpg)
Тестирование – QC – QA
Quality AssuranceОбеспечение качества
Quality ControlКонтроль качества
Тестирование
![Page 8: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/8.jpg)
История определений Процесс выполнения программы с намерением найти ошибки.
[Г.Майерс. Надежность программного обеспечения. М:Мир, 1980] Процесс наблюдения за выполнением программы в специальных
условиях и вынесения на этой основе оценки каких-либо ее аспектов. [ANSI/IEEE standard 610.12-1990: Glossary of SE Terminology. NY:IEEE, 1987]
Это не действие. Это интеллектуальная дисциплина, имеющая целью получение надежного программного обеспечения без излишних усилий на его проверку. [B. Beizer. Software Testing Techniques, Second Edition. NY:van Nostrand Reinhold, 1990]
Техническое исследование программы для получения информации о ее качестве с точки зрения определенного круга заинтересованных лиц. [С. Kaner, 1999]
Проверка соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранном определенным образом. [IEEE Guide to Software Engineering Body of Knowledge, SWEBOK, 2004]
1980
1987
1990
1999
2004
![Page 9: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/9.jpg)
Рабочее определение №1
Тестирование – это
проверка соответствия программы требованиям,
осуществляемая путём наблюдения за её работой
в специальных, искусственно созданных ситуациях, выбранных определённым образом
![Page 10: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/10.jpg)
Схема тестирования
Программа
Информация онесоответствияхТребования
![Page 11: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/11.jpg)
Определение по SWEBOK
Тестирование – это
проверка соответствия
между реальным поведением программы и ее ожидаемым поведением
на конечном наборе тестов, выбранном определенным образом
SWEBOK, 2004
![Page 12: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/12.jpg)
Определение по SWEBOK
Тестирование – это
проверка соответствия
между реальным поведением программы и ее ожидаемым поведением
на конечном наборе тестов, выбранном определенным образом
SWEBOK, 2004
![Page 13: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/13.jpg)
Определение по SWEBOK
Тестирование – это
проверка соответствия
между реальным поведением программы и ее ожидаемым поведением
на ограниченном наборе тестов, выбранном определенным образом
SWEBOK, 2004
![Page 14: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/14.jpg)
Рабочее определение №1 (повтор)
Тестирование – это
проверка соответствия программы требованиям,
осуществляемая путём наблюдения за её работой
в специальных, искусственно созданных ситуациях, выбранных определённым образом
![Page 15: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/15.jpg)
Рабочее определение №2
Тест – это
специальная, искусственно созданная ситуация, выбранная определённым образом,
и описание того, какие наблюдения за работой программы нужно сделать
для проверки её соответствия некоторому требованию
![Page 16: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/16.jpg)
Тестировщик:
1. Управляет выполнением программы, создаёт искусственные ситуации
2. Наблюдает поведение программы и сравнивает наблюдаемое поведение с ожидаемым
![Page 17: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/17.jpg)
Основные задачи тестирования
1. Что подать на вход?стимулы
2. Что ожидается на выходе?реакцииоракул
![Page 18: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/18.jpg)
Входы и выходы
![Page 19: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/19.jpg)
Входы и выходы
Программа
![Page 20: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/20.jpg)
Разновидности входов и выходов
Пользовательский интерфейс (UI)Программный интерфейс (API)Сетевой протоколФайловая системаСостояние окруженияСобытия
![Page 21: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/21.jpg)
Характеристики качества и виды контроля качества
![Page 22: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/22.jpg)
Аспекты качества
Стандарт ISO 9126 Функциональность Надёжность
Практичность Эффективность Сопровождаемость Переносимость
![Page 23: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/23.jpg)
1 - Функциональность
Пригодность к использованию (suitability)
Точность, правильность (accuracy)Способность к взаимодействию
(interoperability)Соответствие стандартам и правилам
(compliance)Защищенность (security)
![Page 24: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/24.jpg)
2 - Надёжность
Зрелость, завершенность (обратна к частоте отказов) (maturity)
Устойчивость к отказам (fault tolerance)Способность к восстановлению
работоспособности при отказах (recoverability)
![Page 25: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/25.jpg)
3 - Практичность
Понятность (understandability)Удобство обучения (learnability)Работоспособность (operability)Привлекательность (attractiveness)
![Page 26: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/26.jpg)
4 - Эффективность
Временные характеристики (time behaviour)
Использование ресурсов (resource utilisation)
![Page 27: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/27.jpg)
5 - Сопровождаемость
Анализируемость (analyzability) Изменяемость, удобство внесения
изменений (changeability) Риск возникновения неожиданных
эффектов при внесении изменений (stability)
Контролируемость , удобство проверки (testability)
![Page 28: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/28.jpg)
6 - Переносимость
Адаптируемость (adaptability) Устанавливаемость, удобство установки
(installability) Способность к сосуществованию с другим
ПО (coexistence) Удобство замены другого ПО данным
(replaceability)
![Page 29: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/29.jpg)
Тестирование:
функциональностинадёжностиэффективностипрактичностисопровождаемостипереносимости…
![Page 30: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/30.jpg)
Различные классификации видов тестирования
![Page 31: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/31.jpg)
Уровни тестирования
Модульное Интеграционное Системное
![Page 32: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/32.jpg)
Приложение-матрёшка
КИСВеб-приложениеКлиентскаячасть
Серверная часть
JS library
Сервер приложений Базаданных
Storedproc
Storedproc
JS func
JS libraryJS func
library
class
class
method
method
method
method
![Page 33: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/33.jpg)
Тестирование бывает:
Модульное Интеграционное Системное
функциональности надёжности эффективности практичности сопровождаемости мобильности
![Page 34: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/34.jpg)
Тестирование бывает:
![Page 35: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/35.jpg)
Чёрное и белое
![Page 36: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/36.jpg)
Рабочее определение
Тестирование – это
проверка соответствия программы требованиям,
осуществляемая путём наблюдения за её работой
в специальных, искусственно созданных ситуациях , выбранных определённым образом
![Page 37: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/37.jpg)
![Page 38: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/38.jpg)
No more bugs found, boss!
![Page 39: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/39.jpg)
Полнота тестирования
![Page 40: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/40.jpg)
Чёрное и белое
![Page 41: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/41.jpg)
Чёрное
Полностью покрыты все …… входные данные… комбинации входных данных… последовательности
комбинаций входных данных
![Page 42: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/42.jpg)
Белое
Полностью покрыты все …… строки кода программы… ветви в коде программы… пути в коде программы
![Page 43: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/43.jpg)
Приложение-матрёшка
КИСВеб-приложениеКлиентскаячасть
Серверная часть
JS library
Серверприложений
Базаданных
пакет
libraryJS library
library
library
Веб-сервис
Приложение
База данных
Чужоеприложение
![Page 44: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/44.jpg)
Разноцветные ящики
![Page 45: Основы тестирования ПО](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56813703550346895d9e9035/html5/thumbnails/45.jpg)
Продолжение следует…