Открыто

Тестирование программного обеспечения [2021] [Высшая инженерная школа СПбПУ] [Н. Андреева, Е. Галимова, С. Городецкая, Ю. Заковряшин, М. Мещеряков]

Тема в разделе "Курсы по программированию", создана пользователем Toxich, 11 дек 2020.

Основной список: 8 участников

Резервный список: 2 участников

  1. 11 дек 2020
    #1
    Toxich
    Toxich Член клуба
    Тестирование программного обеспечения [2021]
    Высшая инженерная школа СПбПУ (Санкт-Петербургский Политехнический Университет)
    Наталья Андреева, Екатерина Галимова, Светлана Городецкая, Юрий Заковряшин, Максим Мещеряков, Александр Щукин, Ян Юшин


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

    Программа направлена на формирование знаний, умений и навыков в области оценки качества работы программного обеспечения.

    1. Основные термины и понятия из области разработки программного обеспечения;
    2. Структуру процесса разработки программного обеспечения;
    3. Цели, задачи и основные результаты составляющих процесса разработки программного обеспечения
    4. Основные виды деятельности, которые осуществляются в процессе разработки программного обеспечения;
    5. Основные роли в процессе разработки программного обеспечения, их особенности и основные требования к исполнителям этих ролей;
    6. Основные особенности, преимущества и ограничения, а также критерии применимости различных технологий разработки программного обеспечения;
    7. Критерии применимости различных технологий разработки программного обеспечения;
    8. Цели и задачи процесса тестирования;
    9. Типовую структуру и основные составляющие процесса тестирования;
    10. Основные термины и понятия, связанные с процессом тестирования;
    11. Основные виды деятельности, осуществляемые в процессе тестирования;
    12. Основные роли участников процесса тестирования, их обязанности и основные требования к ним;
    13. Основные виды стандартной документации, их назначение и структуру;
    14. Основные методы тестирования, а также их основные особенности;
    15. Общие принципы тестирования документации;
    16. Основы функционального и не функционального тестирования;
    17. Основы организации и проведения процесса тестирования;
    18. Основные принципы разработки и оптимизации схемы тестирования;
    19. Основные виды инструментов, применяемых для поддержки процесса тестирования и сопровождения жизненного цикла дефектов;
    20. Основные практические приёмы проведения функционального и нефункционального тестирования.
    21. Основные термины и понятия, связанных с процессом оптимизации тестирования;
    22. Общие подходы к оптимизации процесса тестирования, их преимущества и ограничения;
    23. Основные методы сокращения объема тестирования;
    24. Общие методы сокращения сроков тестирования;
    25. Основные принципы организации процесса автоматизации тестирования;
    26. Общую методику выбора и внедрения средств автоматизации тестирования;
    27. Основные риски автоматизации.

    Тема 1. Теоретические основы информатики и программирования.
    1.1 Программное и аппаратное обеспечение ЭВМ
    1.2 Языки программирования: уровень и тип языка программирования, характеристики.
    1.3 Характеристики разрабатываемой программы.
    1.4 Основные принципы обработки команд программы исполнителем (компьютером).
    ​
    Тема 2. Информация и данные.
    2.1 Информация и данные.
    2.2 Устройство памяти и переменные.​

    Практические занятия:
    Решение практических задач по теме системы счисления, объявления переменных.
    ​
    Тема 3. Алгоритмы и их представление.
    3.1 Основные термины и определения.
    3.2 Алгоритм и программа.

    Практические занятия:
    Решение практических задач по темам создание и тексто-графическое представление алгоритмов, объявление алгоритмов.
    ​
    Тема 4. Базовые техники разработки программного обеспечения.
    4.1 Язык программирования и его атрибуты.
    4.2 Комментарии.
    4.3 Переменные.
    4.4 Оператор.

    Практические занятия:
    Объявление переменных, техника написания программного кода.
    ​
    Тема 5. Базовые операции с переменными.
    5.1 Оператор присваивания.
    5.2 Типы переменных Типы переменных и их характеристики.
    5.3 Константы Понятие константы.
    5.4 Указатель или ссылка на переменную.

    Практические занятия:
    Формирование выражений с использованием математических, логических, строковых операций, приоритет операций.
    ​
    Тема 6. Оператор условия и оператор выбора.
    6.1 Оператор условия.
    6.2 Оператор выбора.

    Практические занятия:
    Приоритет операций, применение операторов условия, выбора.
    ​
    Тема 7. Операторы цикла.
    7.1 Оператор цикла с предусловием и постусловием.
    7.2 Оператор цикла со счетчиком Цикл со счетчиком.

    Практические занятия:
    Применение операторов цикла.
    ​
    Тема 8. Процедурный подход в программировании.
    8.1 Декомпозиция задачи. Декомпозиция задачи на подзадачи.
    8.2 Виды подпрограмм и их использование и объявление.

    Практические занятия:
    Разработка подпрограмм, декомпозиция задачи.
    ​
    Тема 9. Разработка функций.
    9.1 Разработка функций.
    9.2 Использование аргументов.

    Практические занятия:
    Разработка функций, передача аргументов в функцию.
    ​
    Тема 10. Организация данных в программе. Массивы.
    10.1 Роль организации данных в программе..
    10.2 Понятие массива.
    10.3 Массивы одномерные и многомерные.
    10.4 Понятие индекса и элемента массива.
    10.5 Подсчет объема памяти занимаемой массивом.
    10.6 Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов

    Практические занятия:
    Объявление массивов, алгоритмы работы с массивами
    ​
    Тема 11. Структура.
    11.1 Пользовательский тип данных (структура).
    11.2 Объявление и использование пользовательского типа.
    11.3 Совместное использование пользовательских типов данных и массивов.

    Практические занятия:
    Объявление структур, алгоритмы работы со структурами
    ​
    Тема 12. Обработка текстовой информации.
    12.1 Представление текстовой информации.
    12.2 Понятие строка.
    12.3 Различные способы организации строковых данных.
    12.4 Работа с отдельными символами.
    12.5 Наиболее употребительные функции для работы со строками.

    Практические занятия:
    Алгоритмы работы со строками.
    ​
    Тема 13. Использование интегрированной среды разработки.
    13.1 Базовые операции.
    13.2 Получение справки.

    Практические занятия:
    Использование средств MS Visual Studio.
    Инструменты отладки и получение справки.
    ​
    Тема 14. Разработка проектов с использованием Windows Forms.
    14.1 Разработка пользовательского интерфейса программы
    14.2 Использование форм для разработки пользовательского интерфейса.
    14.3 Добавление элементов управления. Понятие объекта и класса.
    14.4 Настройка свойств, использование методов, обработка событий.

    Практические занятия:
    Разработка проекта с использованием оконного интерфейса.
    ​
    Тема 15. Использование системы контроля версий.
    15.1 Использование системы контроля версий
    15.2 Понятие системы контроля версий.
    15.3 Репозиторий.
    15.4 Запись изменений.
    15.5 Основы ветвления.
    15.6 Основы слияния.
    15.7 Выполнение задачи в системе контроля версий.

    Практические занятия:
    Использование системы контроля версий.
    ​
    Тема 16. Итоговоая аттестация
    Тема 1. Информационные системы с базами данных.
    1.1 Концепция баз данных и СУБД.
    1.2 Введение в модели данных.
    ​
    Тема 2. Основы методологии проектирования БД.
    2.1 Предметная область базы данных и ее модели.
    2.2 Основы методологии проектирования БД.
    2.3 Модели данных.
    2.4 Инфологическое проектирование баз данных.
    ​
    Тема 3. Реляционная модель данных и основы реляционной алгебры.
    3.1 Терминология и основы реляционной алгебры.
    3.2 Типы отношений.
    3.3 Ключи.
    3.4 Функциональные зависимости.
    ​
    Тема 4. Основы языка SQL.
    4.1 Введение в язык SQL.
    4.2 Основные возможности языка.
    4.3 Стандартизация языка SQL.
    4.4 Использование языка SQL.
    ​
    Тема 5. Использование инструкций DDL.
    5.1 Объекты базы данных.
    5.2 Создание, изменение и удаление таблиц.
    5.3 Определение характеристик столбцов.
    ​
    Тема 6. Инструкции DML и манипулирование данными.
    6.1 Типы операций манипулирования данными.
    6.2 Использование операторов INSERT, UPDATE и DELETE.
    ​
    Тема 7. Основные инструкции DQL. Извлечение данных из нескольких таблиц. Использование подзапросов и SET-операторов.
    7.1 Извлечение данных.
    7.2 Фильтрация и сортировка данных в выборке.
    7.3 Типы объединений.
    7.4 Использование объединений.
    7.5 Использование подзапросов.
    7.6 Использование операторов работы с множествами (SET-операторов).
    ​
    Тема 8. Создание отчётов, содержащих агрегированные данные.
    8.1 Типы групповых функций.
    8.2 Создание и фильтрация групп.​
    Тема 1. Основные понятия и определения
    1.1. Цель и задачи курса.
    • Основные термины и понятия.
    • Цель и задачи курса.
    • Обзор рассматриваемых тем.
    • Ожидаемые результаты.
    • Основные понятия: информационно-вычислительная (компьютерная) система, программное обеспечение, программный проект, программный продукт.
    • Основные характеристики программного продукта.
    • Круг лиц, заинтересованных в реализации проекта.
    • Жизненный цикл программного продукта.
    • Стандарт жизненного цикла программного продукта.
    1.2. Технологии промышленной разработки программного обеспечения
    • Определение технологии промышленной разработки программного продукта.
    • Общий процесс разработки программного продукта.
    • Обзор основных составляющих процесса разработки программного продукта.
    • Классические модели разработки программных продуктов: каскадная модель, итерационная модель, инкрементальная модель, эволюционная модель.
    • Унифицированный процесс разработки (USDP). Обзор гибких (Agile) технологий разработки программных продуктов
    ​
    Тема 2. Разработка требований к ПП
    2.1. Процесс разработки требований
    • Определение термина «требование к программному продукту».
    • Цель и задачи процесса разработки требований.
    • Необходимость разработки требований.
    • Виды требований.
    • Уровни требований.
    • Общая структура процесса разработки требований
    2.2. Выявление требований
    • Цель и задачи процесса выявления требований.
    • Основные источники требований.
    • Классы пользователей.
    • Глоссарий предметной области.
    • Выявление сущностей предметной области, её операций и атрибутов.
    • Основные методы выявления требований.
    2.3. Анализ требований
    • Цель и задачи процесса анализа требований.
    • Систематизация и классификация требований.
    • Приоритеты требований. Достоверность требований.
    • Вероятность изменения требований.
    • Основные атрибуты требований.
    • Матрица зависимостей требований.
    • Документирование требований.
    2.4. Сопровождение требований
    • Цель и задачи процесса сопровождения требований.
    • Причины и источники изменения требований.
    • Реализация изменений требований.
    Практические занятия
    1. Выявление требований к программному продукту
    2. Анализ требований к программному продукту
    ​
    Тема 3. Проектирование ПП
    3.1. Процесс проектирования
    • Цель и задачи процесса проектирования программного продукта.
    • Необходимость проектирования программного продукта.
    • Основные объекты проектирования.
    • Структура процесса проектирования.
    • Архитектурное проектирование.
    • Детальное проектирование.
    • Основные результаты проектирования.
    • Документирование результатов проектирования.
    3.2. Общие приёмы проектирования
    • Составление словаря предметной области и словаря системы.
    • Выбор архитектуры системы.
    • Определение ролей и обязанностей компонентов системы.
    • Разработка интерфейсов системы.
    ​
    Тема 4. Реализация ПП
    4.1. Процесс реализации
    • Цель и задачи реализации программного продукта.
    • Типовая структура процесса реализации программного продукта.
    • Планирование процесса реализации.
    • Управление процессом реализации.
    • Анализ результатов реализации.
    • Определение требований качества.
    • Основные артефакты реализации.
    4.2. Основные технологии реализации
    • Основные модели реализации.
    • Стиль программирования.
    • Стандарт кодирования.
    • Разработка «снизу-вверх».
    • Разработка «сверху-вниз».
    • Инспектирование кода.
    • Документирование исходного кода.
    ​
    Тема 5. Сопровождение ПП
    5.1. Процесс сопровождения
    • Цель и задачи процесса сопровождения программного продукта.
    • Типовая структура процесса сопровождения программного продукта.
    • Планирование и управление процессом сопровождения ПП.
    • Анализ результатов сопровождения.
    • Основные метрики процесса сопровождения.
    • Качество сопровождения.
    • Стандарты сопровождения.
    5.2. Основные технологии сопровождения ПП
    • Виды работ по сопровождению ПП.
    • Исправление дефектов.
    • Выявление новых требований.
    • Рефакторинг. Реинжениринг.
    ​
    Тема 6. Итоговая аттестация
    6.1. Итоговый обзор
    • Заключительный обзор рассмотренных тем.
    • Порядок сдачи зачёта.
    • Оценка результатов.Зачёт по курсу
    ​
    Тема 1. Общие понятия и определения
    1.1 Вводные замечания
    1.2 Краткое введение в технологии разработки программного обеспечения
    1.3 Тестирование как часть процесса разработки программных продуктов
    1.4 Тестирование как специальность
    ​
    Тема 2. Методология тестирования
    2.1 Общая методика тестирования. Обзор методов тестирования
    2.2 Метод тестирования «белого ящика»
    2.3 Метод тестирования «черного ящика»
    2.4 Схема тестирования

    Практические работы:
    1. Пример тестирования «белым ящиком»
    2. Пример тестирования «черным ящиком»
    ​
    Тема 3. Тестирование документации
    3.1 Вводные положения
    3.2 Тестирование требований к программному продукту
    3.3 Тестирование исходного кода программы
    3.4 Тестирование структур данных

    Практические работы:
    1. Разработка спецификации теста и проведение тестирования требований.
    2. Разработка спецификации теста и проведение тестирования исходного кода
    3. Разработка спецификации теста и проведение тестирования формата файла
    ​
    Тема 4. Основы функционального тестирование
    4.1 Функциональное тестирование как отдельный вид тестирования
    4.2 Общие приёмы и схемы функционального тестирования

    Практические работы:
    1. Разработка спецификации теста и проведение тестирования функциональности приложения
    ​
    Тема 5. Основы нефункционального тестирования
    5.1 Основные виды нефункционального тестирования
    5.2 Общие приёмы и схемы нефункционального тестирования

    Практические работы:
    Разработка спецификации теста и проведение тестирования приложения на удобство использования
    ​
    Тема 6. Документирование процесса тестирования
    6.1 Общие цели и задачи документирования процесса тестирования
    6.2 Основные виды документов
    6.3 Другие виды документов

    Практические работы:
    1. Разработка проекта теста;
    2. Разработка спецификации теста;
    3. Разработка отчёта о проведении теста;
    4. Разработка описания дефекта.
    ​
    Итоговая аттестация
    Тема 1. Общая практика тестирования
    1.1. Задачи и особенности курса. Основные термины и понятия.
    1.2. Технологии тестирования
    1.3. Планирование работ и разработка тестов
    1.4. Выполнение тестов и анализ результатов тестирования
    ​
    Тема 2. Инструменты тестирования
    2.1. Обзор вспомогательных интсрументов тестирования
    2.2. Общая поддержка процесса тестирования
    2.3. Поддержка процесса тестирования
    2.4. Сопровождение жизненного цикла дефекта

    Практические работы:
    1. Создание тестового плана. Определение задач тестирования. Определение ролей участников процесса тестирования
    2. Специкация теста. Спецификация тестовой процедуры
    3. Выполнение теста и фиксация его результатов
    ​
    Тема 3. Разработка схемы тестирования
    3.1. Назначение и использование схемы тестирования
    3.2. Разработка схемы тестирования
    3.3. Документирование схемы тестирования

    Практические работы:
    1. Составление схемы тестирования
    ​
    Тема 4. Практические методы тестирования
    4.1. «Классический» подход к тестированию
    4.2. «Гибкое» тестирование
    4.3. Разработка на основе тестирования
    4.4. Некоторые приёмы функционального тестирования
    4.5. Тестирование пользовательского интерфейса
    4.6. Тестирование сетевого взаимодействия
    4.7. Тестирование взаимодействия с базами данных и файлового ввода/вывода
    4.8. Тестирование веб-приложений и веб-служб
    4.9. Тестирование производительности и нагрузочное тестирование

    Практические работы:
    1. Пример «классического» проведения тестирования
    2. Пример тестирования по технологии «гибкого тестирования»
    3. Разработка и документирование теста в рамках разработки на основе тестирования
    4. Пример разработки и выполнения функционального теста
    5. Пример разработки и выполнения теста удобства использования
    6. Пример разработки и выполнения теста взаимодействия с базой данных
    7. Пример разработки и выполнения теста для веб-приложения
    8. Пример разработки и выполнения нагрузочного теста
    ​
    Итоговая аттестация
    Тема 1. Вводные замечания
    1.1. Процесс оптимизации тестирования
    1.2. Определение цели и задачи оптимизации
    ​
    Тема 2. Оптимизация управления
    2.1. Постановка задачи оптимизации управления тестированием
    2.2. Основные методы оптимизации процесса управления тестированием

    Практические работы
    1. Вычисление метрик процесса управления.
    ​
    Тема 3. Сокращение объема тестирования
    3.1. Объём тестирования
    3.2. Основные методы сокращения объема тестирования

    Практические работы
    1. Выделение классов эквивалентности
    2. Выделение критичной функциональности
    3. Разработка и оптимизация схемы тестирования
    ​
    Тема 4. Сокращение сроков тестирования
    4.1. Тестовый цикл
    4.2. Основные методы сокращения сроков тестирования

    Практические работы
    1. Предварительная подготовка к тестированию
    2. Сокращение сроков тестирования за счёт инверсии зависимостей
    3. Пример применения технологии «быстрого тестирования».
    ​
    Тема 5. Организация процесса автоматизации тестирования
    5.1. Организация процесса автоматизации тестирования
    5.2. Основные направления автоматизации
    5.3. Обзор некоторых инструментов автоматизации тестирования
    ​
    Тема 6. Реализация процесса автоматизации тестирования
    6.1. Подготовка к автоматизации процесса тестирования
    6.2. Автоматизация процесса тестирования
    6.3. Автоматизация тестов
    6.4. Комплексная автоматизация процесса тестирования

    Практические работы
    1. Измерение простейших метрик процесса тестирования
    2. Формализация тестовой процедуры
    3. Пример разработки и выполнения автоматического теста
    4. Разработка требований к автоматизированной тестовой платформе
    5. Методика выбора инструмента автоматизации
    ​
    Итоговая аттестация

    Продажник
     
    1 человеку нравится это.
  2. Последние события

    1. gohas
      gohas не участвует в складчине.
      20 авг 2026
    2. Un_NameD
      Un_NameD не участвует в складчине.
      14 июн 2026
    3. Денис Гуру
      Денис Гуру не участвует в складчине.
      5 июн 2026
    4. skladchik.com
      В складчине участвует 10 человек(а).
      23 май 2026