- •Дисциплина «Технология разработки программных продуктов» Теория
- •1 Классификация программных продуктов по сфере использования: системное программное обеспечение, инструментарий технологий программирования, пакеты прикладных программ.
- •Инструменты разработки программных средств
- •2 Понятие жизненного цикла программы. Основные этапы жизненного цикла программы
- •3 Понятие модели жизненного цикла разработки программного продукта. Обзор существующих основных моделей
- •Каскадная модель
- •Модель прототипирования
- •Модель быстрой разработки приложений (rad-модель)
- •Многопроходная модель
- •Спиральная модель
- •4 Структурное программирование. Основные управляющие конструкции структурного программирования
- •5 Методы структурного программирования. Достоинства и недостатки структурного программирования
- •6 Сущность метода объектно-ориентированного программирования. Основные этапы объектно-ориентированного программирования. Основные принципы объектно-ориентированного программирования
- •Этапы разработки программных продуктов с использованием ооп
- •7 Классификация систем, поддерживающих диалоговые процессы. Интерфейс пользователя программного продукта. Требования, предъявляемые к стандартному графическому интерфейсу пользователя
- •8 Классификация ошибок программного обеспечения
- •9 Отладка программ. Методы и виды отладки программ. Различие между тестированием и отладкой программ.
- •Автономная отладка модуля
- •Комплексная отладка
- •10 Виды тестирования
- •11 Тестирование программ. Разработка тестов. Характеристики хорошего теста. Как узнать, прошла ли программа тест
- •12 Методы тестирования программных продуктов: «стеклянный ящик», «черный ящик»
- •13 Тестирование программных продуктов. Классы эквивалентности. Условия принадлежности тестов к классу эквивалентности. Поиск классов эквивалентности
- •Категории специалистов, занятых разработкой и эксплуатацией программ
- •Технологии коллективной разработки
- •Коллективная разработка
- •Стоимость программных средств. Факторы, влияющие на стоимость программных средств
- •Факторы, влияющие на стоимость программных средств
- •Факторы, связанные с разработкой
- •Факторы, связанные с организацией разработки
- •Факторы, определяемые окружающей средой
- •17 Отладочные возможности среды программирования Delphi
- •Условная точка останова
- •Изменение характеристик точки останова
- •Удаление точки останова
- •Пошаговое выполнение программы
- •Использование окна Watch
- •Использование команд Evaluate и Modify
- •18 Защита программного обеспечения
- •Практика
10 Виды тестирования
Для каждого программного продукта должен существовать набор тестов, проверяющий его корректность. Существует несколько уровней тестирования, позволяющих полностью проверить программный продукт. Каждый уровень имеет свои цели и компоненты. Можно выделить пять уровней тестирования: модульное; интеграционное; системное; выходное; приемочное.
Тестирование первых четырех уровней проводится внутри организации, тогда как приемочное тестирование выполняется совместно с представителями заказчика.
Тестирование первого уровня осуществляет сам разработчик на этапе разработки, за остальные уровни отвечает независимый тестировщик.
Модульное тестирование
Этот вид тестирования представляет собой процесс проверки отдельных программных процедур и подпрограмм, входящих в состав программ или программных систем.
Модульное тестирование производится непосредственным разработчиком, который проверяет все внутренние структуры и потоки данных в каждом модуле.
Этот вид тестирования является частью этапа разработки. При модульном тестировании выполняется набор тестов, определяемый разработчиком так, чтобы охват тестированием каждого модуля был не менее 70...75 %.
Элементами модульного тестирование являются:
синтаксическая проверка - проверка с использованием некоторого инструментального средства для выявления синтаксических ошибок в программном коде;
проверка соответствия стандартам кодирования - проверка кода на соответствие стандартам кодирования компании;
технический обзор программного кода.
Интеграционное тестирование.
Этот вид тестирования проводится для проверки совместной работы отдельных модулей и предшествует тестированию всей системы как единого целого.
В ходе интеграционного тестирования проверяются связи между модулями, их совместимость и функциональность.
Оно осуществляется независимым тестировщиком и входит в состав этапа тестирования.
Элементами интеграционного тестирования являются:
проверка функциональности - проверка соответствия отдельных функций, выполняемых совокупностями модулей, функциям, заданным в спецификациях требований;
проверка промежуточных результатов - проверка всех промежуточных результатов и файлов на наличие и корректность;
проверка интеграции - проверка того, что модули передают друг другу информацию корректно.
Системное тестирование
Этот вид тестирования предназначен для проверки программы системы в целом, ее организации и функционирования на соответствие спецификациям требований заказчика.
Его проводит независимый тестировщик после успешного завершения интеграционного тестирования.
Элементами системного тестирования являются:
граничное тестирование - тестирование в граничных условиях;
прогоночное тестирование - тестирование всех функциональных характеристик реальной работы системы;
целевое тестирование - тестирование на целевой платформе (по возможности);
проверка документации - проверка пользовательской документации на корректность;
другие тесты, определяемые тестировщиком.
Выходное тестирование
Это завершающий этап тестирования, на котором проверяется готовность ПП к поставке заказчику.
Данный вид тестирования проводит независимый тестировщик.
Элементами выходного тестирования являются:
проверка инсталляции - проверка на ясность и корректность инструкций по инсталляции;
проверка документации - проверка того, что вся необходимая документация полностью подготовлена и готова к передаче заказчику.
При успешном завершении выходного тестирования ПП поставляется заказчику вместе с отчетом о результатах тестирования.
Приёмочное тестирование
Этот вид тестирования проводится организацией, отвечающей за инсталляцию (установочные работы), сопровождение программной системы и обучение конечного пользователя.
Вопросы для самопроверки:
Перечислите основные виды тестирования. Кто осуществляет данные виды тестирования.
Какое тестирование называют модульным? Перечислите его элементы.
Какое тестирование называют интеграционным? Перечислите его элементы.
Какое тестирование называют системным? Перечислите его элементы.
Какое тестирование называют выходным? Перечислите его элементы.
Какое тестирование выполняется совместно с представителями заказчика?