Опубликован: 16.02.2010 | Уровень: для всех | Доступ: платный
Лекция 5:

Реализация задачи по разработке

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >

Тестирование требования к качеству

Задача реализации требования к качеству передается на тестирование, когда в текущей сборке отражены ограничения, накладываемые данным требованием. Для проверки упомянутых ограничений нужно понимать, с чем они связаны. Зачастую с требованием связаны сценарии, которые демонстрируют эти ограничения. Тестирование требования к качеству подразумевает успешное завершение тестов на производительность, безопасность, стресс и нагрузку. На основании результатов тестирования создаются описатели дефектов, в которых документируются обнаруженные проблемы.

Определение подхода к тестированию Определите контекст проекта
Создание теста производительности Определите назначение теста
Создание теста безопасности Изучите точки входа
Создание стрессового теста Спроектируйте тест
Создание нагрузочного теста Определите назначение нагрузочного теста
Выбор и запуск тестового задания Выберите, какой тест запускать
Документирование дефекта Идентифицируйте дефект
Выполнение исследовательских тестов Установите продолжительность сеанса

Операция: Определение подхода к тестированию

Подход к тестированию - это документ, определяющий стратегию создания и выполнения тестов. В нем также определены стандарты качества для поставляемого продукта. Подход к тестированию служит отправной точкой для планирования тестов в начале проекта, но продолжает существовать и меняться по ходу проекта. Подход должен описывать различные методики, например тесты, как ручные, так и автоматические. Формулирование подхода к тестированию включает определение контекста теста и его конечной цели (или целей), а также выбор подходящих методик, с учетом целей и в контексте проекта. Перед началом очередной итерации данный документ нужно слегка корректировать, отражая цели тестирования в предстоящей итерации и добавляя описание используемых тестовых данных.

Определите контекст проекта Определите риски проекта, а также пользователей, на которых может сказаться их воздействие. Найдите особые ситуации, которые могут повлиять на уровень необходимого тестирования. Например, действующие в предметной области нормы могут влиять на направления тестирования
Определение цели теста Определите цели проекта, достижению которых будет способствовать тест
Оценка возможных методов тестирования Рассмотрите различные инструментальные средства для тестирования
Определение показателей тестирования Совместно с разработчиками определите реалистические пороговые значения, которые будут критериями прохождения теста. Это обязательный показатель

Операция: Создание теста производительности

С помощью теста производительности определяется время реакции приложения и проверяется соответствие требованиям к качеству. Тестирование производительности необходимо проводить в каждой итерации и резервировать время для устранения основных проблем и для проведения повторного тестирования.

Определение назначения теста Необходимо четко сформулировать назначение теста. Например, с помощью теста проверяется отсутствие существенных различий во времени отклика системы для пользователей с различными способами подключения к Интернету
Описание конфигурации теста Определите конфигурацию теста
Проектирование теста Систематизируйте тестируемые события и соответствующие им сценарии. Разделите сценарии на области, критичные и не критичные к производительности. Совместно с архитектором постройте модель производительности, которая будет основой для кодирования
Документирование этапов тестирования Выделите и опишите этапы тестирования, чтобы тестировщики могли единообразно выполнять и интерпретировать тесты. Ошибки на этом шаге могут привести к неверной оценке производительности. Везде, где это возможно, автоматизируйте создание тестовых заданий

Операция: Создание теста безопасности

Тесты безопасности или испытания на проникновение (penetration tests) имеют дело с угрозами, выявленными при проектировании. Тестирование этого типа делится на три части: изучение, определение нарушений и розыск. В результате испытания на проникновение могут быть обнаружены новые уязвимости, что повлечет за собой формулирование новых требований к качеству или идентификацию дефекта. В результате реализации такого требования или устранения дефекта должны быть заблокированы соответствующие точки входа и доступ к ресурсам. Из этого следует, что тестировщики должны быть осведомлены об элементах модели угроз не хуже архитекторов. Данный вид тестирования требует специальных навыков: нужно уметь имитировать действия потенциального злоумышленника. Доступ к модели угроз дает тестировщикам возможность систематически атаковать систему в целях проверки, не нарушая ее работу.

Изучение точек входа Определите точки входа системы и ее функциональных блоков для защиты внутренних объектов. Используйте сведения из модели угроз для определения возможных направлений атак
Идентификация проблем Напишите тестовые задания с запуском тестов прямого или псевдослучайного доступа к объектам. Для проверки специальных защитных функций требуется прямое вмешательство. Например, посмотрите, нельзя ли из URL получить идентификатор сеанса и изменить номер счета
Использование слабостей защиты Добавьте тестовые задания с использованием любых слабостей защиты. Некоторые из этих тестов будут исследовательскими, а не нацеленными на исправление проблем. Учитывайте время, необходимое для описания способов обхода защиты. Несанкционированный доступ к системе является дефектом и для его исправления надо знать способ доступа к защищенному ресурсу. Сценарии запуска тестов безопасности должны отражать общую тактику защиты секретных данных, предохранения от несанкционированного доступа и запрета доступа для нелегитимных пользователей

