🗊Презентация Lesson 05. Разработка тестов

Нажмите для полного просмотра!
Lesson 05. Разработка тестов, слайд №1Lesson 05. Разработка тестов, слайд №2Lesson 05. Разработка тестов, слайд №3Lesson 05. Разработка тестов, слайд №4Lesson 05. Разработка тестов, слайд №5Lesson 05. Разработка тестов, слайд №6Lesson 05. Разработка тестов, слайд №7Lesson 05. Разработка тестов, слайд №8Lesson 05. Разработка тестов, слайд №9Lesson 05. Разработка тестов, слайд №10Lesson 05. Разработка тестов, слайд №11Lesson 05. Разработка тестов, слайд №12Lesson 05. Разработка тестов, слайд №13Lesson 05. Разработка тестов, слайд №14Lesson 05. Разработка тестов, слайд №15Lesson 05. Разработка тестов, слайд №16Lesson 05. Разработка тестов, слайд №17Lesson 05. Разработка тестов, слайд №18Lesson 05. Разработка тестов, слайд №19Lesson 05. Разработка тестов, слайд №20Lesson 05. Разработка тестов, слайд №21Lesson 05. Разработка тестов, слайд №22Lesson 05. Разработка тестов, слайд №23Lesson 05. Разработка тестов, слайд №24Lesson 05. Разработка тестов, слайд №25Lesson 05. Разработка тестов, слайд №26Lesson 05. Разработка тестов, слайд №27Lesson 05. Разработка тестов, слайд №28Lesson 05. Разработка тестов, слайд №29Lesson 05. Разработка тестов, слайд №30Lesson 05. Разработка тестов, слайд №31Lesson 05. Разработка тестов, слайд №32Lesson 05. Разработка тестов, слайд №33Lesson 05. Разработка тестов, слайд №34Lesson 05. Разработка тестов, слайд №35Lesson 05. Разработка тестов, слайд №36Lesson 05. Разработка тестов, слайд №37Lesson 05. Разработка тестов, слайд №38Lesson 05. Разработка тестов, слайд №39Lesson 05. Разработка тестов, слайд №40Lesson 05. Разработка тестов, слайд №41Lesson 05. Разработка тестов, слайд №42Lesson 05. Разработка тестов, слайд №43Lesson 05. Разработка тестов, слайд №44Lesson 05. Разработка тестов, слайд №45

Содержание

Вы можете ознакомиться и скачать презентацию на тему Lesson 05. Разработка тестов. Доклад-сообщение содержит 45 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Разработка тестов
Описание слайда:
Разработка тестов

Слайд 2





Какие бывают тесты
Перед вами обыкновенная ручка. Давайте подумаем, как её можно протестировать?
Описание слайда:
Какие бывают тесты Перед вами обыкновенная ручка. Давайте подумаем, как её можно протестировать?

Слайд 3





Тестирование ручки
Тесты на основе требований (requirements based tests) 
Извлекается и вставляется ли в ручку стержень?
Присутствует ли держатель, позволяющий цеплять ручку за край кармана?
Переключается ли ручка из рабочего в нерабочее положение?
Функциональные тесты (functional test)
Вставить в ручку стержень.
Переключить в рабочее положение.
Написать несколько слов.
Переключить в нерабочее положение.
Извлечь стержень.
Описание слайда:
Тестирование ручки Тесты на основе требований (requirements based tests) Извлекается и вставляется ли в ручку стержень? Присутствует ли держатель, позволяющий цеплять ручку за край кармана? Переключается ли ручка из рабочего в нерабочее положение? Функциональные тесты (functional test) Вставить в ручку стержень. Переключить в рабочее положение. Написать несколько слов. Переключить в нерабочее положение. Извлечь стержень.

Слайд 4





Тестирование ручки
Сравнительные («параллельные») тесты (parallel testing)
Что мы можем сказать об этой ручке в сравнении с другими ручками, которые выпускает наша фирма?
Что мы можем сказать об этой ручке в сравнении с ручками, которые выпускают конкуренты?
В чём преимущества именно этой модели ручек?
Сценарные тесты (scenario tests). Как ручку может использовать:
Секретарь.
Преподаватель.
Студент.
Школьник.
Прораб.
Сантехник.
Милиционер.
Моряк.
…
Описание слайда:
Тестирование ручки Сравнительные («параллельные») тесты (parallel testing) Что мы можем сказать об этой ручке в сравнении с другими ручками, которые выпускает наша фирма? Что мы можем сказать об этой ручке в сравнении с ручками, которые выпускают конкуренты? В чём преимущества именно этой модели ручек? Сценарные тесты (scenario tests). Как ручку может использовать: Секретарь. Преподаватель. Студент. Школьник. Прораб. Сантехник. Милиционер. Моряк. …

Слайд 5





