Голосов: 0
#1
Тестирование программного обеспечения [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 Программное и аппаратное обеспечение ЭВМТема 2. Информация и данные.
1.2 Языки программирования: уровень и тип языка программирования, характеристики.
1.3 Характеристики разрабатываемой программы.
1.4 Основные принципы обработки команд программы исполнителем (компьютером).
2.1 Информация и данные.
2.2 Устройство памяти и переменные.
Практические занятия:Тема 3. Алгоритмы и их представление.
Решение практических задач по теме системы счисления, объявления переменных.
3.1 Основные термины и определения.Тема 4. Базовые техники разработки программного обеспечения.
3.2 Алгоритм и программа.
Практические занятия:
Решение практических задач по темам создание и тексто-графическое представление алгоритмов, объявление алгоритмов.
4.1 Язык программирования и его атрибуты.Тема 5. Базовые операции с переменными.
4.2 Комментарии.
4.3 Переменные.
4.4 Оператор.
Практические занятия:
Объявление переменных, техника написания программного кода.
5.1 Оператор присваивания.Тема 6. Оператор условия и оператор выбора.
5.2 Типы переменных Типы переменных и их характеристики.
5.3 Константы Понятие константы.
5.4 Указатель или ссылка на переменную.
Практические занятия:
Формирование выражений с использованием математических, логических, строковых операций, приоритет операций.
6.1 Оператор условия.Тема 7. Операторы цикла.
6.2 Оператор выбора.
Практические занятия:
Приоритет операций, применение операторов условия, выбора.
7.1 Оператор цикла с предусловием и постусловием.Тема 8. Процедурный подход в программировании.
7.2 Оператор цикла со счетчиком Цикл со счетчиком.
Практические занятия:
Применение операторов цикла.
8.1 Декомпозиция задачи. Декомпозиция задачи на подзадачи.Тема 9. Разработка функций.
8.2 Виды подпрограмм и их использование и объявление.
Практические занятия:
Разработка подпрограмм, декомпозиция задачи.
9.1 Разработка функций.Тема 10. Организация данных в программе. Массивы.
9.2 Использование аргументов.
Практические занятия:
Разработка функций, передача аргументов в функцию.
10.1 Роль организации данных в программе..Тема 11. Структура.
10.2 Понятие массива.
10.3 Массивы одномерные и многомерные.
10.4 Понятие индекса и элемента массива.
10.5 Подсчет объема памяти занимаемой массивом.
10.6 Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов
Практические занятия:
Объявление массивов, алгоритмы работы с массивами
11.1 Пользовательский тип данных (структура).Тема 12. Обработка текстовой информации.
11.2 Объявление и использование пользовательского типа.
11.3 Совместное использование пользовательских типов данных и массивов.
Практические занятия:
Объявление структур, алгоритмы работы со структурами
12.1 Представление текстовой информации.Тема 13. Использование интегрированной среды разработки.
12.2 Понятие строка.
12.3 Различные способы организации строковых данных.
12.4 Работа с отдельными символами.
12.5 Наиболее употребительные функции для работы со строками.
Практические занятия:
Алгоритмы работы со строками.
13.1 Базовые операции.Тема 14. Разработка проектов с использованием Windows Forms.
13.2 Получение справки.
Практические занятия:
Использование средств MS Visual Studio.
Инструменты отладки и получение справки.
14.1 Разработка пользовательского интерфейса программыТема 15. Использование системы контроля версий.
14.2 Использование форм для разработки пользовательского интерфейса.
14.3 Добавление элементов управления. Понятие объекта и класса.
14.4 Настройка свойств, использование методов, обработка событий.
Практические занятия:
Разработка проекта с использованием оконного интерфейса.
15.1 Использование системы контроля версийТема 16. Итоговоая аттестация
15.2 Понятие системы контроля версий.
15.3 Репозиторий.
15.4 Запись изменений.
15.5 Основы ветвления.
15.6 Основы слияния.
15.7 Выполнение задачи в системе контроля версий.
Практические занятия:
Использование системы контроля версий.
Тема 1. Информационные системы с базами данных.
1.1 Концепция баз данных и СУБД.Тема 2. Основы методологии проектирования БД.
1.2 Введение в модели данных.
2.1 Предметная область базы данных и ее модели.Тема 3. Реляционная модель данных и основы реляционной алгебры.
2.2 Основы методологии проектирования БД.
2.3 Модели данных.
2.4 Инфологическое проектирование баз данных.
3.1 Терминология и основы реляционной алгебры.Тема 4. Основы языка SQL.
3.2 Типы отношений.
3.3 Ключи.
3.4 Функциональные зависимости.
4.1 Введение в язык SQL.Тема 5. Использование инструкций DDL.
4.2 Основные возможности языка.
4.3 Стандартизация языка SQL.
4.4 Использование языка SQL.
5.1 Объекты базы данных.Тема 6. Инструкции DML и манипулирование данными.
5.2 Создание, изменение и удаление таблиц.
5.3 Определение характеристик столбцов.
6.1 Типы операций манипулирования данными.Тема 7. Основные инструкции DQL. Извлечение данных из нескольких таблиц. Использование подзапросов и SET-операторов.
6.2 Использование операторов INSERT, UPDATE и DELETE.
7.1 Извлечение данных.Тема 8. Создание отчётов, содержащих агрегированные данные.
7.2 Фильтрация и сортировка данных в выборке.
7.3 Типы объединений.
7.4 Использование объединений.
7.5 Использование подзапросов.
7.6 Использование операторов работы с множествами (SET-операторов).
8.1 Типы групповых функций.
8.2 Создание и фильтрация групп.Тема 1. Основные понятия и определения
1.1. Цель и задачи курса.Тема 2. Разработка требований к ПП
1.2. Технологии промышленной разработки программного обеспечения
- Основные термины и понятия.
- Цель и задачи курса.
- Обзор рассматриваемых тем.
- Ожидаемые результаты.
- Основные понятия: информационно-вычислительная (компьютерная) система, программное обеспечение, программный проект, программный продукт.
- Основные характеристики программного продукта.
- Круг лиц, заинтересованных в реализации проекта.
- Жизненный цикл программного продукта.
- Стандарт жизненного цикла программного продукта.
- Определение технологии промышленной разработки программного продукта.
- Общий процесс разработки программного продукта.
- Обзор основных составляющих процесса разработки программного продукта.
- Классические модели разработки программных продуктов: каскадная модель, итерационная модель, инкрементальная модель, эволюционная модель.
- Унифицированный процесс разработки (USDP). Обзор гибких (Agile) технологий разработки программных продуктов
2.1. Процесс разработки требованийТема 3. Проектирование ПП
2.2. Выявление требований
- Определение термина «требование к программному продукту».
- Цель и задачи процесса разработки требований.
- Необходимость разработки требований.
- Виды требований.
- Уровни требований.
- Общая структура процесса разработки требований
2.3. Анализ требований
- Цель и задачи процесса выявления требований.
- Основные источники требований.
- Классы пользователей.
- Глоссарий предметной области.
- Выявление сущностей предметной области, её операций и атрибутов.
- Основные методы выявления требований.
2.4. Сопровождение требований
- Цель и задачи процесса анализа требований.
- Систематизация и классификация требований.
- Приоритеты требований. Достоверность требований.
- Вероятность изменения требований.
- Основные атрибуты требований.
- Матрица зависимостей требований.
- Документирование требований.
Практические занятия
- Цель и задачи процесса сопровождения требований.
- Причины и источники изменения требований.
- Реализация изменений требований.
1. Выявление требований к программному продукту
2. Анализ требований к программному продукту
3.1. Процесс проектированияТема 4. Реализация ПП
3.2. Общие приёмы проектирования
- Цель и задачи процесса проектирования программного продукта.
- Необходимость проектирования программного продукта.
- Основные объекты проектирования.
- Структура процесса проектирования.
- Архитектурное проектирование.
- Детальное проектирование.
- Основные результаты проектирования.
- Документирование результатов проектирования.
- Составление словаря предметной области и словаря системы.
- Выбор архитектуры системы.
- Определение ролей и обязанностей компонентов системы.
- Разработка интерфейсов системы.
4.1. Процесс реализацииТема 5. Сопровождение ПП
4.2. Основные технологии реализации
- Цель и задачи реализации программного продукта.
- Типовая структура процесса реализации программного продукта.
- Планирование процесса реализации.
- Управление процессом реализации.
- Анализ результатов реализации.
- Определение требований качества.
- Основные артефакты реализации.
- Основные модели реализации.
- Стиль программирования.
- Стандарт кодирования.
- Разработка «снизу-вверх».
- Разработка «сверху-вниз».
- Инспектирование кода.
- Документирование исходного кода.
5.1. Процесс сопровожденияТема 6. Итоговая аттестация
5.2. Основные технологии сопровождения ПП
- Цель и задачи процесса сопровождения программного продукта.
- Типовая структура процесса сопровождения программного продукта.
- Планирование и управление процессом сопровождения ПП.
- Анализ результатов сопровождения.
- Основные метрики процесса сопровождения.
- Качество сопровождения.
- Стандарты сопровождения.
- Виды работ по сопровождению ПП.
- Исправление дефектов.
- Выявление новых требований.
- Рефакторинг. Реинжениринг.
6.1. Итоговый обзор
- Заключительный обзор рассмотренных тем.
- Порядок сдачи зачёта.
- Оценка результатов.Зачёт по курсу
Тема 1. Общие понятия и определения
1.1 Вводные замечанияТема 2. Методология тестирования
1.2 Краткое введение в технологии разработки программного обеспечения
1.3 Тестирование как часть процесса разработки программных продуктов
1.4 Тестирование как специальность
2.1 Общая методика тестирования. Обзор методов тестированияТема 3. Тестирование документации
2.2 Метод тестирования «белого ящика»
2.3 Метод тестирования «черного ящика»
2.4 Схема тестирования
Практические работы:
1. Пример тестирования «белым ящиком»
2. Пример тестирования «черным ящиком»
3.1 Вводные положенияТема 4. Основы функционального тестирование
3.2 Тестирование требований к программному продукту
3.3 Тестирование исходного кода программы
3.4 Тестирование структур данных
Практические работы:
1. Разработка спецификации теста и проведение тестирования требований.
2. Разработка спецификации теста и проведение тестирования исходного кода
3. Разработка спецификации теста и проведение тестирования формата файла
4.1 Функциональное тестирование как отдельный вид тестированияТема 5. Основы нефункционального тестирования
4.2 Общие приёмы и схемы функционального тестирования
Практические работы:
1. Разработка спецификации теста и проведение тестирования функциональности приложения
5.1 Основные виды нефункционального тестированияТема 6. Документирование процесса тестирования
5.2 Общие приёмы и схемы нефункционального тестирования
Практические работы:
Разработка спецификации теста и проведение тестирования приложения на удобство использования
6.1 Общие цели и задачи документирования процесса тестированияИтоговая аттестация
6.2 Основные виды документов
6.3 Другие виды документов
Практические работы:
1. Разработка проекта теста;
2. Разработка спецификации теста;
3. Разработка отчёта о проведении теста;
4. Разработка описания дефекта.
Тема 1. Общая практика тестирования
1.1. Задачи и особенности курса. Основные термины и понятия.Тема 2. Инструменты тестирования
1.2. Технологии тестирования
1.3. Планирование работ и разработка тестов
1.4. Выполнение тестов и анализ результатов тестирования
2.1. Обзор вспомогательных интсрументов тестированияТема 3. Разработка схемы тестирования
2.2. Общая поддержка процесса тестирования
2.3. Поддержка процесса тестирования
2.4. Сопровождение жизненного цикла дефекта
Практические работы:
1. Создание тестового плана. Определение задач тестирования. Определение ролей участников процесса тестирования
2. Специкация теста. Спецификация тестовой процедуры
3. Выполнение теста и фиксация его результатов
3.1. Назначение и использование схемы тестированияТема 4. Практические методы тестирования
3.2. Разработка схемы тестирования
3.3. Документирование схемы тестирования
Практические работы:
1. Составление схемы тестирования
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. Процесс оптимизации тестированияТема 2. Оптимизация управления
1.2. Определение цели и задачи оптимизации
2.1. Постановка задачи оптимизации управления тестированиемТема 3. Сокращение объема тестирования
2.2. Основные методы оптимизации процесса управления тестированием
Практические работы
1. Вычисление метрик процесса управления.
3.1. Объём тестированияТема 4. Сокращение сроков тестирования
3.2. Основные методы сокращения объема тестирования
Практические работы
1. Выделение классов эквивалентности
2. Выделение критичной функциональности
3. Разработка и оптимизация схемы тестирования
4.1. Тестовый циклТема 5. Организация процесса автоматизации тестирования
4.2. Основные методы сокращения сроков тестирования
Практические работы
1. Предварительная подготовка к тестированию
2. Сокращение сроков тестирования за счёт инверсии зависимостей
3. Пример применения технологии «быстрого тестирования».
5.1. Организация процесса автоматизации тестированияТема 6. Реализация процесса автоматизации тестирования
5.2. Основные направления автоматизации
5.3. Обзор некоторых инструментов автоматизации тестирования
6.1. Подготовка к автоматизации процесса тестированияИтоговая аттестация
6.2. Автоматизация процесса тестирования
6.3. Автоматизация тестов
6.4. Комплексная автоматизация процесса тестирования
Практические работы
1. Измерение простейших метрик процесса тестирования
2. Формализация тестовой процедуры
3. Пример разработки и выполнения автоматического теста
4. Разработка требований к автоматизированной тестовой платформе
5. Методика выбора инструмента автоматизации
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.