(c) Larry Ewing, Simon Budig, Garrett LeSage
с 1994 г.

Кафедра Информатики и Математического Обеспечения

ПетрГУ | ИМиИТ | О кафедре | Проекты | Лаборатория ИТС | Семинары НФИ/AMICT
Сотрудники | Учебный процесс | Табель-календарь | Курсовые и выпускные работы
Вычислительные ресурсы | Публикации | Архив новостей | Контактная информация (English)

Тестирование ПО

2023/24 учебный год, Институт математики и информационных технологий, осенний семестр.

Специальности:

  • 09.03.02 Информационные системы и технологии (бакалавр, 4 год обучения)

Лектор: К. А. Кулаков

Руководители практик: К. А. Кулаков

Лекции

Задания

  1. Освоение инструментов тестирования
    • Изучить пример проекта
    • Реализовать функцию вычисления корней квадратного уравнения.
    • Написать план тестирования.
    • Опубликовать код приложения и план на Github.
    • Реализовать тесты согласно плана.
    • Выполнить тестирование приложения.
    • Настроить автоматическое тестирование (Github actions), оценку покрытия кода тестами (coveralls.io), статическое тестирование (sonarcloud.io).
  2. Тестирование многокомпонентного приложения
    • Выбор тематики приложения, реализация приложения. Приложение должно содержать не менее 2 классов по 3 метода (включая protected методы) или не менее 2 модулей по 3 функции/процедуры (если используется процедурное программирование). Должна присутствовать связность между классами/методами/функциями. (4 недели)
    • Реализация блочных, интеграционных и аттестационных тестов. (4 недели)
    • Документирование, автоматизация запуска на Gitlab/Github. (3 недели)
    В результате должен получиться проект на Github/Gitlab, содержащий репозиторий с исходным кодом приложения, кодом тестов и документацией в формате Markdown. Тесты должны запускаться при изменении кода в репозитории. Корневой каталог репозитория должен содержать ссылку (бейдж) на лог сборки.

Примеры проектов

Пример работы связки Qt + Google Test (gtest) + QtCreator
Пример работы связки cmake + Google Test (gtest)

Инструменты

Библиотеки для тестирования кода

C++ C#

Литература

  • В.П. Котляров Основы тестирования программного обеспечения
  • C. Канер, Д.Фолк "Тестирование ПО"
  • Э. Дастин, Д. Рэшка, Д. Пол "Автоматизированное тестирование программного обеспечения"
  • Р. Калбертсон, К. Браун, Г. Кобб "Быстрое тестирование"
  • Д. Макгрегор, Д. Сайкс "Тестирование объектно-ориентированного программного обеспечения"
  • Л. Тамре "Введение в тестирование программного обеспечения"
  • Р. Савин "Тестирование Дот Ком, или пособие по жесткому обращению с багами в интернет-стартапах"
  • Э. Хант, Д. Томас "Программист-прагматик. Путь от подмастерья к мастеру"