Тестирование ручки
Тесты ошибочных ситуаций (fault injection tests) 
Что произойдёт, если препятствовать выходу стержня в рабочее положение?
Какое усилие и где надо приложить к ручке, чтобы её сломать?
Если стержень застрял, легко ли его извлечь?
Что произойдёт, если писать по стеклу, асфальту?
Тесты интерфейса (interface tests, GUI tests)
Измерения: высота, ширина, длина, вес.
Цвет.
Читаемость логотипа фирмы-производителя.
Тесты удобства использования (usability tests)
Есть ли у нас какие-либо замечания по юзабилити ручек от пользователей?
Как много времени у пользователя занимает переключение ручки из нерабочего положения в рабочее и обратно?
Как быстро пользователь понимает, как пользоваться ручкой?
Как быстро пользователь привыкает к этой ручке?
Легко ли понять, какие стержни подходят к ручке?
Легко ли заменить стержень?
Может ли ручкой пользоваться левша?
Не смазываются ли чернила, если пишет левша?
Описание слайда:
Тестирование ручки Тесты ошибочных ситуаций (fault injection tests) Что произойдёт, если препятствовать выходу стержня в рабочее положение? Какое усилие и где надо приложить к ручке, чтобы её сломать? Если стержень застрял, легко ли его извлечь? Что произойдёт, если писать по стеклу, асфальту? Тесты интерфейса (interface tests, GUI tests) Измерения: высота, ширина, длина, вес. Цвет. Читаемость логотипа фирмы-производителя. Тесты удобства использования (usability tests) Есть ли у нас какие-либо замечания по юзабилити ручек от пользователей? Как много времени у пользователя занимает переключение ручки из нерабочего положения в рабочее и обратно? Как быстро пользователь понимает, как пользоваться ручкой? Как быстро пользователь привыкает к этой ручке? Легко ли понять, какие стержни подходят к ручке? Легко ли заменить стержень? Может ли ручкой пользоваться левша? Не смазываются ли чернила, если пишет левша?

Слайд 6





Тестирование ручки
Тесты упаковки и документации (packaging/documentation tests)
Вложена ли в упаковку копия текста о гарантийных обязательствах?
Ясно ли видно на упаковке, что внутри?
Легко ли открыть упаковку?
Насколько материалы упаковки вредны для окружающей среды?
Есть ли какие-то особые требования к упаковке?
На сайте, в каталоге, на упаковке написано и нарисовано одно и то же?
Текст на упаковке и в гарантийном обязательстве – на одном и том же языке?
На упаковке и в документации нет грамматических ошибок, опечаток и т.д.?
Стрессовые тесты (stress tests)
При какой температуре расплавится пластиковая часть ручки?
При какой температуре потечёт стержень?
При какой температуре ручка перестаёт писать?
Какое воздействие необходимо применить к ручке, чтобы сломать её?
Пишет ли ручка под водой? А по мокрой бумаге?
Если ручку уронить в песок – что произойдёт?
А если уронить со стола?
А если из окна офиса?
Описание слайда:
Тестирование ручки Тесты упаковки и документации (packaging/documentation tests) Вложена ли в упаковку копия текста о гарантийных обязательствах? Ясно ли видно на упаковке, что внутри? Легко ли открыть упаковку? Насколько материалы упаковки вредны для окружающей среды? Есть ли какие-то особые требования к упаковке? На сайте, в каталоге, на упаковке написано и нарисовано одно и то же? Текст на упаковке и в гарантийном обязательстве – на одном и том же языке? На упаковке и в документации нет грамматических ошибок, опечаток и т.д.? Стрессовые тесты (stress tests) При какой температуре расплавится пластиковая часть ручки? При какой температуре потечёт стержень? При какой температуре ручка перестаёт писать? Какое воздействие необходимо применить к ручке, чтобы сломать её? Пишет ли ручка под водой? А по мокрой бумаге? Если ручку уронить в песок – что произойдёт? А если уронить со стола? А если из окна офиса?

Слайд 7





Тестирование ручки
Тесты производительности (performance tests)
Сколько текста можно написать ручкой в единицу времени?
Как быстро ручку можно привести в рабочее положение?
Как много раз ручку можно переключить из нерабочего в рабочее положение, прежде чем её начнёт заедать?
Конфигурационные тесты (configuration tests) 
Какие стержни подходят к нашей ручке?
На каких поверхностях она может писать?
Законодательные тесты (regulation tests)
Подлежит ли этот продукт какому-то виду лицензирования?
Необходима ли какая-то особая сопроводительная документация?
Ясно ли из документации ручки видно, в какой стране она произведена?
Существуют ли какие-то законодательные особенности, препятствующие распространению нашего продукта?
Описание слайда:
Тестирование ручки Тесты производительности (performance tests) Сколько текста можно написать ручкой в единицу времени? Как быстро ручку можно привести в рабочее положение? Как много раз ручку можно переключить из нерабочего в рабочее положение, прежде чем её начнёт заедать? Конфигурационные тесты (configuration tests) Какие стержни подходят к нашей ручке? На каких поверхностях она может писать? Законодательные тесты (regulation tests) Подлежит ли этот продукт какому-то виду лицензирования? Необходима ли какая-то особая сопроводительная документация? Ясно ли из документации ручки видно, в какой стране она произведена? Существуют ли какие-то законодательные особенности, препятствующие распространению нашего продукта?

