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

1.

Manual QA course
Lecture 5. Уровни тестирования программного обеспечения. Часть 1 +
Логика
Дорофеев Максим

2.

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

3.

Уровни тестирования.
В тестировании ПО можно выделить 4 основные уровня тестирования:
- Acceptance testing;
- System testing;
- Integration testing;
- Unit testing;

4.

Модульное(Unit) - тестирование
Процесс в программировании, позволяющий проверить на корректность
отдельные модули исходного кода программы.
Модульное тестирование – это всегда автоматизированное
тестирование!

5.

Модульное(Unit) - тестирование
Цель тестирования – Изолировать отдельные части программы и
показать, что по отдельности эти части работоспособны.

6.

Модульное(Unit) - тестирование
Проверяет функциональность и ищет
дефекты в частях приложения, которые
доступны и могут быть протестированы поотдельности (модули программ, объекты,
классы, функции и т.д.).

7.

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

8.

Модульное(Unit) - тестирование
Все найденные дефекты, как правило
исправляются в коде без формального их
описания в системе менеджмента багов
(Bug Tracking System).

9.

Модульное(Unit) – тестирование.
Преимущества
- Поощрение изменений;
- Упрощение интеграции;
- Документирование кода;
- Отделение интерфейса от реализации.

10.

Модульное(Unit) – тестирование. Когда
модульное тестирование не работает.
- Сложный код;
- Результат известен лишь приблизительно;
- Ошибки интеграции и производительности;
- Общая низкая культура программирования;
- Проблемы с объектами – заглушками;

11.

Модульное(Unit) – тестирование.
Объекты - заглушки
Mock – Object – Тип объектов, реализующий заданные аспекты
моделируемого программного окружения.

12.

Модульное(Unit) – тестирование.
Инструментарий
Для Java:
- JUnit;
- TestNG;
Для Ruby:
- Rspec;
- TestUnit

13.

Модульное(Unit) – тестирование.
Инструментарий
Для C#:
- NUnit;
- xUnit;
- MSTest.

14.

Модульное(Unit) – тестирование.
Инструментарий
Для JavaScript:
- QUnit;
- Jasmine.

15.

Модульное(Unit) – тестирование. TDD
Один из наиболее эффективных подходов к
модульному тестированию - это подготовка
автоматизированных тестов до начала
основного этапа разработки ПО.

16.

Модульное(Unit) – тестирование. TDD
Это называется разработка от тестирования (testdriven development) или подход тестирования вначале
(test first approach). При этом подходе создаются и
интегрируются небольшие куски кода, напротив
которых запускаются тесты, написанные до начала
разработки.

17.

Модульное(Unit) – тестирование. TDD
Разработка ведется до тех пор пока все
тесты не будут успешно пройдены.

18.

Модульное(Unit) – тестирование. TDD

19.

TDD. Преимущества
Качество тестов:
- 100% покрытие тестов;
- Модульные тесты;
- Изменения без страха;

20.

TDD. Преимущества
Качество кода:
- Модульный, гибкий и расширяемый код;
- Всегда работающий код;
- Меньшее время отладки;
- Поощряет рефакторинг.

21.

TDD. Недостатки
- Высокий порог вхождения;
- Ошибочный тест = ошибочный код;
- Поддержка большого количества тестов.

22.

BDD. Что это?
Behavior – driven development:
- Ответвление от TDD;
- Связь кода с требованиями;
- Фокус не на тестах, а на поведении;
- Запись требований с помощью обычных фраз.

23.

BDD. Как это работает
1. Описание требований заказчиком)))

24.

BDD. Как это работает
2. Реализация функционала;
3. Проверка соответствия требованиям (тест прошел/ не прошел)

25.

BDD. Инструментарий
- Java, Ruby, JavaScript, PHP – Cucumber
- C# - SpecFlow.

26.

BDD. Пример

27.

Логика
Парадокс Монти Холла (автомобиль и
козы)

28.

29.

Логика
Как взвесить без весов реактивный
авиалайнер?

30.

Логика
Почему крышки канализационных люков
круглые?

31.

Можете ли вы установить, по какому принципу выстроена данная
последовательность:
8290157346

32.

Логика
У вас есть пять баночек с таблетками.
Нормальные таблетки весят по 10 грамм,
но есть одна баночка с дефектными
таблетками, которые весят по 9 грамм
каждая. Как при помощи одного
взвешивания определить в какой баночке
дефектные таблетки?

33.

Вопросы и ответы
English     Русский Правила