Математика для тестировщиков
description
Transcript of Математика для тестировщиков
![Page 1: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/1.jpg)
Математика и тестирование
Никита Налютин
![Page 2: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/2.jpg)
• 1996-2002: разработчик
• 1999: получил Excellence in Computer Science Award
• 2002: пришел в тестирование
• 2002-2013: самолеты-трейдинг-видео-банки…
• 2007: книга по тестированию, издана при поддержке
• 2008: Кандидат технических наук
• с 2012: Тест-менеджер
Кто я такой?
![Page 3: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/3.jpg)
Про что будем говорить
• Зачем нужна математика в тестировании• Как ее применять на практике– очевидные вещи– не очень очевидные вещи
• Чему и где учиться• Как уйти в науку (и надо ли это делать)
![Page 4: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/4.jpg)
ЗАЧЕМ НАМ ЭТО ВСЕ?
![Page 5: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/5.jpg)
Пишем тесты: зачем нам математика?
«Математику уже затем учить следует, что она ум в порядок приводит» (с) Ломоносов
При помощи математики и доброго слова можно писать тесты значительно лучше, чем только при помощи одного доброго слова
![Page 6: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/6.jpg)
Математика в тестировании: блокеры в нашем мозгу
![Page 7: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/7.jpg)
Математика в тестировании: блокеры в нашем мозгу
• Это методы, которые доказывают правильность, и они не работают на практике
![Page 8: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/8.jpg)
Математика в тестировании: блокеры в нашем мозгу
• Это методы, которые доказывают правильность, и они не работают на практике Нет, это не только формальная верификация
![Page 9: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/9.jpg)
Математика в тестировании: блокеры в нашем мозгу
• Это методы, которые доказывают правильность, и они не работают на практике Нет, это не только формальная верификация
• Для того, чтобы математика работала, нужны подробнейшие спецификации
![Page 10: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/10.jpg)
Математика в тестировании: блокеры в нашем мозгу
• Это методы, которые доказывают правильность, и они не работают на практикеНет, это не только формальная верификация
• Для того, чтобы математика работала, нужны подробнейшие спецификацииНет, достаточно идей у вас в голове
![Page 11: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/11.jpg)
Математика в тестировании: блокеры в нашем мозгу
• Это методы, которые доказывают правильность, и они не работают на практике Нет, это не только формальная верификация
• Для того, чтобы математика работала, нужны подробнейшие спецификацииНет, достаточно идей у вас в голове
• Это слишком сложно для понимания
![Page 12: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/12.jpg)
Математика в тестировании: блокеры в нашем мозгу
• Это методы, которые доказывают правильность, и они не работают на практике Нет, это не только формальная верификация
• Для того, чтобы математика работала, нужны подробнейшие спецификацииНет, достаточно идей у вас в голове
• Это слишком сложно для понимания факультатив по матлогике для 5 класса – реальность. Чем вы-то хуже?
![Page 13: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/13.jpg)
Тестировщики думают как математики, даже не зная об этом
Операции с формулами Алгоритмы
Отражение действительности Сложность вычислений
Поведение функций Изменяющиеся состояния системы
Сведение к простому случаю
Операции с бесконечностью
Обобщение
Абстрактные рассуждения
Использование структур данных
Д.Э. Кнут
Математическоемышление
Алгоритмическоемышление
![Page 14: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/14.jpg)
Все еще не убеждены?
Топологическое мышление
целостность и связанность логических операций
Порядковое мышление
точное следование логической цепочке
Алгебраическое мышление структурное восприятие объекта
Метрическое мышление точное математическое значение
Проективное мышление
важны не характеристики, а степень оптимальности и полезности
И.Я. Каплунович
![Page 15: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/15.jpg)
МАТЕМАТИКА, ЛЕНЬ И ТЕСТ-ДИЗАЙН
![Page 16: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/16.jpg)
Матлогика: максимальное покрытие минимальными
усилиями
![Page 17: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/17.jpg)
Матлогика: максимальное покрытие минимальными усилиями
if ( (x1 && x2) && (! (x2 || x4) ) || x3 ) {// branch 1
} else {// branch 2
}
• Задача – покрыть тестами. Даже для покрытия по ветвям выглядит жутковато. Слишком много переменных.
• Если кинуться писать тесты сразу:– полный перебор: 16 тестов– MC/DC – чуть меньше– покрытие по ветвям: 2 теста, но какими усилиями?
![Page 18: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/18.jpg)
Матлогика: максимальное покрытие минимальными усилиями
( (x1 && x2) && (! (x2 || x4) ) || x3 ) =
• Вспоминаем булеву алгебру= ( (x1 && x2) && ( (!x2 && !x4) ) || x3 ) == ( x1 && x2 && !x2 && !x4 || x3 ) == 0 || x3 = x3
• Что в результате?– Два теста полным перебором– Два теста MC/DC– Два теста для покрытия по ветвям+ пояснение, почему тестов всего 2
Переменная-то всего одна!
![Page 19: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/19.jpg)
Матлогика: максимальное покрытие минимальными усилиями
• Есть и другие методы минимизации– Непосредственные преобразования– Карты Карно– Метод Квайна-МакКласки
![Page 20: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/20.jpg)
Графы: зачем тестировать все
переходы?
![Page 21: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/21.jpg)
Графы и конечные автоматы: системы с внутренним состоянием
FilledFilled
SendingSending
RejectedRejected AckedAcked
FillingFilling
ReplacedReplaced
ReplacingReplacing
NewNew Execute 1Execute 1
Amend 1
Amend 1
Amend 2Amend 2
Amen
d 3
Amen
d 3
MKT reject
MKT reject M
KT ackM
KT ack
Mod
ified
Mod
ified
Execute 2Execute 2
FillsFills
Last fillLast fill
Классическое покрытие: проверяем все состояния системы, все переходы и все пути. Это очень долго, сложно и дорого
![Page 22: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/22.jpg)
Графы и конечные автоматы: системы с внутренним состоянием
Execute 1Execute 1
Execute 2Execute 2Amend 1Amend 1 Amend 2Amend 2
Amend 3Amend 3
FillsFillsLast FillLast Fill
ModifiedModified
MKT rejectMKT
reject
MKT ackMKT ack
Смотрим на задачу коммивояжера и видимфигу
![Page 23: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/23.jpg)
Графы и конечные автоматы: системы с внутренним состоянием
Execute 1Execute 1
Execute 2Execute 2Amend 1Amend 1 Amend 2Amend 2
Amend 3Amend 3
FillsFillsLast FillLast Fill
ModifiedModified
MKT rejectMKT
reject
MKT ackMKT ack
Смотрим на задачу коммивояжера и видим алгоритм де Бройна.
Строим граф, вершины которого – дуги исходного графа
![Page 24: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/24.jpg)
Графы и конечные автоматы: системы с внутренним состоянием
E1E1
E2E2A1A1 A2A2
A3A3
FFLFLF
MM
MrMr
MaMa
Смотрим на задачу коммивояжера и видим алгоритм де Бройна.
MrMrE1E1
Покрываем граф….
![Page 25: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/25.jpg)
Графы и конечные автоматы: системы с внутренним состоянием
E1E1
E2E2A1A1 A2A2
A3A3
FFLFLF
MM
MrMr
MaMa
Смотрим на задачу коммивояжера и видим алгоритм де Бройна.
MrMr
E1E1 Ma
Ma FF LFLF
E1E1
Все еще покрываем граф…
![Page 26: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/26.jpg)
Графы и конечные автоматы: системы с внутренним состоянием
E1E1
E2E2A1A1 A2A2
A3A3
FFLFLF
MM
MrMr
MaMa
Смотрим на задачу коммивояжера и видим алгоритм де Бройна.
MrMr
E1E1 Ma
Ma FF LFLF
LFLF
E1E1 A1A1 MM E2E2 Ma
Ma FF A3A3
E2E2
MaMaA2A2MME2E2Ma
MaFF
E1E1
Покрыли!!!
![Page 27: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/27.jpg)
Графы и конечные автоматы: системы с внутренним состоянием
E1E1
E2E2A1A1 A2A2
A3A3
FFLFLF
MM
MrMr
MaMa
Смотрим на задачу коммивояжера и видим алгоритм де Бройна.
MrMr
E1E1 Ma
Ma FF LFLF
LFLF
E1E1 A1A1 MM E2E2 Ma
Ma FF A3A3
E2E2
MaMaA2A2MME2E2Ma
MaFF
E1E1
Получилось как-то не очень….
![Page 28: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/28.jpg)
Графы и конечные автоматы: системы с внутренним состоянием
EE
E2E2A1A1 A2A2
A3A3
FFLFLF
MM
MrMr
MaMa
Смотрим на задачу коммивояжера и видим алгоритм де Бройна.
MrMr
E1E1 Ma
Ma FF LFLF
E1E1 A1A1 MM E2E2 Ma
Ma FF LFLF
E1E1
1
Отрезали кусочек последовательности де Бройна
![Page 29: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/29.jpg)
Графы и конечные автоматы: системы с внутренним состоянием
E1E1
E2E2A1A1 A2A2
A3A3
FFLFLF
MM
MrMr
MaMa
Смотрим на задачу коммивояжера и видим алгоритм де Бройна.
MrMr
E1E1 Ma
Ma FF LFLF
E1E1 A1A1 MM E2E2 Ma
Ma FF LFLF
E1E1
E1E1 Ma
Ma A2A2 MM E2E2 Ma
Ma FF LFLF
И еще кусочек…
![Page 30: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/30.jpg)
Графы и конечные автоматы: системы с внутренним состоянием
E1E1
E2E2A1A1 A2A2
A3A3
FFLFLF
MM
MrMr
MaMa
Смотрим на задачу коммивояжера и видим алгоритм де Бройна.
MrMr
E1E1 Ma
Ma FF LFLF
E1E1 A1A1 MM E2E2 Ma
Ma FF LFLF
E1E1
E1E1 Ma
Ma A2A2 MM E2E2 Ma
Ma FF LFLF
E1E1 Ma
Ma FF A3A3 E2E2 Ma
Ma FF LFLF
И еще кусочек…
![Page 31: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/31.jpg)
Графы и конечные автоматы: системы с внутренним состоянием
Смотрим на задачу коммивояжера и видим алгоритм де Бройна.
MrMr
E1E1 Ma
Ma FF LFLF
E1E1 A1A1 MM E2E2 Ma
Ma FF LFLF
E1E1
E1E1 Ma
Ma A2A2 MM E2E2 Ma
Ma FF LFLF
E1E1 Ma
Ma FF A3A3 E2E2 Ma
Ma FF LFLF
Что в результате?- Короткие тесты, которые
можно параллелить- Можно выкидывать
малоприоритетные тесты- Метод работает, даже
если неизвестна специфика предметной области
![Page 32: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/32.jpg)
Графы и конечные автоматы: системы с внутренним состоянием
Смотрим на задачу коммивояжера и видим алгоритм де Бройна.
Что в результате?- Короткие тесты, которые
можно параллелить- Можно выкидывать
малоприоритетные тесты- Метод работает, даже
если неизвестна специфика предметной области
Ни одного трейдера не пострадало
![Page 33: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/33.jpg)
Статистика: сколько тестов в каждом классе эквивалентности?
![Page 34: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/34.jpg)
Статистика: сколько тестов в каждом классе эквивалентности?
• Достаточно одного теста в одном классе эквивалентности – верно, если мы правильно выделили классы
• Кроме явных классовесть еще и неявные,которые могут быть неочевидны из требований
Полный перебор?А может не надо?
![Page 35: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/35.jpg)
• Пример. Сохраняем в БД длинные строки (размер от 0 до 5 Mб). Время сохранения должно быть одинаковым для непустых строк
• Граничные условия для длины строки: 0, 2.5 Мб, 5 Mб
Статистика: сколько тестов в каждом классе эквивалентности?
![Page 36: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/36.jpg)
• Пример. Сохраняем в БД длинные строки (размер от 0 до 5 Мб). Время сохранения должно быть одинаковым для непустых строк
• Граничные условия для длины строки: 0, 2.5 Мб, 5 Мб
• Началась эксплуатация. WTF? Короткие строки сохраняются гораздо быстрее
Статистика: сколько тестов в каждом классе эквивалентности?
![Page 37: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/37.jpg)
• Пример. Сохраняем в БД длинные строки (размер от 0 до 5 Мб). Время сохранения должно быть одинаковым для непустых строк
• Граничные условия для длины строки: 0, 2.5 Мб, 5 Мб
• Началась эксплуатация. WTF? Короткие строки сохраняются гораздо быстрее
Статистика: сколько тестов в каждом классе эквивалентности?
![Page 38: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/38.jpg)
Статистика: сколько тестов в каждом классе эквивалентности?
• Тестов явно нужно больше, но пока не знаем сколько.• Инструмент – статистический сэмплинг и метод
последовательных приближений (можно посмотреть в ГОСТ Р 50779.11)
1. Предположение о распределении проблемных мест
2. Прогон тестов и регистрация аномалий
3. Модификация распределения
4. Фиксация новых классов эквивалентности 5 15 25 35 45 55 65 75 85 95
105115
125135
145155
165175
185195
Высокая степень уверенности в том, что здесь разные классы
Низкая степень уверенности в том, что здесь разные классы
![Page 39: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/39.jpg)
Статистика: сколько тестов в каждом классе эквивалентности?
• Тестов явно нужно больше, но пока не знаем сколько.• Инструмент – статистический сэмплинг и метод
последовательных приближений (можно посмотреть в ГОСТ Р 50779.11)
1. Предположение о распределении проблемных мест
2. Прогон тестов и регистрация аномалий
3. Модификация распределения
4. Фиксация новых классов эквивалентности 1 2 3
Аномальная зона (почти угадали)
Аномальная зона (не угадали)
![Page 40: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/40.jpg)
1 2 3
Статистика: сколько тестов в каждом классе эквивалентности?
• Тестов явно нужно больше, но пока не знаем сколько.• Инструмент – статистический сэмплинг и метод
последовательных приближений (можно посмотреть в ГОСТ Р 50779.11)
1. Предположение о распределении проблемных мест
2. Прогон тестов и регистрация аномалий
3. Модификация распределения
4. Фиксация новых классов эквивалентности
Модифицировали распределение
![Page 41: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/41.jpg)
5 15 25 35 45 55 65 75 85 95105
115125
135145
155165
175185
195
Статистика: сколько тестов в каждом классе эквивалентности?
• Тестов явно нужно больше, но пока не знаем сколько.• Инструмент – статистический сэмплинг и метод
последовательных приближений (можно посмотреть в ГОСТ Р 50779.11)
1. Предположение о распределении проблемных мест
2. Прогон тестов и регистрация аномалий
3. Модификация распределения
4. Фиксация новых классов эквивалентности
Получили новыеграницы и классыэквивалентности
![Page 42: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/42.jpg)
PAIR-WISE: ПАНАЦЕЯ ОТ ВСЕХ БЕД?
![Page 43: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/43.jpg)
Опять статистика: а всегда ли достаточно pair-wise тестирования
Основная идея pair-wise – вместо того, чтобы тестировать все возможные комбинации входных значений, берем пары значений и проверяем все сочетания пар.
Работает? Да!
![Page 44: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/44.jpg)
Опять статистика: а всегда ли достаточно pair-wise тестирования
На простых системах?Работает!
ROCK-PAPER-SCISSORS
![Page 45: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/45.jpg)
Опять статистика: а всегда ли достаточно pair-wise тестирования
А если посложнее?Работает?
ROCK-PAPER-SCISSORSLIZARD-SPOCK
![Page 46: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/46.jpg)
Опять статистика: а всегда ли достаточно pair-wise тестирования
А если еще сложнее?
ROCK-PAPER-SCISSORSLIZARD-SPOCKSPIDERMAN-BATMANWIZARD-GLOCK
![Page 47: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/47.jpg)
Опять статистика: а всегда ли достаточно pair-wise тестирования
Исследования, проведенные NIST в проекте ACTS:
Pairwise находит 65-97% ошибок3-way находит 89-99% ошибок4-way находит 96-100% ошибок5-way находит 96-100% ошибок6-way находит 100% ошибок
(во всех исследованных случаях)
![Page 48: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/48.jpg)
Опять статистика: а всегда ли достаточно pair-wise тестирования
Сколько дополнительной работы делать?Например. Пусть
2 параметра с 3 значениями3 параметра с 2 значениями
Pairwise 10 тестов с 14% покрытием3-way 18 тестов с 25% покрытием4-way 36 тестов с 50% покрытием5-way 72 теста с 100% покрытием
![Page 49: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/49.jpg)
Опять статистика: а всегда ли достаточно pair-wise тестирования
Обычная основа для pair-wise и k-wayОбычно используем ортогональные матрицы:OA(N,vk,t), гдеN – количество рядовk – количество колонокv – количество различных значений в колонкеt – мощность (t=2 – pairwise)
В OA каждый набор из t колонок включает все t-кортежи одинаковое количество раз
![Page 50: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/50.jpg)
Опять статистика: а всегда ли достаточно pair-wise тестирования
Халява, приди!NIST предлагает использовать покрывающие матрицы: CA(N,vk,t), гдеN – количество рядовk – количество колонокv – количество различных значений в колонкеt – мощность (t=2 – pairwise)
В CA каждый набор из t колонок включает все t-кортежи хотя бы один раз
![Page 51: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/51.jpg)
Опять статистика: а всегда ли достаточно pair-wise тестирования
Что в результате?Меньше комбинаций, а значит можно увеличить размерность кортежей, и, например, делать 3-way вместо pairwise меньшими усилиями
Куда посмотреть: NIST ACTS
![Page 52: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/52.jpg)
МАТЕМАТИКА ДЛЯ ИНЖЕНЕРОВ КОНЧИЛАСЬ, НАЧАЛСЯ МЕНЕДЖМЕНТ
![Page 53: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/53.jpg)
Выходим за пределы тестирования
Придумываем
Докум
ентируем
Выполняем
Оцениваем
Улуч
шае
м
Анализ продукта и
рисков
Разработка тестовой стратегии
Дизайн идей тестов
Оценка результатов
Управлениетестовым окружем
Оценка бюджета и ресурсов
![Page 54: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/54.jpg)
Выходим за пределы тестирования
Придумываем
Докум
ентируем
Выполняем
Оцениваем
Улуч
шае
м
Анализ продукта и
рисков
Разработка тестовой стратегии
Дизайн идей тестов
Оценка результатов
Управлениетестовым окружем
Оценка бюджета и ресурсов
И здесь я вас бросаю
![Page 55: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/55.jpg)
Выходим за пределы тестирования
Придумываем
Докум
ентируем
Выполняем
Оцениваем
Улуч
шае
м
Анализ продукта и
рисков
Разработка тестовой стратегии
Дизайн идей тестов
Оценка результатов
Управлениетестовым окружем
Оценка бюджета и ресурсов
И здесь я вас бросаю, но не совсем
![Page 56: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/56.jpg)
КАК ЭТОМУ УЧИТЬСЯ?
![Page 57: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/57.jpg)
Чему и как учиться: ACM
• Graduate Software Engineering 2009 (GSwE2009):Выпускник должен иметь базовые математические навыки для того и уметь мыслить аналитически:– Статистика– Логика– Исчисления– Дискретная математика– Формальные языки– Математическая экономика
![Page 58: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/58.jpg)
Чему и как учиться: IEEE
• IEEE Software Engineering Body of Knowledge v3 (SWEBOKv3):– Множества, отношения, функции– Логика: пропозициональная логика, логика предикатов– Теория доказательств– Счетность– Графы и деревья– Дискретная вероятность– Конечные автоматы, грамматики– Погрешности– Теория чисел– Алгебраические структуры
![Page 59: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/59.jpg)
Чему и как учиться: сами
• Сертификация– Quality Assurance Institute (CAST, CSTE, CSTM)
• Конференции– IEEE International Conference on Software Testing,
Verification, and Validation (ICST)– International Symposium in Software Testing and
Analysis (ISSTA)• Читать-читать-читать-читать– http://www.arxiv.org– http://scholar.google.com
![Page 60: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/60.jpg)
ПУТЬ В НАУКУ
![Page 61: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/61.jpg)
• Фан и лулзы• Прокачка мозгов• Кругозор• Последователи• Уважение
• Собственная секретнаялаборатория
Путь в науку: а зачем?
![Page 62: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/62.jpg)
• Генерация тестовых данных• Тестирование безопасности• Комбинаторные методы тестирования• Преобразование моделей тестирования• Поисковые методы тестирования• Модели предсказания поведения систем
Путь в науку: направления исследований
![Page 63: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/63.jpg)
• Высшее образование• Второе высшее образование• Кандидатская диссертация• Пост-док за рубежом• Докторская• Независимые исследования
Путь в науку: разные пути
![Page 64: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/64.jpg)
•ГУ-ВШЭ – Авдошин С.М.
•СПбГУ – Терехов А.Н.
•МАИ – Синицын С.В.
•МГУ – Кулямин В.В.
… и многие-многие другие
Путь в науку: кто этим занимается?
![Page 65: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/65.jpg)
•ГУ-ВШЭ – Авдошин С.М.
•СПбГУ – Терехов А.Н.
•МАИ – Синицын С.В.
•МГУ – Кулямин В.В.
… и многие-многие другие
Ну и ко мне приходите… ( к.т.н., доцент, аспиранты есть,
учу в МИФИ и ВШЭ, иногда на Физтехе, из науки пока не ухожу – не дождетесь )
Путь в науку: кто этим занимается?
![Page 66: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/66.jpg)
Ссылки• GSwE2009: http://www.gswe2009.org• SWEBOKv3: http://www.computer.org/portal/web/swebok/home• Quality Assurance Institute: http://www.qaiusa.com• ACTS: http://csrc.nist.gov/acts• List of conferences: http://www.cs.ru.nl/~tretmans/TestConferences.html• http://www.sciencedirect.com• http://www.arxiv.org• http://scholar.google.com
• Отдельное спасибо:Big Bang Theory, Futurama, XKCD
![Page 67: Математика для тестировщиков](https://reader036.fdocuments.net/reader036/viewer/2022081422/55878c78d8b42a405d8b45a2/html5/thumbnails/67.jpg)
ВОПРОСЫ?
Я все ещеНикита Налютин
Мои контактыдовольно простонайти в Сети