Слайд 8





Классы эквивалентности
Класс эквивалентности (equivalence class) – набор тестов, полное выполнение которого является избыточным и не приводит к обнаружению новых дефектов.
Описание слайда:
Классы эквивалентности Класс эквивалентности (equivalence class) – набор тестов, полное выполнение которого является избыточным и не приводит к обнаружению новых дефектов.

Слайд 9





Признаки эквивалентности
Несколько тестов эквивалентны, если:
Они направлены на поиск одной и той же ошибки
Если один из тестов обнаруживает ошибку, другие её тоже, скорее всего, обнаружат
Если один из тестов НЕ обнаруживает ошибку, другие её тоже, скорее всего, НЕ обнаружат
Тесты используют одни и те же наборы входных данных
Для выполнения тестов мы совершаем одни и те же операции
Тесты генерируют одинаковые выходные данные или приводят приложение в одно и то же состояние (например открытие валидных файлов одного типа и схожего объема, но с разным содержанием)
Все тесты приводят к срабатыванию одного и того же блока обработки ошибок («error handling block»)
Ни один из тестов не приводит к срабатыванию определенного блока обработки ошибок («error handling block») (например, блок обработки ошибок открытия файла)
Описание слайда:
Признаки эквивалентности Несколько тестов эквивалентны, если: Они направлены на поиск одной и той же ошибки Если один из тестов обнаруживает ошибку, другие её тоже, скорее всего, обнаружат Если один из тестов НЕ обнаруживает ошибку, другие её тоже, скорее всего, НЕ обнаружат Тесты используют одни и те же наборы входных данных Для выполнения тестов мы совершаем одни и те же операции Тесты генерируют одинаковые выходные данные или приводят приложение в одно и то же состояние (например открытие валидных файлов одного типа и схожего объема, но с разным содержанием) Все тесты приводят к срабатыванию одного и того же блока обработки ошибок («error handling block») Ни один из тестов не приводит к срабатыванию определенного блока обработки ошибок («error handling block») (например, блок обработки ошибок открытия файла)

Слайд 10





Граничные условия
Граничные условия (или просто – границы) – это те места, в которых один класс эквивалентности переходит в другой. Например, одна группа тестов вызывает сообщение «вы ввели слишком маленькое число», а другая вызывает сообщение «вы ввели слишком большое число». Граница будет лежать где-то в районе чисел «самых больших из слишком маленьких» и «самых маленьких из слишком больших». 
! Граничные условия очень важны, и их обязательно следует проверять в тестах, т.к. именно в этом месте чаще всего и обнаруживаются ошибки
Описание слайда:
Граничные условия Граничные условия (или просто – границы) – это те места, в которых один класс эквивалентности переходит в другой. Например, одна группа тестов вызывает сообщение «вы ввели слишком маленькое число», а другая вызывает сообщение «вы ввели слишком большое число». Граница будет лежать где-то в районе чисел «самых больших из слишком маленьких» и «самых маленьких из слишком больших». ! Граничные условия очень важны, и их обязательно следует проверять в тестах, т.к. именно в этом месте чаще всего и обнаруживаются ошибки

Слайд 11





Граничные условия
Пример: Необходимо проверить, как работает поле, в которое можно ввести целое число в диапазоне от 1 до 99
   Классы эквивалентности здесь:
Любое целое в диапазоне от 1 до 99. Как правило, это будет середина числового отрезка (Позитивный тест)
Любое число меньше 1 (Негативный тест)
Любое число больше 99 (Негативный тест)
Дробь и «не число» (буквы, спецсимволы) (Негативный тест)
Описание слайда:
Граничные условия Пример: Необходимо проверить, как работает поле, в которое можно ввести целое число в диапазоне от 1 до 99 Классы эквивалентности здесь: Любое целое в диапазоне от 1 до 99. Как правило, это будет середина числового отрезка (Позитивный тест) Любое число меньше 1 (Негативный тест) Любое число больше 99 (Негативный тест) Дробь и «не число» (буквы, спецсимволы) (Негативный тест)

Слайд 12





