Техники тест-дизайна
Повторение
Сегодня
Тест дизайн
Зачем нужны техники тест-дизайна
Задача: проверить содержимое
Задача: проверить содержимое
Задача: проверить содержимое
Задача: проверить содержимое
Задача: проверить содержимое
Зачем нужны техники тест-дизайна
Зачем нужны техники тест-дизайна
Исчерпывающее тестирование
Исчерпывающее тестирование
Запомнить!
Позитивные и негативные кейсы
Позитивные и негативные кейсы
Запомнить!
Тестовые данные
Тестовые данные
Запомнить!
Классы эквивалентности
Классы эквивалентности
Граничные значения
Граничные значения
Запомнить!
Причина - следствие
Предугадывание ошибки
Предугадывание ошибки
Предугадывание ошибки
Предугадывание ошибки
Предугадывание ошибки
Запомнить!
Попарное тестирование
Попарное тестирование
Запомнить!
Вспомогательные инструменты
Майнд-карта
Майнд-карта
Майнд-карта
Блок-схема
Блок-схема
Блок-схема
Запомнить!
Эффективность тест-кейсов
Запомнить!
Мутационное тестирование
Мутационное тестирование
Домашнее задание!
Важная информация
Спасибо!
3.21M
Category: programmingprogramming

Техники тест-дизайна

1. Техники тест-дизайна

Коновалова Елизавета
QA Engineer
1

2. Повторение

Виды тестирования
Тестовая модель
QA Engineer
2

3. Сегодня

Зачем нужны техники тест-дизайна
Ориентация кейсов, тестовые данные
Техники тест-дизайна
Вспомогательные инструменты
Эффективность тестов
Мутационное тестирование
Домашнее задание
QA Engineer
3

4.

Зачем нужны
техники тест-дизайна
QA Engineer
4

5. Тест дизайн

Этап процесса тестирования ПО, на котором
проектируются и создаются тестовые случаи (тест
кейсы), в соответствии с определёнными ранее
критериями качества и целями тестирования.
Техники тест дизайна – этот приемы, которые позволяют
создавать эффективные тест кейсы.
QA Engineer
5

6. Зачем нужны техники тест-дизайна

Зачем нужны техники тестдизайна
Задача:
проверить содержимое
QA Engineer
6

7. Задача: проверить содержимое

Гипотезы:
Телефон
Ничего
Мяч
Кот
QA Engineer
7

8. Задача: проверить содержимое

Гипотезы:
Тесты:
Телефон
Открыть
Ничего
Послушать
Мяч
Потрясти
Кот
Просветить
QA Engineer
8

9. Задача: проверить содержимое

Гипотезы:
Тесты:
Телефон
Открыть
Ничего
Послушать
Мяч
Потрясти
Кот
Просветить
QA Engineer
9

10. Задача: проверить содержимое

Гипотезы:
Тесты:
Телефон
Открыть
Ничего
Послушать
Мяч
Потрясти
Кот
Просветить
QA Engineer
10

11. Задача: проверить содержимое

Гипотезы:
Тесты:
Телефон
Открыть
Ничего
Послушать
Мяч
Потрясти
Кот
Просветить
QA Engineer
11

12. Зачем нужны техники тест-дизайна

Зачем нужны техники тестдизайна
Чтобы не дублировать (не делать лишнее)
Чтобы экономить время (ресурсы)
Чтобы обеспечивать качество в разных условиях
QA Engineer
12

13. Зачем нужны техники тест-дизайна

Зачем нужны техники тестдизайна
5
QA Engineer
13

14. Исчерпывающее тестирование

Это процесс тестирования,
включающий все возможные проверки, состояния
системы и их сочетания.
Особенность: оно невозможно
QA Engineer
14

15. Исчерпывающее тестирование

Гипотезы:
Тесты:
Телефон
Открыть
Ничего
Послушать
Мяч
Потрясти
Кот
Просветить
QA Engineer
15

16. Запомнить!

