Тест-дизайн в тестировании ПО. Задача "Треугольник"
Выступление Ильи Комендантова на 7-й встрече одесского сообщества тестировщиков. Одесса 22 мая 2014.
Выступление Ильи Комендантова на 7-й встрече одесского сообщества тестировщиков. Одесса 22 мая 2014.
Recommended
Recommended
More Related Content
You Might Also Like Related Books Free with a 30 day trial from Scribd Related Audiobooks Free with a 30 day trial from Scribd Тест-дизайн в тестировании ПО. Задача "Треугольник"- 1. Тест-дизайн Введение 7-я встреча Одесского сообщества тестировщиков Илья Комендантов (опять)
- 2. Обо мне Илья Порода: Тестировщик Возраст: 7 лет Обитание: www.ukrqa.org.ua Трудится: Unity3D Характер: Скромный Откликается: Skype: ilya.komendantov E-mail: ikomendantov@gmail.com
- 3. Что такое тест-дизайн? • Задачка-пример: Программа считывает "𝑥" напрямую из памяти и интерпретирует его как 4 байтовое unsigned int. Функция: 𝑦 = 𝑥 Сколько Вам нужно тест-кейсов, чтобы протестировать эту функцию?
- 4. Задача «Треугольник» • Программа "Треугольник" считывает с консоли три числа и "понимает" их как стороны треугольника. Результат: программа сообщает треугольник равносторонний, равнобедренный или обычный. *** Напишите конкретные тест-кейсы, которые вы будете использовать для тестирования.
- 5. Ещё задачка • Вы несёте калькулятор, роняете его. Возможно, он повредился. Каким образом вы можете проверить это?
- 6. Ответ Джеймса Баха • Потрачено 2 часа. • Репорт из трёх секций. • 16 вопросов в большинстве своём с различным подходом к тестированию. – Что означает уронил? (Куда он приземлился) – Что это был за калькулятор? (Детский, «мягкий») – Что я делал в этот момент? (может я тестировал его и следовал тест-плану) – …
- 7. Что можно сделать? • Уточняем условие (обязательно, в многих случаях) • Ищем бессмысленные/спорные условия/уточнения • Выделяем важное (для дальнейшей приоретизации)
- 8. Начинаем задавать вопросы • Программа "Треугольник" <…> – Под управлением каких ОС она будет запускаться? – Нужны ли пререквизиты? – Предполагается ли, что наша программа взаимодействует с другими программами (интегрируется с ними)?
- 9. Начинаем задавать вопросы • <…> считывает с консоли <…> – Каким образом • Подряд вводятся • По одному – Какой разделитель
- 10. Начинаем задавать вопросы • <…> с консоли три числа<…> – Дробные могут быть? – Каким может быть максимальное число? – Какой может быть запись числа?
- 11. Начинаем задавать вопросы • <…> как стороны треугольника<…> – Евклидово пространство? – Формула треугольника?
- 12. Начинаем задавать вопросы • <…> программа сообщает<…> – На консоль? В файл? Ещё куда-нибудь? – В каком виде сообщает?
- 13. Начинаем задавать вопросы • <…> сообщает треугольник<…> – Если это не треугольник, что происходит? – Если треугольник вырожденный – Если все стороны равны нулю?
- 14. Стратегия создания кейсов – Вопросы – Quicktest (ранняя стадия) – Модель (контекст) – Domain – Scenario-based testing (поздняя стадия)
- 15. Quicktest (bug taxonomy)
- 16. Quicktest • Разные ОС (консольные приложения) – "/?" - help – ">" - перенаправление ввода-вывода – Зарезервированные слова в ОС – Пути в файловой системе
- 17. Quicktest • Интеграция (если интегрируется с другими программами) – Нужные программы не установлены – Нужные программы сбоят (как реагирует наша)
- 18. Quicktest • Язык программирования – Ключевые слова для языка – Значащие слова, например, infinity = максимальное число – Регулярные выражения
- 19. Quicktest • Способ ввода – Клавиатура – Copy/Paste (Clipboard) – ALT+число – Виртуальная клавиатура – IME (L10N)
- 20. Quicktest • Дробные числа – Разделители • , - разделитель тысяч у американцев • . - разделитель дробной части • Пробел - разделитель тысяч – Несколько разделителей – Разные локали - разделители меняются – Точность операций с плавающей точкой
- 21. Quicktest • Числа – Разные системы исчисления (десятичная, двоичная.. ) – Научная запись чисел (1е+9) – Ведущие нули (007) – Знак (+), особый случай +0 – Unicode (multicharacters) – Просто нули вместо сторон – Отрицательные числа
- 22. Quicktest • Не числа – Буквы и цифры (3f2) – Буквы в разных регистрах – Специальные символы • ‘ ‘, “ “, *, //, [], (), ? – Escape-последовательности • r, n, t – Unicode
- 23. Quicktest • Разделители ввода – Пробел/несколько пробелов – Перед вводом и после него, в середине
- 24. Quicktest • Повторяемость (система может сохранять состояние) – Ввод/Результат/Ввод/Результат – Ошибка/Ошибка/Ошибка – Огромное число/Очень маленькое
- 25. Контекст 𝑎 < 𝑏 + 𝑐 b < 𝑎 + 𝑐 c < 𝑎 + 𝑏 • Проверка места указания сторон – Формула сравнивает стороны попарно - это должно быть отражено в тест-кейсах • Математические формулы – Ввод с кусками формул в каждой позиции сторон – Используется сложение, пробуем переполнить результат
- 26. Моделька
- 27. Доменное тестирование • Output domain (с фиксацией сторон) – 9 3 11 - треугольник обычный – 9 3 9 - треугольник равнобедренный – 9 3 12 - вырожденный – 9 3 13 - не треугольник обычный – 9 3 3 - не треугольник равнобедренный – 9 9 9 - треугольник равносторонний – 0 0 0 - вырожденный равнобедренный – Повторить для других пар сторон
- 28. Доменное тестирование • Input domain Side 1 Side 2 Side 3 1 1 1 Max Max Max 1 1 Max 1 Max 1 1 Max Max Max 1 1 Max 1 Max Max Max 1
- 29. Доменное тестирование • Количество сторон – Пустой ввод (просто Enter) – 1 сторона – 2 стороны – 4 стороны • Количество символов в числе – Пусто – Max + 1
- 30. Вопросики
You have now unlocked unlimited access to 20M+ documents!
Learn faster and smarter from top experts
Download to take your learnings offline and on the go
You also get free access to Scribd!
Instant access to millions of ebooks, audiobooks, magazines, podcasts and more.