Граничные условия
Тесты, которые мы выполним:
Ввести 1, 99, 50
Ввести 0
Ввести 100
Ввести 50.5
Ввести букву
Ввести спецсимвол: ~`!”@’#$;%:^&?*()[]{},.\/+=-_
Описание слайда:
Граничные условия Тесты, которые мы выполним: Ввести 1, 99, 50 Ввести 0 Ввести 100 Ввести 50.5 Ввести букву Ввести спецсимвол: ~`!”@’#$;%:^&?*()[]{},.\/+=-_

Слайд 13





Пример для обсуждения
Пример: Открытие файла. Чтобы добавить файл в свою фотогалерею на сайте, пользователь должен кликнуть по кнопке Открыть, выбрать файл и кликнуть по кнопке OK
   Какие случаи нам надо будет проверить?
Описание слайда:
Пример для обсуждения Пример: Открытие файла. Чтобы добавить файл в свою фотогалерею на сайте, пользователь должен кликнуть по кнопке Открыть, выбрать файл и кликнуть по кнопке OK Какие случаи нам надо будет проверить?

Слайд 14





Пример для обсуждения
«Корректный» файл
Очень большой файл
Несуществующий файл
«Файл по сети» (Доступный. Недоступный будет эквивалентен несуществующему)
Уже открытый файл (Нашим приложением и другим приложением)
Файл неверного формата (По расширению и/или реальному содержимому)
Пустой файл
Повреждённый файл
Описание слайда:
Пример для обсуждения «Корректный» файл Очень большой файл Несуществующий файл «Файл по сети» (Доступный. Недоступный будет эквивалентен несуществующему) Уже открытый файл (Нашим приложением и другим приложением) Файл неверного формата (По расширению и/или реальному содержимому) Пустой файл Повреждённый файл

Слайд 15





Выводы
Классы эквивалентности не всегда очевидны.
Как правило, негативных тестов получается больше, чем позитивных.
Принадлежность теста к позитивным или негативным зависит от требований.
Описание слайда:
Выводы Классы эквивалентности не всегда очевидны. Как правило, негативных тестов получается больше, чем позитивных. Принадлежность теста к позитивным или негативным зависит от требований.

Слайд 16





Чек-лист
Упрощенная форма тест-кейса
Главный принцип чек-листов заключается в том, что каждый тестировщик по-своему проходит их, расширяя тестовый набор своей экспертизой
Описание слайда:
Чек-лист Упрощенная форма тест-кейса Главный принцип чек-листов заключается в том, что каждый тестировщик по-своему проходит их, расширяя тестовый набор своей экспертизой

Слайд 17





Чек-лист
Разбивайте приложение на модули (модуль авторизации, модуль настроек и т.д.)
Используйте «косметику»
Используйте техники ускорения написания (copy-paste)
Описание слайда:
Чек-лист Разбивайте приложение на модули (модуль авторизации, модуль настроек и т.д.) Используйте «косметику» Используйте техники ускорения написания (copy-paste)

Слайд 18





Документирование тестов
Результатом документирования тестов является тест-кейс.
Набор тест-кейсов – Test Suite.
Описание слайда:
Документирование тестов Результатом документирования тестов является тест-кейс. Набор тест-кейсов – Test Suite.

Слайд 19





Определения тест-кейсов
IEEE Std 610-1990:
«A set of test inputs, execution conditions, and expected results developed
for a particular objective, such as to exercise a particular program path or to verify
compliance with a specific requirement.»
(«Набор тестовых входных данных, условий выполнения и ожидаемых результатов, разработанных с конкретной целью, такой как проверка некоторого пути выполнения программы или проверка соответствия некоторому требованию.»)
IEEE Std 829-1983:
«Documentation specifying inputs, predicted results, and a set of execution
conditions for a test item.»
(«Документ, определяющий набор входных данных, ожидаемых результатов и условий выполнения теста.»)
Далее в нашем курсе мы будем рассматривать слова «тест-кейс» и
«тест» как синонимы (в случаях, если не оговорено обратное).
Описание слайда:
Определения тест-кейсов IEEE Std 610-1990: «A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.» («Набор тестовых входных данных, условий выполнения и ожидаемых результатов, разработанных с конкретной целью, такой как проверка некоторого пути выполнения программы или проверка соответствия некоторому требованию.») IEEE Std 829-1983: «Documentation specifying inputs, predicted results, and a set of execution conditions for a test item.» («Документ, определяющий набор входных данных, ожидаемых результатов и условий выполнения теста.») Далее в нашем курсе мы будем рассматривать слова «тест-кейс» и «тест» как синонимы (в случаях, если не оговорено обратное).

Слайд 20