Техники тест-дизайна:
Нужны, чтобы создавать качественные тест-кейсы при
минимальных затратах ресурсов
Помогают проверить максимум функционала при минимальном
количестве тест-кейсов (времени)
Помогают избегать дублей, избыточности, однотипных
проверок
QA Engineer
16

17.

Ориентация кейсов,
тестовые данные
QA Engineer
17

18. Позитивные и негативные кейсы

Позитивные сценарии – сценарии, которые описывают
нормальное (штатное, ожидаемое) поведение системы.
Негативные сценарии – сценарии, которые
соответствуют внештатному поведению тестируемой
системы.
QA Engineer
18

19. Позитивные и негативные кейсы

QA Engineer
19

20. Запомнить!

Позитивные кейсы приоритетнее негативных
Негативных кейсов больше и они чаще падают
QA Engineer
20

21. Тестовые данные

Это данные, на которых проводятся тесты.
На разных данных одни и те же шаги дают разные
результаты
QA Engineer
21

22. Тестовые данные

QA Engineer
22

23. Запомнить!

Тестовые данные не менее важны, чем шаги теста
Разные наборы тестовых данных группируются в разные тесткейсы
Техники тест-дизайна применяются не только к тестам, но и к
тестовым данным
QA Engineer
23

24.

Классы эквивалентности
и граничные значения
QA Engineer
24

25.

Классы эквивалентности
25

26.

Классы эквивалентности
26

27.

Классы эквивалентности
27

28. Классы эквивалентности

Два класса считаются эквивалентными, если в их основе
лежит одна логика и наборы тестовых данных настолько
похожи,
что проверять их в полном объёме бессмысленно
QA Engineer
28

29. Классы эквивалентности

QA Engineer
29

30. Граничные значения

Это входное значение или данные, которое находится на
грани эквивалентной области или на наименьшем
расстоянии от обеих сторон грани, например,
минимальное или максимальное значение области.
QA Engineer
30

31.

Граничные значения
До 3 символов
От 3 до 50 символов
Допустимые
значения
Больше 50 символов
Граничные
Граничные
значения
значения
31

32. Граничные значения

Алгоритм определения граничных значений:
1. Определить диапазон значений
2. Определить границы диапазона (чаще всего совпадают с
границами классов эквивалентности)
3. Проверить следующие значения:
o Минимальное
o Максимальное
o На 1 ниже границы
o На 1 выше границы
QA Engineer
32

33. Запомнить!

Наиболее распространенные техники тест-дизайна – разбиение
на классы эквивалентности и проверка граничных значений
Эти техники можно применить почти к любому ПО, и к
документации тоже
QA Engineer
33

34. Причина - следствие

Причина следствие
QA Engineer
34

35.

Причина-следствие
Причина
Следствие
То, что вызывает действие
Результат действий
(каскад действий или
изменений)
35

36.

Причина-следствие
Причина
Следствие
То, что вызывает действие
Результат действий
(каскад действий или
изменений)
Ввести данные «Новый кот»
Добавился новый кот
Нажать кнопку «Добавить»
36

37. Предугадывание ошибки

QA Engineer
37

38. Предугадывание ошибки

QA Engineer
38

39. Предугадывание ошибки

Это техника создания гипотез о проблемных местах
системы на основании документации и знаний о системе.
Обычно с ее помощью создаются негативные кейсы
QA Engineer
39

40. Предугадывание ошибки

Предугадать можно
По опыту
По документации
По статистике (багов, тестов, использования)
С помощью знаний о работе системы
С помощью знаний о работе ПО
QA Engineer
40

41. Предугадывание ошибки

QA Engineer
41

42. Запомнить!

Предугадывание ошибки работает тем эффективнее, чем
больше и разнообразней опыт QA
Для предугадывания ошибки можно пользоваться чужим
опытом, например, статистикой
QA Engineer
42

43. Попарное тестирование

QA Engineer
43

44. Попарное тестирование

Метод парного тестирования основан на идее, что
подавляющее большинство багов выявляется тестом,
проверяющим один параметр, либо сочетание двух
параметров.
QA Engineer
44

