Материал: 436

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

может писать код, который связан с библиотеками тестируемого ПО. Это типично для юнит-тестирования (англ. unit testing), при котором тестируются только отдельные части системы. Оно обеспечивает то, что компоненты конструкции — работоспособны и устойчивы, до определённой степени. При тестировании белого ящика используются метрики покрытия кода.

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

При тестировании серого ящика разработчик теста имеет доступ к исходному коду, но при непосредственном выполнении тестов доступ к коду, как правило, не требуется.

1.5. Основные технологии и методы тестирования

Вопросы для рассмотрения: Стандарты и модели жизненного цикла разработки программного обеспечения. Модульное тестирование, интеграционное тестирование, системное тестирование, регрессионное тестирование. Издержки тестирования. Ручное и автоматизированное тестирование. Тестирование графического интерфейса. Тестирование производительности. Нагрузочное тестирование. Стресс тестирование. Конфигурационное тестирование. Тестирование надежности, удобства использования, производительности.

Рекомендуемая литература: 7.

Перечень дополнительных ресурсов: 4, 5, 6, 10. Наименование вида самостоятельной работы: изучение

литературы; подготовка к практическим занятиям; выполнение тестовых заданий; выполнение контрольной работы.

Технологий тестирования существует целое множество. Условно их можно отнести к статическим или к динамическим.

Необходимо разобраться в том, что же такое динамическое тестирование, а что такое статическое, и какие технологии они используют.

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

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

запуска системы или подсистемы;

вызова необходимых функциональных элементов или модулей;

сравнения через графический интерфейс пользователя поведения системы с ожидаемым результатом поведения.

Широко используемыми методами тестирования являются

модульное тестирование, интеграционное тестирование, приемочное тестирование, и тестирование системы. Программное обеспечение подвергается этим испытаниям в определенном порядке:

модульное тестирование;

интеграционное тестирование;

системное тестирование;

приемочные испытания. Методы тестирования:

Восходящее тестирование – программа собирается и тестируется снизу-вверх.

Нисходящее тестирование – программа собирается и тестируется сверху вниз. Изолировано тестируется только головной модуль.

Метод большого скачка – каждый модуль тестируется автономно. По окончании тестирования модулей они интегрируются

всистему все сразу.

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

2.ПРАКТИЧЕСКИЕ РАБОТЫ

2.1. Практическая работа № 1 «Процессы отладки и тестирования. Основные законы теории

тестирования программных продуктов»

Рекомендуемая литература: 7.

Перечень дополнительных ресурсов: 1, 3, 9, 10.

Задание:

Цель работы: в практической работе тестируем и оцениваем качественные показатели ПП.

Методика оценки качественных показателей ПП основана на составлении метрики ПП. В лабораторной работе необходимо выполнить следующее:

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

Показатели

Сущность

Экспертная оценка

Оценка, установленная

качества

показателя

(вес) wi

экспериментом ri

 

 

 

 

Установить веса показателей wi (∑wi =1).

Для каждого показателя установить конкретную численную

оценку ri от 0 до 1, исходя из следующего:

 

0 – свойство в ПП присутствует, но качество его неприемлемо; 0.5 - 1 – свойство в ПП присутствует и обладает приемлемым

качеством; 1 – свойство в ПП присутствует и обладает очень высоким

качеством.

Возможно, присвоение промежуточных значений в соответствии с мнением оценивающего лица относительно полезности того или иного свойства ПП.

Результатом выполнения данной работы является отчет об оценке качества ПП

2.2. Практическая работа № 2 «Выявление дефектов по тестовым сценариям»

Рекомендуемая литература: 5.

Перечень дополнительных ресурсов: 4, 5, 7.

Цель работы: провести функциональное и нефункциональное тестирование мобильных и веб-приложений.

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

Необходимо учитывать особенности тестирования на мобильных устройствах:

размер экрана и touch-интерфейс;

ресурсы устройства;

различные разрешения экрана и версии ОС;

реакция приложения на внешние прерывания;

удобство навигации по приложению;

тестирование вёрстки сайта;

отсутствие пустых экранов;

одновременное нажатие на все клавиши («защита от дурака»);

жесты предусмотренные функционалом;

Подготовка и порядок выполнения работы:

выбрать любой интернет-сайт и эмулятор (симулятор) мобильного устройства;

провести функциональное и нефункциональное тестирование этого сайта;

найти дефекты в работе сайта, сравнив отображение на эмуляторе устройства и на ПК в различных браузерах;

Заполнить тест-план и 10 тест-кейсов для тестирования

сайта.

2.3. Практическая работа № 3 «Метрики тестирования и качества. Метрики покрытия»

Рекомендуемая литература: 7.

Перечень дополнительных ресурсов: 2, 4, 10.

Задание:

1.познакомьтесь с метриками;

2.познакомьтесь с характеристиками и требованиями к ним, которые предъявляются к человеко-машинным интерфейсам программно-технических комплексов в атомной энергетике;

3.выберите вариант задания (таблица 1);

4.определите метрики для оценки заданной характеристики качества (для этого выберите метрики из моделей 9126, QUIM и т.д. или разработайте собственные оригинальные метрики для следующих характеристик пользовательских программных интерфейсов);

5.задайте метрику в форме спецификации;

6.обоснуйте адекватность выбранных метрик;

Варианты заданий

Таблица 1. Характеристики и требования к ним

Характеристика

 

Описание

 

 

 

Безопасность

Дизайн

интерфейса

должен

обеспечивать

1.

минимальную возможность травм и воздействия

персонала

 

 

вредных материалов.

 

 

 

 

 

Роль

оператора

должна

состоять

из

2.

Когнитивная

целенаправленных и значимых задач, которые

 

совместимость

позволяют персоналу

поддерживать хорошую

 

 

осведомленность с АЭС и поддерживать уровень