Операция: Создание стрессового теста

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

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

Определение назначения теста Назначение стресс-теста должно быть четко сформулировано, наряду с описанием конкретных параметров и условий, таких как предельные значения
Проектирование автоматизированного теста Систематизируйте особенности тестовой среды, условия тестирования, включая предпосылки, число виртуальных пользователей, сценарий и ресурсы. Разберитесь с распределением действий и сценариев
Создание теста Задокументируйте выполняемые пользователем действия. Добавьте проверку корректности получаемых результатов в стрессовых условиях. Чтобы тесты были динамичными, используйте привязку к данным - обращение к таким источникам данных, как SQL Server, Microsoft Excel или Microsoft Access

Операция: Создание нагрузочного теста

Нагрузочный тест является разновидностью теста производительности. Нагрузочные тесты позволяют проверить соответствие приложения требованиям к качеству в условиях нагрузки. С их помощью измеряется производительность приложения в типичных сценариях работы пользователей. Нагрузочные тесты позволяют спрогнозировать поведение приложения при достижении максимальной нагрузки. Нагрузочными тестами целесообразно проверять те 20% кода приложения, на которые приходится 80% его работы.

Определение назначения теста Назначение нагрузочного теста должно быть четко сформулировано, наряду с описанием конкретных параметров и условий, таких как допустимый диапазон значений
Проектирование автоматизированного теста Систематизируйте особенности тестовой среды, условия тестирования, включая предпосылки, число виртуальных пользователей, сценарий и ресурсы. Разберитесь с распределением действий и сценариев
Создание теста Задокументируйте выполняемые пользователем действия. Добавьте проверку корректности получаемых результатов в стрессовых условиях. Чтобы тесты были динамичными, используйте привязку к данным - обращение к таким источникам данных, как SQL Server, Microsoft Excel или Microsoft Access

Операция: Выбор и запуск тестового задания

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

Определение запускаемого теста Определите тесты, которые нужно выполнить, и присвойте им приоритеты на основе сведений в описателе задачи тестирования, общего плана тестирования и положений документа, определяющего подходы к тестированию
Определение конфигурации теста Установите и настройте тестовую конфигурацию, включая аппаратные средства, программы и тестовые данные
Получение сборки Извлеките сборку из системы контроля версий или получите ее из другого авторизованного источника
Выполнение теста Выберите папку с тестом сценария или требования к качеству
Анализ результатов теста Свяжите с результатами теста проверенный сценарий или требование к качеству
Закрытие описателя Если все тесты из задачи тестирования выполнены, закройте описатель данной задачи

Операция: Документирование дефекта

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

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

Операция: Выполнение исследовательских тестов

Исследовательское тестирование - это способ проверки продукта без определенного набора тестов. Для исследовательского тестирования подходят многие эвристические методы. Среди них - использование собирательных образов, прилагательные и наречия, анализ переменных, поиск диапазона и тестирование различных состояний.

Представленный в данном руководстве эвристический метод описывает, как продукт тестируется с точки зрения собирательного образа с целью сбора новых требований. Для проведения подобного тестирования представьте собирательный образ и выполняйте функции системы, пытаясь достичь определенной цели. Если вы обнаружите новые потенциальные цели или выясните, что существующие функции не удовлетворяют требованиям собирательного образа, добавьте новые или измените существующие сценарии. Ограничивайте сеансы исследовательского тестирования двумя часами.

Установка продолжительности сеанса Продолжительность сеанса исследовательского тестирования не должна быть меньше получаса и больше двух часов
Удовлетворение потребностей собирательного образа Выберите собирательный образ из опубликованного списка персонажей
Обнаружение новых целей Проанализируйте трудности, с которыми сталкивается собирательный образ. Если преодолеть их очень сложно, откройте новый дефект или добавьте в список сценариев новый сценарий или требование к качеству
< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
Илья Макаренко
Илья Макаренко

Добрый день.

Вопрос №1

Какова стоимость получения диплома о мини-МБА по данному курсу? Или ориентироваться на указанную на сайте?

Вопрос №2

Возможно ли начать обучение без потери результатов, не отправив документы на зачисление, а отправку выполнить позже?

Александр Медов
Александр Медов

Здравствуйте, какова полная сумма предоставленной услуги с печатью документа и отправкой по почте?

Евгений Летенков
Евгений Летенков
Россия, Москва, РУДН, 2005
Алексей Корзинин
Алексей Корзинин
Россия