45.

Попарное тестирование
Все кейсы
Достаточный набор
Пол
Злость
Пушистость
Пол
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
Злость Пушистость
Ортогональная
матрица
45

46.

Попарное тестирование
Все кейсы
Достаточный набор
Пол
Злость
Пушистость
Пол
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
Злость Пушистость
Ортогональная
матрица
46

47.

Попарное тестирование
Все кейсы
Достаточный набор
Пол
Злость
Пушистость
Пол
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
Злость Пушистость
Ортогональная
матрица
47

48.

Попарное тестирование
Все кейсы
Достаточный набор
Пол
Злость
Пушистость
Пол
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
Злость Пушистость
Ортогональная
матрица
48

49.

Попарное тестирование
Все кейсы
Достаточный набор
Пол
Злость
Пушистость
Пол
1
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
0
Злость Пушистость
Ортогональная
матрица
49

50. Запомнить!

Многое придумано до и для вас, гуглите
Пользуйтесь вспомогательными инструментами для
создания тестов
Будьте аккуратны с уровнем абстракции
QA Engineer
50

51. Вспомогательные инструменты

QA Engineer
51

52. Майнд-карта

Майнд-карта (интеллектуальная карта) – вид записи
материалов в виде структуры, постепенно
разветвляющийся на наиболее мелкие части.
Ее цель: категоризировать, структурировать основную
информацию.
Особенность: не содержит никаких описаний
QA Engineer
52

53. Майнд-карта

QA Engineer
53

54. Майнд-карта

Xmind
MindMeister
MindManager
iMindMap
Coggle

QA Engineer
54

55. Блок-схема

Блок-схема – схема, описывающая алгоритмы или
процессы.
Ее цель: категоризировать, структурировать основную
информацию.
Особенность: не содержит никаких описаний
QA Engineer
55

56. Блок-схема

QA Engineer
56

57. Блок-схема

Visio
Dia
draw.io
Google Docs

QA Engineer
57

58. Запомнить!

Чтобы создать оптимальную тестовую модель, можно
использовать разные способы визуализации
От способа представления информации напрямую зависит ее
восприятие
QA Engineer
58

59. Эффективность тест-кейсов

QA Engineer
59

60.

Эффективность тест-кейсов
Размытый контекст
Эффективност
ь
Слишком много
инструкций
Размер шага

61. Запомнить!

Пользуйтесь вспомогательными инструментами и техниками
Больше – не значит лучше
Удаляйте всю бюрократию, которой команда не пользуется
QA Engineer
61

62. Мутационное тестирование

QA Engineer
62

63.

Мутационное тестирование
Код
Passed
63

64.

Мутационное тестирование
Код
Passed
Код
Passed
64

65.

Мутационное тестирование
Код
Passed
Код
Passed
Мутант
65

66.

Мутационное тестирование
Код
Passed
Код
Passed
Мутант
66

67.

Мутационное тестирование
Код
Passed
Код
Passed
Мутант
67

68.

Мутационное тестирование
Код
Passed
Код
Passed
Мутант
!
68

69.

Мутационное тестирование
Код
Passed
Код
Passed
Мутант
!
Skipped
69

70. Мутационное тестирование

Это метод тестирования программного обеспечения,
который включает небольшие изменения кода программы.
Если набор тестов не в состоянии обнаружить такие
изменения, то он рассматривается как недостаточный
QA Engineer
70

71. Домашнее задание!

Создать в https://docs.google.com/spreadsheets/ целостную
структуру тестовой модели своей фичи №1
Наполнить ее эффективными тестами
QA Engineer
71

72. Важная информация

Командный зачет - соревнование багов, итоги – каждый
календарный месяц
Хороший баг содержит версию приложения! Можно узнать
версию приложения вот тут https://meowle.testops.ru/versions
QA Engineer
72

73. Спасибо!

73
Спасибо!
Коновалова
Елизавета
@eakonovalova
English     Русский Rules