Основы тестирования ПО
Программа семинара
Что такое тестирование?
Тестирование – это…
Тестирование – это
Положительная и отрицательная обратная связь
Тестирование – QC – QA
История определений
Рабочее определение №1
Схема тестирования
Определение по SWEBOK
Определение по SWEBOK
Определение по SWEBOK
Рабочее определение №1 (повтор)
Рабочее определение №2
Тестировщик:
Основные задачи тестирования
Входы и выходы
Входы и выходы
Разновидности входов и выходов
Характеристики качества и виды контроля качества
Аспекты качества
1 - Функциональность
2 - Надёжность
3 - Практичность
4 - Эффективность
5 - Сопровождаемость
6 - Переносимость
Тестирование:
Различные классификации видов тестирования
Уровни тестирования
Приложение-матрёшка
Тестирование бывает:
Тестирование бывает:
Чёрное и белое
Рабочее определение
No more bugs found, boss!
Полнота тестирования
Чёрное и белое
Чёрное
Белое
Приложение-матрёшка
Разноцветные ящики
Продолжение следует…
836.90K
Category: softwaresoftware

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

1. Основы тестирования ПО

Вводный курс
Автор: Алексей Баранцев

2. Программа семинара

Что такое тестирование?
Характеристики качества и виды
контроля качества
Классификации тестирования
по уровням
по целям
«чёрное и белое»

3. Что такое тестирование?

4. Тестирование – это…

… не разработка
… не анализ
… не управление
… не техписательство
… не
… не
… не

5. Тестирование – это

предоставление отрицательной обратной связи

6. Положительная и отрицательная обратная связь

7. Тестирование – QC – QA

Quality Assurance
Обеспечение качества
Quality Control
Контроль качества
Тестирование

8. История определений

1980
Процесс выполнения программы с намерением найти ошибки.
[Г.Майерс. Надежность программного обеспечения. М:Мир, 1980]
1987
Процесс наблюдения за выполнением программы в специальных
условиях и вынесения на этой основе оценки каких-либо ее
аспектов. [ANSI/IEEE standard 610.12-1990: Glossary of SE
Terminology. NY:IEEE, 1987]
1990
Это не действие. Это интеллектуальная дисциплина, имеющая
целью получение надежного программного обеспечения без
излишних усилий на его проверку. [B. Beizer. Software Testing
Techniques, Second Edition. NY:van Nostrand Reinhold, 1990]
1999
Техническое исследование программы для получения информации
о ее качестве с точки зрения определенного круга
заинтересованных лиц. [С. Kaner, 1999]
2004
Проверка соответствия между реальным поведением программы
и ее ожидаемым поведением на конечном наборе тестов,
выбранном определенным образом. [IEEE Guide to Software
Engineering Body of Knowledge, SWEBOK, 2004]

9. Рабочее определение №1

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

10. Схема тестирования

Программа
Требования
Информация о
несоответствиях

11. Определение по SWEBOK

Тестирование – это
проверка соответствия
между реальным поведением
программы и ее ожидаемым
поведением
на конечном наборе тестов,
выбранном определенным образом
SWEBOK, 2004

12. Определение по SWEBOK

Тестирование – это
проверка соответствия
между реальным поведением
программы и ее ожидаемым
поведением
на конечном наборе тестов,
выбранном определенным образом
SWEBOK, 2004

13. Определение по SWEBOK

Тестирование – это
проверка соответствия
между реальным поведением
программы и ее ожидаемым
поведением
на ограниченном наборе тестов,
выбранном определенным образом
SWEBOK, 2004

14. Рабочее определение №1 (повтор)

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

15. Рабочее определение №2

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

16. Тестировщик:

1.
Управляет выполнением программы,
создаёт искусственные ситуации
2.
Наблюдает поведение программы и
сравнивает наблюдаемое поведение
с ожидаемым

17. Основные задачи тестирования

1.
Что подать на вход?
стимулы
2.
Что ожидается на выходе?
реакции
оракул

18. Входы и выходы

19. Входы и выходы

Программа

20. Разновидности входов и выходов

Пользовательский интерфейс (UI)
Программный интерфейс (API)
Сетевой протокол
Файловая система
Состояние окружения
События

21. Характеристики качества и виды контроля качества

22. Аспекты качества

Стандарт ISO 9126
Функциональность
Надёжность
Практичность
Эффективность
Сопровождаемость
Переносимость

23. 1 - Функциональность

Пригодность к использованию
(suitability)
Точность, правильность (accuracy)
Способность к взаимодействию
(interoperability)
Соответствие стандартам и правилам
(compliance)
Защищенность (security)

24. 2 - Надёжность

Зрелость, завершенность (обратна к
частоте отказов) (maturity)
Устойчивость к отказам (fault tolerance)
Способность к восстановлению
работоспособности при отказах
(recoverability)

25. 3 - Практичность

Понятность (understandability)
Удобство обучения (learnability)
Работоспособность (operability)
Привлекательность (attractiveness)

26. 4 - Эффективность

Временные характеристики (time
behaviour)
Использование ресурсов (resource
utilisation)

27. 5 - Сопровождаемость

Анализируемость (analyzability)
Изменяемость, удобство внесения
изменений (changeability)
Риск возникновения неожиданных
эффектов при внесении изменений
(stability)
Контролируемость , удобство проверки
(testability)

28. 6 - Переносимость

Адаптируемость (adaptability)
Устанавливаемость, удобство установки
(installability)
Способность к сосуществованию с другим
ПО (coexistence)
Удобство замены другого ПО данным
(replaceability)

29. Тестирование:

функциональности
надёжности
эффективности
практичности
сопровождаемости
переносимости

30. Различные классификации видов тестирования

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

Модульное
Интеграционное
Системное

32. Приложение-матрёшка

КИС
Веб-приложение
Клиентская Серверная часть
часть
Сервер приложений
База
данных
JS library
JS func
library
class
method method
Stored
proc
JS library
JS func
class
method method
Stored
proc

33. Тестирование бывает:

Модульное
Интеграционное
Системное
функциональности
надёжности
эффективности
практичности
сопровождаемости
мобильности

34. Тестирование бывает:

35. Чёрное и белое

36. Рабочее определение

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

37.

38. No more bugs found, boss!

39. Полнота тестирования

40. Чёрное и белое

41. Чёрное

Полностью покрыты все …
… входные данные
… комбинации входных данных
… последовательности
комбинаций входных данных

42. Белое

Полностью покрыты все …
… строки кода программы
… ветви в коде программы
… пути в коде программы

43. Приложение-матрёшка

КИС
Веб-приложение
Клиентская Серверная часть
часть
Сервер
База
приложений
данных
JS library
library
пакет
JS library
library
library
Веб-сервис
База данных
Приложение
Чужое
приложение
English     Русский Rules