- •Лабораторная работа №1 Стиль программирования
- •1 Теоретические сведения
- •Лабораторная работа №2 Алгоритмы и структуры данных
- •1 Теоретические сведения
- •2 Практитческая часть
- •3 Выполнение работы
- •4 Контрольные вопросы
- •5 Содержание отчета
- •Лабораторная работа №3 Проектирование и реализация алгоритмов и структур данных
- •1 Теоретические сведения
- •2 Пример обработки двумерного динамического массива
- •3 Выполнение работы
- •4 Варианты заданий
- •5 Контрольные вопросы
- •Лабораторная работа №4 Интерфейсы программных продуктов
- •1 Краткие теоретические сведения
- •2 Результатом выполнения лабораторной работы являются следующие документы:
- •3 В отчёте о выполнении работы должно быть отражено планирование этапа концептуального проектирования и краткое описание выполненных шагов. Лабораторная работа №5 Отладка программных продуктов
- •1 Теоретические сведения
- •Лабораторная работа №6 Тестирование программных продуктов
- •Лабораторная работа №7 Быстродействие программных продуктов
- •2 Теоретический материал
- •3 Порядок выполнения работы
- •4 Содержание отчета
Лабораторная работа №6 Тестирование программных продуктов
Цель работы: провести тестирование простейшей программы различными входными данными
1 Теоретическая часть
Все виды тестирования программного обеспечения, в зависимости от преследуемых целей, можно условно разделить на следующие группы:
1 Функциональные
2 Нефункциональные
3 Связанные с изменениями
Функциональные тесты базируются на функциях и особенностях, а также взаимодействии с другими системами, и могут быть представлены на всех уровнях тестирования: компонентном или модульном (Component/Unit testing), интеграционном (Integration testing), системном (System testing) и приемочном (Acceptance testing). Функциональные виды тестирования рассматривают внешнее поведение системы. Далее перечислены одни из самых распространенных видов функциональных тестов:
1 Функциональное тестирование (Functional testing)
2 Тестирование безопасности (Security and Access Control Testing)
3 Тестирование взаимодействия (Interoperability Testing)
Нефункциональное тестирование описывает тесты, необходимые для определения характеристик программного обеспечения, которые могут быть измерены различными величинами. В целом, это тестирование того, "Как" система работает. Далее перечислены основные виды нефункциональных тестов:
1 Все виды тестирования производительности: ◦нагрузочное тестирование (Performance and Load Testing)
1.1 стрессовое тестирование (Stress Testing)
1.2 тестирование стабильности или надежности (Stability / Reliability Testing)
1.3 объемное тестирование (Volume Testing)
2 Тестирование установки (Installation testing)
3 Тестирование удобства пользования (Usability Testing)
3 Тестирование на отказ и восстановление (Failover and Recovery Testing)
4 Конфигурационное тестирование (Configuration Testing)
Связанные с изменениями виды тестирования.
После проведения необходимых изменений, таких как исправление бага/дефекта, программное обеспечение должно быть пере тестировано для подтверждения того факта, что проблема была действительно решена. Ниже перечислены виды тестирования, которые необходимо проводить после установки программного обеспечения, для подтверждения работоспособности приложения или правильности осуществленного исправления дефекта:
1 Дымовое тестирование (Smoke Testing)
2 Регрессионное тестирование (Regression Testing)
3 Тестирование сборки (Build Verification Test)
4 Санитарное тестирование или проверка согласованности/исправности (Sanity Testing)
2 Пример выполнения практического задания
Ниже представлен исходный код, сравнивающий два целых числа. Соберем его в исполняемый файл и проведем набор тестов состоящий из:
1 Подача на вход ПО заведомо правильных значений.
2 Подача на вход заведомо неверных значений.
3 Подача на вход данных неподдерживаемого типа (строки).
Результаты тестов представлены на скриншотах.
3 Задания для самостоятельного выполнения
Скомпилируйте представленную программу, сделайте вывод по каждому тесту.
4 Содержание отчета
1 Тема и цель работы
2 Описание выполнения практического задания
3 Вывод о проделанной работе
5 Контрольные вопросы
1 Что такое тестирование методом черного ящика?
2 Что такое тестирование белым ящиком?
3 Как выполняется тестирование логики программы?
4 Как выполняется тестирование данных в программе?
