
- •Понятие по: программа, программный комплекс, программный продукт, системный программный продукт.
- •Философия развития по. Тенденция развития по.
- •Инженерия по. Тенденции затрат на по.
- •Профессиональные и этические требования к специалистам по по. Основные проблемы, стоящие перед специалистами по по.
- •Управление качеством по и работа менеджеров по качеству.
- •Стандарт iso 9000 и управление качеством.
- •Вероятностные методы в оценке качества по.
- •Стандарты на продукцию и процесс разработки по.
- •Стандарты на техническую документацию.
- •Измерение показателей по. Характеристики качественного по.
- •Показатели программного продукта.
- •Объектно-ориентированные показатели.
- •Обзор моделей создания по.
- •Каскадная модель. Достоинства и недостатки каскадной модели.
- •Эволюционная модель. Два подхода к реализации эволюционного метода.
- •Формальная разработка систем.
- •Разработка по на основе ранее созданных компонентов.
- •Модель Миллса. Экстремальное программирование.
- •Спиральная модель разработки. Спиральная модель жизненного цикла разработки по
- •Спецификация по. Основные этапы.
- •Этапы процесса проектирования.
- •Управление проектами. Отличие программных проектов от технических.
- •Планирование проекта. График работ.
- •Анализ рисков.
- •Современный подход к проектированию по. V-цикл проектирования и разработки по.
- •Организация групп программистов.
- •Планирование проекта. План проекта. Контрольные метки этапов работ. График работ. Временные и сетевые диаграммы.
- •Методы проектирования.
- •Программирование и отладка.
- •Объектно-ориентированный анализ и проектирование (ооа/ооп). Методология объектно-ориентированного моделирования. Понятие объекта.
- •Сложные объекты. Использование объектной технологии. Объекты м классы объектов в uml. Взаимодействие между объектами.
- •Моделирование классов и отношений.
- •Пятиэтапный процесс тестирования. Альфа-тестирование, бетта-тестирование.
- •Эволюция программных систем.
- •Разработка по на основе визуального моделирования. Case – средства для разработки по. Ibm Rational & Rational Rhapsody.
- •Стандарты, регламентирующие Жизненный цикл по и процессы разработки.
- •Rup. Фазы и дисциплины унифицированного процесса.
- •Анализ требований на фазе начало up. Артефакты начальной фазы.
- •Стандарт uml 2.2.
- •Этапы проектирования ис с применением uml.
- •Диаграммы прецендентов.
- •Диаграммы классов.
- •Диаграмма объектов.
- •Диаграммы взаимодействия.
- •Метод ecm (Enterprise Component Modeling) в uml. Опишите игру в кости с помощью uml-diagram.
- •Методы верификации объектно-ориентированных программ.
- •Метод тестирования программ.
- •Организация проведения тестирования. Классификация ошибок.
- •Требования к покрытию критичных приложений тестами.
Пятиэтапный процесс тестирования. Альфа-тестирование, бетта-тестирование.
Тести́рование програ́ммного обеспе́чения — процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.
Уровни тестирования
Модульное тестирование (юнит-тестирование) — тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция. Часто модульное тестирование осуществляется разработчиками ПО.
Интеграционное тестирование — тестируются интерфейсы между компонентами, подсистемами. При наличии резерва времени на данной стадии тестирование ведётся итерационно, с постепенным подключением последующих подсистем.
Системное тестирование — тестируется интегрированная система на её соответствие требованиям.
Альфа-тестирование — имитация реальной работы с системой штатными разработчиками, либо реальная работа с системой потенциальными пользователями/заказчиком. Чаще всего альфа-тестирование проводится на ранней стадии разработки продукта, но в некоторых случаях может применяться для законченного продукта в качестве внутреннего приёмочного тестирования. Иногда альфа-тестирование выполняется под отладчиком или с использованием окружения, которое помогает быстро выявлять найденные ошибки. Обнаруженные ошибки могут быть переданы тестировщикам для дополнительного исследования в окружении, подобном тому, в котором будет использоваться ПО.
Бета-тестирование — в некоторых случаях выполняется распространение версии с ограничениями (по функциональности или времени работы) для некоторой группы лиц, с тем чтобы убедиться, что продукт содержит достаточно мало ошибок. Иногда бета-тестирование выполняется для того, чтобы получить обратную связь о продукте от его будущих пользователей.
Часто для свободного/открытого ПО стадия альфа-тестирования характеризует функциональное наполнение кода, а бета-тестирования — стадию исправления ошибок. При этом как правило на каждом этапе разработки промежуточные результаты работы доступны конечным пользователям.
Статическое и динамическое тестирование
Описанные выше техники — тестирование белого ящика и тестирование чёрного ящика — предполагают, что код исполняется, и разница состоит лишь в той информации, которой владеет тестировщик. В обоих случаях это динамическое тестирование.
При статическом тестировании программный код не выполняется — анализ программы происходит на основе исходного кода, который вычитывается вручную, либо анализируется специальными инструментами. В некоторых случаях, анализируется не исходный, а промежуточный код (такой как байт-код или код на MSIL).
Также к статическому тестированию относят тестирование требований, спецификаций, документации.
Регрессионное тестирование
Основная статья: Регрессионное тестирование
После внесения изменений в очередную версию программы, регрессионные тесты подтверждают, что сделанные изменения не повлияли на работоспособность остальной функциональности приложения. Регрессионное тестирование может выполняться как вручную, так и средствами автоматизации тестирования.
Тестовые скрипты
Тестировщики используют тестовые скрипты на разных уровнях: как в модульном, так и в интеграционном и системном тестировании. Тестовые скрипты, как правило, пишутся для проверки компонентов, в которых наиболее высока вероятность появления отказов или вовремя не найденная ошибка может быть дорогостоящей.