Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

5

Share

Download to read offline

Тест-дизайн в тестировании ПО. Задача "Треугольник"

Download to read offline

Выступление Ильи Комендантова на 7-й встрече одесского сообщества тестировщиков. Одесса 22 мая 2014.

Тест-дизайн в тестировании ПО. Задача "Треугольник"

  1. 1. Тест-дизайн Введение 7-я встреча Одесского сообщества тестировщиков Илья Комендантов (опять)
  2. 2. Обо мне Илья Порода: Тестировщик Возраст: 7 лет Обитание: www.ukrqa.org.ua Трудится: Unity3D Характер: Скромный Откликается: Skype: ilya.komendantov E-mail: ikomendantov@gmail.com
  3. 3. Что такое тест-дизайн? • Задачка-пример: Программа считывает "𝑥" напрямую из памяти и интерпретирует его как 4 байтовое unsigned int. Функция: 𝑦 = 𝑥 Сколько Вам нужно тест-кейсов, чтобы протестировать эту функцию?
  4. 4. Задача «Треугольник» • Программа "Треугольник" считывает с консоли три числа и "понимает" их как стороны треугольника. Результат: программа сообщает треугольник равносторонний, равнобедренный или обычный. *** Напишите конкретные тест-кейсы, которые вы будете использовать для тестирования.
  5. 5. Ещё задачка • Вы несёте калькулятор, роняете его. Возможно, он повредился. Каким образом вы можете проверить это?
  6. 6. Ответ Джеймса Баха • Потрачено 2 часа. • Репорт из трёх секций. • 16 вопросов в большинстве своём с различным подходом к тестированию. – Что означает уронил? (Куда он приземлился) – Что это был за калькулятор? (Детский, «мягкий») – Что я делал в этот момент? (может я тестировал его и следовал тест-плану) – …
  7. 7. Что можно сделать? • Уточняем условие (обязательно, в многих случаях) • Ищем бессмысленные/спорные условия/уточнения • Выделяем важное (для дальнейшей приоретизации)
  8. 8. Начинаем задавать вопросы • Программа "Треугольник" <…> – Под управлением каких ОС она будет запускаться? – Нужны ли пререквизиты? – Предполагается ли, что наша программа взаимодействует с другими программами (интегрируется с ними)?
  9. 9. Начинаем задавать вопросы • <…> считывает с консоли <…> – Каким образом • Подряд вводятся • По одному – Какой разделитель
  10. 10. Начинаем задавать вопросы • <…> с консоли три числа<…> – Дробные могут быть? – Каким может быть максимальное число? – Какой может быть запись числа?
  11. 11. Начинаем задавать вопросы • <…> как стороны треугольника<…> – Евклидово пространство? – Формула треугольника?
  12. 12. Начинаем задавать вопросы • <…> программа сообщает<…> – На консоль? В файл? Ещё куда-нибудь? – В каком виде сообщает?
  13. 13. Начинаем задавать вопросы • <…> сообщает треугольник<…> – Если это не треугольник, что происходит? – Если треугольник вырожденный – Если все стороны равны нулю?
  14. 14. Стратегия создания кейсов – Вопросы – Quicktest (ранняя стадия) – Модель (контекст) – Domain – Scenario-based testing (поздняя стадия)
  15. 15. Quicktest (bug taxonomy)
  16. 16. Quicktest • Разные ОС (консольные приложения) – "/?" - help – ">" - перенаправление ввода-вывода – Зарезервированные слова в ОС – Пути в файловой системе
  17. 17. Quicktest • Интеграция (если интегрируется с другими программами) – Нужные программы не установлены – Нужные программы сбоят (как реагирует наша)
  18. 18. Quicktest • Язык программирования – Ключевые слова для языка – Значащие слова, например, infinity = максимальное число – Регулярные выражения
  19. 19. Quicktest • Способ ввода – Клавиатура – Copy/Paste (Clipboard) – ALT+число – Виртуальная клавиатура – IME (L10N)
  20. 20. Quicktest • Дробные числа – Разделители • , - разделитель тысяч у американцев • . - разделитель дробной части • Пробел - разделитель тысяч – Несколько разделителей – Разные локали - разделители меняются – Точность операций с плавающей точкой
  21. 21. Quicktest • Числа – Разные системы исчисления (десятичная, двоичная.. ) – Научная запись чисел (1е+9) – Ведущие нули (007) – Знак (+), особый случай +0 – Unicode (multicharacters) – Просто нули вместо сторон – Отрицательные числа
  22. 22. Quicktest • Не числа – Буквы и цифры (3f2) – Буквы в разных регистрах – Специальные символы • ‘ ‘, “ “, *, //, [], (), ? – Escape-последовательности • r, n, t – Unicode
  23. 23. Quicktest • Разделители ввода – Пробел/несколько пробелов – Перед вводом и после него, в середине
  24. 24. Quicktest • Повторяемость (система может сохранять состояние) – Ввод/Результат/Ввод/Результат – Ошибка/Ошибка/Ошибка – Огромное число/Очень маленькое
  25. 25. Контекст 𝑎 < 𝑏 + 𝑐 b < 𝑎 + 𝑐 c < 𝑎 + 𝑏 • Проверка места указания сторон – Формула сравнивает стороны попарно - это должно быть отражено в тест-кейсах • Математические формулы – Ввод с кусками формул в каждой позиции сторон – Используется сложение, пробуем переполнить результат
  26. 26. Моделька
  27. 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. 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. 29. Доменное тестирование • Количество сторон – Пустой ввод (просто Enter) – 1 сторона – 2 стороны – 4 стороны • Количество символов в числе – Пусто – Max + 1
  30. 30. Вопросики
  • ArtemMelnichenko

    Sep. 8, 2019
  • MaxLunin1

    Apr. 25, 2016
  • kvyacheslavova

    Jul. 3, 2015
  • IrkComp

    May. 29, 2015
  • VasylZabolotniy

    Oct. 23, 2014

Выступление Ильи Комендантова на 7-й встрече одесского сообщества тестировщиков. Одесса 22 мая 2014.

Views

Total views

10,622

On Slideshare

0

From embeds

0

Number of embeds

14

Actions

Downloads

86

Shares

0

Comments

0

Likes

5

×