Зачем нужны тест-кейсы
«Планирование, и только потом – выполнение!» Тест-кейсы дают нам структурированный системный подход, что снижает вероятность пропуска ошибки.
Тест-кейсы – хороший способ хранения части проектной информации.
Написание тест-кейсов – один из способов протестировать проектную документацию ещё до выхода первого билда.
Наличие тест-кейсов значительно ускоряет регрессионное тестирование.
Тест-кейсы – прекрасный способ быстро ввести в курс дела новичка или сотрудника, только что подключившегося к проекту.
Имея тест-кейсы, мы можем в любой момент «вспомнить», что мы делали месяц, полгода, год назад.
Мы можем обмениваться тест-кейсами (и «чек-листами») между проектами.
Тест-кейсы позволяют легко отслеживать прогресс (X% тестов выполнено, Y% тестов прошло (завалилось), Z% требований покрыто тестами).
Описание слайда:
Зачем нужны тест-кейсы «Планирование, и только потом – выполнение!» Тест-кейсы дают нам структурированный системный подход, что снижает вероятность пропуска ошибки. Тест-кейсы – хороший способ хранения части проектной информации. Написание тест-кейсов – один из способов протестировать проектную документацию ещё до выхода первого билда. Наличие тест-кейсов значительно ускоряет регрессионное тестирование. Тест-кейсы – прекрасный способ быстро ввести в курс дела новичка или сотрудника, только что подключившегося к проекту. Имея тест-кейсы, мы можем в любой момент «вспомнить», что мы делали месяц, полгода, год назад. Мы можем обмениваться тест-кейсами (и «чек-листами») между проектами. Тест-кейсы позволяют легко отслеживать прогресс (X% тестов выполнено, Y% тестов прошло (завалилось), Z% требований покрыто тестами).

Слайд 21





Свойства тест-кейсов
Тест-кейсы могут быть:
Специфичными или общими.
Простыми или сложными.
Независимыми или связанными друг с другом.
Позитивными или негативными.
Описание слайда:
Свойства тест-кейсов Тест-кейсы могут быть: Специфичными или общими. Простыми или сложными. Независимыми или связанными друг с другом. Позитивными или негативными.

Слайд 22





Специфичность или общность
Когда все детали прописаны до мелочей, при повторных выполнениях теста всегда будут выполняться строго одни и те же действия, что снижает вероятность обнаружить ошибку.
Слишком общий тест-кейс сложно выполнять по многим объективным и субъективным причинам, а потому он вполне может остаться невыполненным.
Однако интеграционные тесты, как правило, бывают более общими, чем иные. Это связано со спецификой интеграционного тестирования.
Если в тесте прописано много мелких деталей, возрастает время его создания и поддержки.
Однако недостаток деталей может усложнить работу новичка.
Описание слайда:
Специфичность или общность Когда все детали прописаны до мелочей, при повторных выполнениях теста всегда будут выполняться строго одни и те же действия, что снижает вероятность обнаружить ошибку. Слишком общий тест-кейс сложно выполнять по многим объективным и субъективным причинам, а потому он вполне может остаться невыполненным. Однако интеграционные тесты, как правило, бывают более общими, чем иные. Это связано со спецификой интеграционного тестирования. Если в тесте прописано много мелких деталей, возрастает время его создания и поддержки. Однако недостаток деталей может усложнить работу новичка.

Слайд 23





Простота или сложность
Рассмотрим на примере. Где в ниже перечисленном простые тест-кейсы, а где – сложные?
Набор 1:
1. Откройте файл «1.txt». Файл открыт.
2. Введите слово «Дом». Появляется слово «Дом.
3. Сохраните файл. Кнопка «Сохранить» становится неактивной.
Набор 2:
1. В документе размером более 100 Мб создайте таблицу 100×100, в ячейку 50×50 вставьте картинку размером 30 Мб, применив к ней функцию «Авторасположение». Проверьте результат.
Описание слайда:
Простота или сложность Рассмотрим на примере. Где в ниже перечисленном простые тест-кейсы, а где – сложные? Набор 1: 1. Откройте файл «1.txt». Файл открыт. 2. Введите слово «Дом». Появляется слово «Дом. 3. Сохраните файл. Кнопка «Сохранить» становится неактивной. Набор 2: 1. В документе размером более 100 Мб создайте таблицу 100×100, в ячейку 50×50 вставьте картинку размером 30 Мб, применив к ней функцию «Авторасположение». Проверьте результат.

Слайд 24





Простота или сложность
Простые тесты оперируют за раз одним объектом.
Каковы преимущества простых тест-кейсов?
Их легко выполнять.
Они понятны новичкам.
Они упрощают диагностику ошибки.
Они делают наличие ошибки очевидным.
Каковы преимущества сложных тест-кейсов?
Больше шансов что-то сломать.
Пользователи, как правило, используют сложные сценарии.
Программисты сами редко проверяют такие варианты.
Следует постепенно повышать сложность тестов.
Описание слайда:
Простота или сложность Простые тесты оперируют за раз одним объектом. Каковы преимущества простых тест-кейсов? Их легко выполнять. Они понятны новичкам. Они упрощают диагностику ошибки. Они делают наличие ошибки очевидным. Каковы преимущества сложных тест-кейсов? Больше шансов что-то сломать. Пользователи, как правило, используют сложные сценарии. Программисты сами редко проверяют такие варианты. Следует постепенно повышать сложность тестов.

