Тестирование программного обеспечения презентация

Содержание

Слайд 2

Василий Корпусов Test Automation Engineer, Bercut ltd Автоматизировал 700+ ручных

Василий Корпусов

Test Automation Engineer, Bercut ltd
Автоматизировал 700+ ручных тест-кейсов
Аспирант кафедры «Автоматизация

предприятий связи», СПБГУТ им. Бонч-Бруевича
Слайд 3

План История развития тестирования Процесс тестирования(тестировщик, уровни, виды и типы

План

История развития тестирования
Процесс тестирования(тестировщик, уровни, виды и типы тестирования)
Автоматизированное тестирование(автоматизатор)
Подходы к

АТ
Области применения АТ
Преимущества и недостатки АТ
Навыки и умения
Слайд 4

Источники ISTQB (International Software Testing Qualifications Board) - https://www.rstqb.org/ru/istqb-downloads.html ГОСТ

Источники
ISTQB (International Software Testing Qualifications Board) - https://www.rstqb.org/ru/istqb-downloads.html
ГОСТ Р 56922-2016/ISO/IEC/IEEE 29119-1:2013

Системная и программная инженерия. Тестирование программного обеспечения. Часть 1-3 - http://docs.cntd.ru/document/1200134996,
Слайд 5

Введение „Тестирование программы может весьма эффективно продемонстрировать наличие ошибок, но

Введение

„Тестирование программы может весьма эффективно продемонстрировать наличие ошибок, но оно не

демонстрирует их отсутствие.“

Эдсгер Вибе Дейкстра, Ученый-информатик, сооснователь структурного программирования

Слайд 6

История: Появление процесса тестирования ПО Первые программы разрабатывались для МО Строго формализованное тестирование Отдельный процесс тестирование

История: Появление процесса тестирования ПО

Первые программы разрабатывались для МО
Строго формализованное тестирование
Отдельный

процесс тестирование
Слайд 7

Тестирование в 1960-х В 1960-х много внимания уделялось «исчерпывающему» тестированию,

Тестирование в 1960-х

В 1960-х много внимания уделялось «исчерпывающему» тестированию, которое должно

проводиться с использованием всех путей в коде или всех возможных входных данных
Слайд 8

Тестирование в 1970-х В начале 1970-х тестирование ПО обозначалось как «процесс, направленный на демонстрацию корректности продукта»

Тестирование в 1970-х

В начале 1970-х тестирование ПО обозначалось как «процесс, направленный

на демонстрацию корректности продукта»
Слайд 9

Тестирование в 1980-х В 1980-х тестирование расширилось таким понятием, как

Тестирование в 1980-х

В 1980-х тестирование расширилось таким понятием, как предупреждение дефектов
В

середине 1980-х появились первые инструменты для автоматизированного тестирования
Слайд 10

Тестирование в 1990-х В начале 1990-х переход от тестирования к

Тестирование в 1990-х

В начале 1990-х переход от тестирования к обеспечению качества,

охватывающего весь цикл разработки ПО
В середине 1990-х с развитием Интернета и разработкой большого количества веб-приложений особую популярность стало получать «гибкое тестирование»
Слайд 11

Тестирование в 2000-х В 2000-х появилось еще более широкое определение

Тестирование в 2000-х

В 2000-х появилось еще более широкое определение тестирования, когда

в него было добавлено понятие «оптимизация бизнес-технологий» (en:business technology optimization, BTO). BTO направляет развитие информационных технологий в соответствии с целями бизнеса.
Слайд 12

Testing - Quality Control – Quality Assurance TESTING (detection) QC

Testing - Quality Control – Quality Assurance

TESTING
(detection)

QC
(verification & Validation)

QA
(bugs prevention)

Проверка ПО,
поиск

ошибок, дефектов , багов

+ Работа на предотвращение багов и улучшения качества

+ Анализ полученных результатов

Слайд 13

Software Testing Software Testing (тестирование ПО) — процесс исследования, испытания

Software Testing

Software Testing (тестирование ПО)  — процесс исследования, испытания программного продукта,

имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом (ISO/IEC TR 19759:2005)
Слайд 14

Quality Control Quality Control (контроль качества) — это процесс нахождения

Quality Control

Quality Control (контроль качества) — это процесс нахождения ошибок в

продукте, с целью их последующего исправления.
Задачей Quality Control является поддержка качества продукта в текущий момент времени.
Слайд 15

Quality Assurance Quality Assurance (обеспечение качества) — это превентивный процесс,

Quality Assurance

Quality Assurance (обеспечение качества) — это превентивный процесс, задачей которого

является обеспечение качества продукта в будущем.
Слайд 16

Тестировщик – QA/QC Engineer Тестировщик (tester) – это опытный специалист,

Тестировщик – QA/QC Engineer

Тестировщик (tester) – это опытный специалист, принимающий участие

в тестировании компонента или системы. [ISTQB Glossary]
Слайд 17

Уровни тестирования UNIT TESTING INTEGRATION TESTING SYSTEM TESTING ACCEPTANCE TESTING

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

UNIT TESTING

INTEGRATION TESTING

SYSTEM TESTING

ACCEPTANCE TESTING

Слайд 18

Unit Testing Модульное(компонентное) тестирование - тестирование отдельных компонентов программного обеспечения. [Согласно IEEE 610]

Unit Testing

Модульное(компонентное) тестирование - тестирование отдельных компонентов программного обеспечения. [Согласно IEEE

610]
Слайд 19

Integration Testing Интеграционное тестирование - тестирование, выполняемое для обнаружения дефектов

Integration Testing

Интеграционное тестирование - тестирование, выполняемое для обнаружения дефектов в интерфейсах

и во взаимодействии между интегрированными компонентами или системами. [ISTQB Glossary]

Component Integration Testing (компонентное тестирование)
System Integration Testing (Системное тестирование)

Слайд 20

System Testing Системное тестирование - процесс тестирования системы в целом

System Testing

Системное тестирование - процесс тестирования системы в целом с целью

проверки того, что она соответствует установленным требованиям. [ISTQB Glossary]

Alpha Testing
(альфа тестирование)
Beta Testing
(бета тестирование)

Слайд 21

Acceptance Testing Приёмочное тестирование - проводится с целью определения соответствия

Acceptance Testing

Приёмочное тестирование - проводится с целью определения соответствия системы критериям

приёмки и дать возможность пользователям, заказчикам или иным авторизированым лицам определить, принимать систему или нет. [Согласно IEEE 610]
Слайд 22

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

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

Слайд 23

По объекту тестирования Functional testing GUI testing Localization testing Performance

По объекту тестирования

Functional testing
GUI testing
Localization testing
Performance testing
Security testing
Usability testing
Compatibility testing

Слайд 24

Functional Testing Функциональное тестирование - тестирование, основанное на анализе спецификации

Functional Testing

Функциональное тестирование - тестирование, основанное на анализе спецификации функциональности компонента

или системы. [ISTQB Glossary]

Проводится в двух аспектах:
Требования
Бизнес-процессы

Слайд 25

По объекту тестирования Functional testing GUI testing Localization testing Performance

По объекту тестирования

Functional testing
GUI testing
Localization testing
Performance testing
Security testing
Usability testing
Compatibility testing

Слайд 26

GUI Testing Тестирование пользовательского интерфейса – функциональная проверка интерфейса на соответствие требованиям(размер, шрифт, цвет и т.д.).

GUI Testing

Тестирование пользовательского интерфейса – функциональная проверка интерфейса на соответствие требованиям(размер,

шрифт, цвет и т.д.).
Слайд 27

По объекту тестирования Functional testing GUI testing Localization testing Performance

По объекту тестирования

Functional testing
GUI testing
Localization testing
Performance testing
Security testing
Usability testing
Compatibility testing

Слайд 28

Localization Testing Тестирование локализации - это процесс тестирования локализованной версии программного продукта. [ISTQB Glossary]

Localization Testing

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

[ISTQB Glossary]
Слайд 29

По объекту тестирования Functional testing GUI testing Localization testing Performance

По объекту тестирования

Functional testing
GUI testing
Localization testing
Performance testing
Security testing
Usability testing
Compatibility testing

Слайд 30

Performance Testing Performance Testing Stability Scalability Volume Stress Load Recovery

Performance Testing

Performance
Testing

Stability

Scalability

Volume

Stress

Load

Recovery

Слайд 31

По объекту тестирования Functional testing GUI testing Localization testing Performance

По объекту тестирования

Functional testing
GUI testing
Localization testing
Performance testing
Security testing
Usability testing
Compatibility testing

Слайд 32

Security Testing Тестирование безопасности - тестирование с целью оценить защищенность программного продукта. [ISTQB Glossary]

Security Testing

Тестирование безопасности - тестирование с целью оценить защищенность программного продукта.

[ISTQB Glossary]
Слайд 33

По объекту тестирования Functional testing GUI testing Localization testing Performance

По объекту тестирования

Functional testing
GUI testing
Localization testing
Performance testing
Security testing
Usability testing
Compatibility testing

Слайд 34

Usability Testing Тестирование удобства пользования - тестирование с целью определения

Usability Testing

Тестирование удобства пользования - тестирование с целью определения степени понятности,

легкости в изучении и использовании, привлекательности программного продукта для пользователя. [ISO 9126]
Слайд 35

По объекту тестирования Functional testing GUI testing Localization testing Performance

По объекту тестирования

Functional testing
GUI testing
Localization testing
Performance testing
Security testing
Usability testing
Compatibility testing

Слайд 36

Compatibility Testing Тестирование совместимости - процесс тестирования для определения возможности

Compatibility Testing

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

продукта. [ISTQB Glossary]

Обратная совместимость
Прямая совместимость

Слайд 37

По запуску кода на исполнение Static testing (статическое тестирование) Dynamic testing (динамическое тестирование)

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

Static testing
(статическое тестирование)
Dynamic testing
(динамическое тестирование)

Слайд 38

По доступу к коду Black box (system test) Grey box (integration testing) White box (unit testing)

По доступу к коду

Black box
(system test)
Grey box
(integration testing)
White box
(unit testing)

Слайд 39

По степени автоматизации Manual testing Automated testing Semi automated testing

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

Manual testing
Automated testing
Semi automated testing

Слайд 40

По степени автоматизации Manual testing Automated testing Semi automated testing

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

Manual testing
Automated testing
Semi automated testing

Слайд 41

По степени автоматизации Manual testing Automated testing Semi automated testing

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

Manual testing
Automated testing
Semi automated testing

Слайд 42

Связанное с изменениями Build Verification Test Smoke Testing Sanity Testing Regression Testing

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

Build Verification Test
Smoke Testing
Sanity Testing
Regression Testing

Слайд 43

Связанное с изменениями Build Verification Test Smoke Testing Sanity Testing Regression Testing

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

Build Verification Test
Smoke Testing
Sanity Testing
Regression Testing

Слайд 44

Связанное с изменениями Build Verification Test Smoke Testing Sanity Testing Regression Testing

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

Build Verification Test
Smoke Testing
Sanity Testing
Regression Testing

Слайд 45

Связанное с изменениями Build Verification Test Smoke Testing Sanity Testing Regression Testing

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

Build Verification Test
Smoke Testing
Sanity Testing
Regression Testing

Слайд 46

По признаку позитивности сценариев Positive testing Negative testing

По признаку позитивности сценариев

Positive testing
Negative testing

Слайд 47

По признаку позитивности сценариев Positive testing Negative testing

По признаку позитивности сценариев

Positive testing
Negative testing

Слайд 48

Тестирование по плану

Тестирование по плану

Слайд 49

Тестирование без плана Ad hoc testing(свободное тестирование) Exploratory testing(исследовательское тестирование)

Тестирование без плана

Ad hoc testing(свободное тестирование)
Exploratory testing(исследовательское тестирование)

Слайд 50

Типы тестирования Smoke test Critical path test Extended test

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

Smoke test
Critical path test
Extended test

Слайд 51

Smoke test Пример Smoke-теста для калькулятора: Ввести число Выбрать функцию(сложение,

Smoke test

Пример Smoke-теста для калькулятора:
Ввести число
Выбрать функцию(сложение, вычитание, умножение и т.д.)
Ввести

второе число
Нажать на равно
Убедиться в наличии ответа
Слайд 52

Типы тестирования Smoke test Critical path test Extended test

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

Smoke test
Critical path test
Extended test

Слайд 53

Critical path test Примеры шагов критического теста для тестирования калькулятора:

Critical path test

Примеры шагов критического теста для тестирования калькулятора:
Проверка сложения, умножения,

деления и т.д.
Деление на ноль
Оставить пустым
Специальные символы
Ноль вначале, без разделяющего символа
Пробелы
Ноль после разделяющего символа для десятичных значений
И т.д.
Слайд 54

Типы тестирования Smoke test Critical path test Extended test

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

Smoke test
Critical path test
Extended test

Слайд 55

Extended test Примеры шагов расширенного теста для тестирования калькулятора: Нажатие

Extended test

Примеры шагов расширенного теста для тестирования калькулятора:
Нажатие нескольких кнопок подряд

(сначала сложение, потом вычитание)
Вычисление результата уравнения
И т.д.
Слайд 56

Test Automation Автоматизация тестирования (test automation): Использование программного обеспечения для

Test Automation

Автоматизация тестирования (test automation): Использование программного обеспечения для осуществления или

помощи в проведении определенных тестовых процессов, например, управление тестированием, проектирование тестов, выполнение тестов и проверка результатов. [ISTQB Glossary]
Слайд 57

Из чего состоит автоматизация? Автотесты (скрипты) Система запуска Анализ результатов

Из чего состоит автоматизация?

Автотесты (скрипты)
Система запуска
Анализ результатов

Слайд 58

Когда необходима автоматизация? Масштабное приложение с большим количеством бизнес-функций Значительный

Когда необходима автоматизация?

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

(от 1 года и более)
Внедрение CI/CD, регулярные релизы + небольшое количество QA специалистов
Слайд 59

Концепция непрерывной интеграции и доставки(CI/CD)

Концепция непрерывной интеграции и доставки(CI/CD)

Слайд 60

Зачем нужна автоматизация? Решение рутинных задач Ускорение выполнения тестирования Уменьшение

Зачем нужна автоматизация?

Решение рутинных задач

Ускорение выполнения тестирования

Уменьшение затрат на ручное тестирование

Увеличение

тестового покрытия
Слайд 61

Тестировщик-Автоматизатор Разработка Тестирование «Типичный Автоматизатор — хитрец. Он сделает все

Тестировщик-Автоматизатор

Разработка

Тестирование

«Типичный Автоматизатор — хитрец. Он сделает все для того, чтобы не делать одно и то же

несколько раз».
Слайд 62

Плюсы автоматизации Неутомимость Скорость Многофункциональность Масштаб Экономия сил Экономия средств

Плюсы автоматизации

Неутомимость
Скорость
Многофункциональность
Масштаб
Экономия сил
Экономия средств

Слайд 63

+ Неутомимость

+ Неутомимость

Слайд 64

+ Скорость

+ Скорость

Слайд 65

+ Многофункциональность

+ Многофункциональность

Слайд 66

+ Масштаб

+ Масштаб

Слайд 67

+ Экономия сил

+ Экономия сил

Слайд 68

+ Экономия средств

+ Экономия средств

Слайд 69

Минусы автоматизации Поломки Близорукость Трудно поддерживать Не везде применимы Затратность

Минусы автоматизации

Поломки
Близорукость
Трудно поддерживать
Не везде применимы
Затратность

Слайд 70

- Поломки

- Поломки

Слайд 71

- Близорукость

- Близорукость

Слайд 72

- Трудно поддерживать

- Трудно поддерживать

Слайд 73

- Не везде применимы

- Не везде применимы

Слайд 74

- Затратность

- Затратность

Слайд 75

Выводы

Выводы

Слайд 76

Пирамида АТ

Пирамида АТ

Слайд 77

Когда автоматизировать? Regression testing Performance testing Compatibility testing Unit testing Smoke testing Security testing GUI testing

Когда автоматизировать?

Regression testing
Performance testing
Compatibility testing
Unit testing
Smoke testing
Security testing
GUI testing

Слайд 78

Automated Regression Testing Какую проблему решает автоматизация регрессионного тестирования? Необходимость

Automated Regression Testing

Какую проблему решает автоматизация регрессионного тестирования?

Необходимость выполнять вручную тесты,

количество которых неуклонно растёт с каждым билдом, но вся суть которых сводится к проверке того факта, что ранее работавшая функциональность продолжает работать корректно.
Слайд 79

Когда автоматизировать? Regression testing Performance testing Compatibility testing Unit testing Smoke testing Security testing GUI testing

Когда автоматизировать?

Regression testing
Performance testing
Compatibility testing
Unit testing
Smoke testing
Security testing
GUI testing

Слайд 80

Automated Performance Testing Какую проблему решает автоматизация производительности? Создание нагрузки

Automated Performance Testing

Какую проблему решает автоматизация производительности?

Создание нагрузки с интенсивностью и

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

Когда автоматизировать? Regression testing Performance testing Compatibility testing Unit testing Smoke testing Security testing GUI testing

Когда автоматизировать?

Regression testing
Performance testing
Compatibility testing
Unit testing
Smoke testing
Security testing
GUI testing

Слайд 82

Automated Compatibility Testing Какую проблему решает автоматизация тестирования совместимости? Выполнение

Automated Compatibility Testing

Какую проблему решает автоматизация тестирования совместимости?

Выполнение одних и тех

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

Когда автоматизировать? Regression testing Performance testing Compatibility testing Unit testing Smoke testing Security testing GUI testing

Когда автоматизировать?

Regression testing
Performance testing
Compatibility testing
Unit testing
Smoke testing
Security testing
GUI testing

Слайд 84

Automated Unit Testing Какую проблему решает автоматизация модульного тестирования? Проверка

Automated Unit Testing

Какую проблему решает автоматизация модульного тестирования?

Проверка корректности работы атомарных

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

Когда автоматизировать? Regression testing Performance testing Compatibility testing Unit testing Smoke testing Security testing GUI testing

Когда автоматизировать?

Regression testing
Performance testing
Compatibility testing
Unit testing
Smoke testing
Security testing
GUI testing

Слайд 86

Automated Smoke Testing Какую проблему решает автоматизация smoke тестирования? Выполнение

Automated Smoke Testing

Какую проблему решает автоматизация smoke тестирования?

Выполнение при получении каждого

билда большого количества достаточно простых тест-кейсов необходимых для проверки работоспособности приложения.
Слайд 87

Когда автоматизировать? Regression testing Performance testing Compatibility testing Unit testing Smoke testing Security testing GUI testing

Когда автоматизировать?

Regression testing
Performance testing
Compatibility testing
Unit testing
Smoke testing
Security testing
GUI testing

Слайд 88

Automated Security Testing Какую проблему решает автоматизация тестирования безопасности? Необходимость

Automated Security Testing

Какую проблему решает автоматизация тестирования безопасности?

Необходимость проверки прав доступа,

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

Когда автоматизировать? Regression testing Performance testing Compatibility testing Unit testing Smoke testing Security testing GUI testing

Когда автоматизировать?

Regression testing
Performance testing
Compatibility testing
Unit testing
Smoke testing
Security testing
GUI testing

Слайд 90

Automated GUI Testing Какую проблему решает автоматизация тестирования пользовательского интерфейса?

Automated GUI Testing

Какую проблему решает автоматизация тестирования пользовательского интерфейса?

Автоматизация предельно рутинных

действий (например, проверить покупку всех товаров в интернет-магазине).
Слайд 91

Выбор инструмента

Выбор инструмента

Слайд 92

Необходимые знания и навыки Сочетание программирования и тестирования в автоматизации: Автоматизация тестирования Программирование Тестирование

Необходимые знания и навыки

Сочетание программирования и тестирования в автоматизации:

Автоматизация тестирования

Программирование

Тестирование

Слайд 93

Имя файла: Тестирование-программного-обеспечения.pptx
Количество просмотров: 31
Количество скачиваний: 0