Слайд 25





Независимость или связанность
Каковы преимущества независимого самостоятельного тест-кейса?
Его легко и просто выполнить.
Такие тесты могут работать даже после краха приложения на других тестах.
Такие тесты можно группировать любым образом и выполнять в любом порядке.
Каковы преимущества наборов тесно связанных тестов?
Они имитируют работу реальных пользователей.
Они удобны для интеграционного тестирования.
Они удобны для разбиения на части тестов с большим количеством шагов.
Следующий в наборе тест использует данные и состояние приложения, подготовленные предыдущим.
Промышленным стандартом являются независимые тесты. Использование сценариев не запрещено, но не следует делать их слишком длинными.
Описание слайда:
Независимость или связанность Каковы преимущества независимого самостоятельного тест-кейса? Его легко и просто выполнить. Такие тесты могут работать даже после краха приложения на других тестах. Такие тесты можно группировать любым образом и выполнять в любом порядке. Каковы преимущества наборов тесно связанных тестов? Они имитируют работу реальных пользователей. Они удобны для интеграционного тестирования. Они удобны для разбиения на части тестов с большим количеством шагов. Следующий в наборе тест использует данные и состояние приложения, подготовленные предыдущим. Промышленным стандартом являются независимые тесты. Использование сценариев не запрещено, но не следует делать их слишком длинными.

Слайд 26





Позитивность или негативность
Позитивные тесты проверяют, что приложение делает то, на что оно рассчитано (т.е. такие тесты используют корректные данные и условия выполнения).
Негативные тесты проверяют работу приложения в нестандартных условиях (при получении некорректных данных или команд или при работе в некорректных условиях). 
Обе разновидности тестов важны и нужны, однако следует помнить последовательность их разработки и выполнения:
1. Простые позитивные.
2. Простые негативные.
3. Сложные позитивные.
4. Сложные негативные.
Описание слайда:
Позитивность или негативность Позитивные тесты проверяют, что приложение делает то, на что оно рассчитано (т.е. такие тесты используют корректные данные и условия выполнения). Негативные тесты проверяют работу приложения в нестандартных условиях (при получении некорректных данных или команд или при работе в некорректных условиях). Обе разновидности тестов важны и нужны, однако следует помнить последовательность их разработки и выполнения: 1. Простые позитивные. 2. Простые негативные. 3. Сложные позитивные. 4. Сложные негативные.

Слайд 27





Что должен содержать тест-кейс
Идентификатор теста (id)
Связанное с тестом требование (related requirement)
Краткое заглавие теста (title)
Модуль и подмодуль приложения, к которым относится тест (module, submodule)
Приоритет теста (priority: smoke, critical, extended; A, B, C, D)
Исходные данные, необходимые для теста (initial data) (обычно включается в шаги выполнения)
Шаги для выполнения теста (steps)
Ожидаемые результаты (expected results)
Поле для пометки, прошёл тест или нет (status)
Последний полученный актуальный результат (actual result), связанный с тестом баг (если есть) (related bug) 
Указать автора теста (author), время последнего выполнения теста (last time run) (часто эта информация указывается в заголовке файла)
Описание слайда:
Что должен содержать тест-кейс Идентификатор теста (id) Связанное с тестом требование (related requirement) Краткое заглавие теста (title) Модуль и подмодуль приложения, к которым относится тест (module, submodule) Приоритет теста (priority: smoke, critical, extended; A, B, C, D) Исходные данные, необходимые для теста (initial data) (обычно включается в шаги выполнения) Шаги для выполнения теста (steps) Ожидаемые результаты (expected results) Поле для пометки, прошёл тест или нет (status) Последний полученный актуальный результат (actual result), связанный с тестом баг (если есть) (related bug) Указать автора теста (author), время последнего выполнения теста (last time run) (часто эта информация указывается в заголовке файла)

Слайд 28





Документирование тестов
Описание слайда:
Документирование тестов

Слайд 29





Рекомендации по написанию тест-кейсов
Начинайте с простых очевидных тестов. 
Затем переходите к более сложным тестам.
Помните о граничных условиях.
Если остаётся время, занимайтесь исследовательским тестированием.
Описание слайда:
Рекомендации по написанию тест-кейсов Начинайте с простых очевидных тестов. Затем переходите к более сложным тестам. Помните о граничных условиях. Если остаётся время, занимайтесь исследовательским тестированием.

Слайд 30





Язык написания тест-кейсов
Используйте активный залог: («open», «paste», «click»). В русском языке используйте безличную форму: «открыть» (вместо «откройте»)
Описывайте поведение системы: «появляется окно…», «приложение закрывается»
Используйте простой технический стиль
ОБЯЗАТЕЛЬНО указывайте ТОЧНЫЕ названия всех элементов приложения
Не объясняйте базовые понятия работы с ОС
Описание слайда:
Язык написания тест-кейсов Используйте активный залог: («open», «paste», «click»). В русском языке используйте безличную форму: «открыть» (вместо «откройте») Описывайте поведение системы: «появляется окно…», «приложение закрывается» Используйте простой технический стиль ОБЯЗАТЕЛЬНО указывайте ТОЧНЫЕ названия всех элементов приложения Не объясняйте базовые понятия работы с ОС

Слайд 31





Критерии хорошего тест-кейса
Обладает высокой вероятностью обнаружения ошибки.
Не выполняет ненужных действий.
Не является избыточным по отношению к другим тестам.
Исследует соответствующую («ту, которую надо») область приложения.
Позволяет легко диагностировать ошибку.
Делает обнаруженную ошибку очевидной.
Независим (каждый тест-кейс – это индивидуальный сценарий с точкой входа и точкой выхода).
Описание слайда:
Критерии хорошего тест-кейса Обладает высокой вероятностью обнаружения ошибки. Не выполняет ненужных действий. Не является избыточным по отношению к другим тестам. Исследует соответствующую («ту, которую надо») область приложения. Позволяет легко диагностировать ошибку. Делает обнаруженную ошибку очевидной. Независим (каждый тест-кейс – это индивидуальный сценарий с точкой входа и точкой выхода).

Слайд 32





Тестовые набор (Test Suite)
Тестовый набор – набор тестов (тест-кейсов), собранных в последовательность для достижения некоторой цели.
Хороший тестовый сценарий всегда следует некоторой логике, например: типичному использованию приложения, удобству тестирования, распределению функций по модулям и т.д.
Описание слайда:
Тестовые набор (Test Suite) Тестовый набор – набор тестов (тест-кейсов), собранных в последовательность для достижения некоторой цели. Хороший тестовый сценарий всегда следует некоторой логике, например: типичному использованию приложения, удобству тестирования, распределению функций по модулям и т.д.

Слайд 33





Рекомендации по написанию тестовых наборов
Пишите набор для отдельной части приложения.
Пишите отдельно набор для Smoke и Critical Path тестов.
Постепенно повышайте сложность тестов.
Организуйте сценарий логично.
Используйте один тест для ОДНОЙ проверки.
Помните, что заголовки тестов отражают их суть. Правильно формулируйте и оформляйте заголовки.
Помните о необходимых приготовлениях к тесту. Описывайте их.
Не повторяйте в нескольких тестах одни и те же шаги.
Старайтесь избегать похожих тестов (таких, в которых набор шагов и ожидаемых результатов визуально кажется одинаковым).
Описание слайда:
Рекомендации по написанию тестовых наборов Пишите набор для отдельной части приложения. Пишите отдельно набор для Smoke и Critical Path тестов. Постепенно повышайте сложность тестов. Организуйте сценарий логично. Используйте один тест для ОДНОЙ проверки. Помните, что заголовки тестов отражают их суть. Правильно формулируйте и оформляйте заголовки. Помните о необходимых приготовлениях к тесту. Описывайте их. Не повторяйте в нескольких тестах одни и те же шаги. Старайтесь избегать похожих тестов (таких, в которых набор шагов и ожидаемых результатов визуально кажется одинаковым).

Слайд 34





Техники ускорения написания тестов
Copy-paste.
Если по ходу разработки тестов возникают вопросы, пишите их прямо в документ с тестами, помечая красным цветом.
Используйте т.н. «косметику» (жирный, подчёркнутый, наклонный шрифт, разные цвета т.д.) Это значительно повышает читаемость документа.
По-максимуму используйте возможности ПО, в котором вы разрабатываете тесты (группировки, фильтры, ссылки и т.д.)
 Если вы пишете тесты в файле, обязательно прописывайте в самом файле историю его изменения.
Описание слайда:
Техники ускорения написания тестов Copy-paste. Если по ходу разработки тестов возникают вопросы, пишите их прямо в документ с тестами, помечая красным цветом. Используйте т.н. «косметику» (жирный, подчёркнутый, наклонный шрифт, разные цвета т.д.) Это значительно повышает читаемость документа. По-максимуму используйте возможности ПО, в котором вы разрабатываете тесты (группировки, фильтры, ссылки и т.д.)  Если вы пишете тесты в файле, обязательно прописывайте в самом файле историю его изменения.

Слайд 35





Шаги разработки тестовых сценариев
Сбор информации (требования, мок-апы и т. д.)
Разделение приложения на модули
Написание чек-листов
Написание тест-кейсов
Описание слайда:
Шаги разработки тестовых сценариев Сбор информации (требования, мок-апы и т. д.) Разделение приложения на модули Написание чек-листов Написание тест-кейсов

Слайд 36





Шаги разработки тестовых сценариев
Начинайте как можно раньше, ещё до выхода первого билда.
Разбивайте приложение на отдельные части/модули.
Для каждой области/модуля пишите чек-лист.
Пишите вопросы, уточняйте детали, добавляйте «косметику», используйте copy-paste.
Получите рецензию коллег-тестировщиков, разработчиков, заказчиков.
Обновляйте тесты, как только обнаружили ошибку или изменилась функциональность.
Описание слайда:
Шаги разработки тестовых сценариев Начинайте как можно раньше, ещё до выхода первого билда. Разбивайте приложение на отдельные части/модули. Для каждой области/модуля пишите чек-лист. Пишите вопросы, уточняйте детали, добавляйте «косметику», используйте copy-paste. Получите рецензию коллег-тестировщиков, разработчиков, заказчиков. Обновляйте тесты, как только обнаружили ошибку или изменилась функциональность.

Слайд 37





Последовательность разработки и выполнения тестов
Простые позитивные.
Простые негативные.
Сложные позитивные.
Сложные негативные.
Описание слайда:
Последовательность разработки и выполнения тестов Простые позитивные. Простые негативные. Сложные позитивные. Сложные негативные.

Слайд 38





Учимся составлять первый тест-кейс
Что такое notepad?
Какие функции для 
	него важны?
						Что еще?
Описание слайда:
Учимся составлять первый тест-кейс Что такое notepad? Какие функции для него важны? Что еще?

Слайд 39





Учимся составлять первый тест-кейс
Итак, вот наш Smoke test
			Перенесём его в 				шаблон 	для 					разработки тестов.
Описание слайда:
Учимся составлять первый тест-кейс Итак, вот наш Smoke test Перенесём его в шаблон для разработки тестов.

Слайд 40





Учимся составлять первый тест-кейс
Фактически, это – чек-лист. И сами пункты грамотно сформированного чек-листа – готовые заголовки тест-кейсов.
Описание слайда:
Учимся составлять первый тест-кейс Фактически, это – чек-лист. И сами пункты грамотно сформированного чек-листа – готовые заголовки тест-кейсов.

Слайд 41





Учимся составлять первый тест-кейс
Когда мы распишем наши тесты по правилам, Smoke Test примет следующий вид:
Описание слайда:
Учимся составлять первый тест-кейс Когда мы распишем наши тесты по правилам, Smoke Test примет следующий вид:

Слайд 42





Учимся составлять первый тест-кейс
Аналогичным образом начинаем и продолжаем работать с тестом критического пути:
Описание слайда:
Учимся составлять первый тест-кейс Аналогичным образом начинаем и продолжаем работать с тестом критического пути:

Слайд 43





Учимся составлять первый тест-кейс
Детализируем чек-лист:
Описание слайда:
Учимся составлять первый тест-кейс Детализируем чек-лист:

Слайд 44





Учимся составлять первый тест-кейс
Продолжаем детализацию до тех пор, пока не получим логичный и достаточный набор тестов. После этого переносим его в шаблон и работаем аналогично тому, как мы делали это при разработке Smoke Test.
Описание слайда:
Учимся составлять первый тест-кейс Продолжаем детализацию до тех пор, пока не получим логичный и достаточный набор тестов. После этого переносим его в шаблон и работаем аналогично тому, как мы делали это при разработке Smoke Test.

Слайд 45





Задача о треугольнике
Эту задачу предложил в 1979 году Гленфорд Майерс в своей книге  «Искусство тестирования программ» («The Art Of Software Testing»). С тех пор она известна как «задача о треугольнике» и является своего рода классическим вопросом на множестве собеседований на должность тестировщика
Программа производит чтение с перфокарты трёх целых чисел, которые интерпретируются как длины сторон треугольника. Далее программа печатает сообщение о том, является ли треугольник неравносторонним, равнобедренным или равносторонним
Описание слайда:
Задача о треугольнике Эту задачу предложил в 1979 году Гленфорд Майерс в своей книге «Искусство тестирования программ» («The Art Of Software Testing»). С тех пор она известна как «задача о треугольнике» и является своего рода классическим вопросом на множестве собеседований на должность тестировщика Программа производит чтение с перфокарты трёх целых чисел, которые интерпретируются как длины сторон треугольника. Далее программа печатает сообщение о том, является ли треугольник неравносторонним, равнобедренным или равносторонним



Похожие презентации
Mypresentation.ru
Загрузить презентацию