Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
7.2.1. Структурная классификация методов интеграционного тестирования 114
7.2.2. Временная классификация методов интеграционного тестирования 116
7.2.3. Планирование интеграционного тестирования 118
ТЕМА 8. Системное тестирование (лекция 13) 118
8.1. Задачи и цели системного тестирования 118
8.2. Виды системного тестирования 119
8.3. Системное тестирование, приемо-сдаточные и сертификационные испытания при разработке сертифицируемого программного обеспечения 122
ТЕМА 9. Тестирование пользовательского интерфейса (лекция 14) 127
9.1. Задачи и цели тестирования пользовательского интерфейса 127
9.2. Функциональное тестирование пользовательских интерфейсов 127
9.2.1. Проверка требований к пользовательскому интерфейсу 128
9.2.1.1. Типы требований к пользовательскому интерфейсу 128
9.2.1.2. Тестопригодность требований к пользовательскому интерфейсу 130
9.2.2. Полнота покрытия пользовательского интерфейса 131
9.2.3. Методы проведения тестирования пользовательского интерфейса, повторяемость тестирования пользовательского интерфейса 132
9.2.3.1. Ручное тестирование 132
9.2.3.2. Сценарии на формальных языках 133
9.3. Тестирование удобства использования пользовательских интерфейсов 133
ТЕМА 10. Методы разработки устойчивого кода (лекция 15) 136
10.1. Классификация проблем, возникающих при работе программных систем 136
10.1.1. Сбои 136
10.1.2. Отказы и аварии 138
10.2. Методы разработки устойчивого кода 139
10.2.1. Критические точки и допущения (assertions) 140
10.2.2. Обработка исключений 142
10.2.3. Сбор и обработка информации о сбоях и отказах 143
ТЕМА 11. Поддержка процесса тестирования при промышленной разработке программного обеспечения (лекция 16) 143
11.1. Управление качеством 143
11.1.1. Задачи и цели управления качеством 143
11.1.2. Система менеджмента качества по ISO 9000 145
11.1.3. Аудит процессов разработки и верификации 146
11.1.4. Корректирующие действия и коррекция процессов 147
11.2. Конфигурационное управление 147
11.2.1. Задачи процесса конфигурационного управления 149
11.2.2. Процедуры процесса конфигурационного управления 150
11.2.2.1. Идентификация конфигураций 150
11.2.2.2. Базовые конфигурации и прослеживаемость 151
11.2.2.3. Управление изменениями 151
11.2.2.4. Вычисление статуса конфигурации 152
11.2.2.5. Архивирование, аудиты и обзоры конфигураций 153
11.2.2.6. Управление инструментальными средствами 153
11.2.3. Уровни управления данными 154
11.3. Управление качеством и конфигурационное управление при разработке сертифицируемого программного обеспечения. 154
Библиографический список 156
Цели курса
Целью данного курса лекций является изложение комплексного взгляда на процесс верификации программного обеспечения. Предметом обсуждения являются различные подходы и методы, применяемые в области верификации и, в частности, тестирования программного обеспечения.
Предполагается, что разрабатываемое программное обеспечение является частью более общей системы. Подобная система включает аппаратные, информационные и организационные (человек-пользователь, человек-оператор и т. п.) компоненты, разрабатываемые, возможно, разными коллективами. Поэтому необходимы документы разработки, определяющие требования к различным компонентам системы и правила их взаимодействия.
Кроме того, предполагается, что отказы системы могут приводить к последствиям той или иной тяжести, поэтому при разработке программного обеспечения необходимы и оправданы усилия, потраченные на выявление скрытых дефектов. В первую очередь, это касается средств и процедур верификации программного обеспечения.
В состав курса входит ряд практических занятий, иллюстрирующих на примере простой системы приемы и методы верификации программного обеспечения в среде Microsoft Visual Studio 2005 Team Edition for Software Testers.
Для кого предназначен этот курс?
Настоящий курс ориентирован на студентов и специалистов – разработчиков программного обеспечения, изучающих вопросы технологии создания программных систем с повышенными требованиями к критичности. То есть таких систем, отказы которых могут привести к катастрофическим последствиям или значительным материальным потерям.
Основная ориентация курса на персонал, который непосредственно вовлечен в процесс верификации программного обеспечения системы. Материал курса будет полезен для руководителей проектов, разработчиков требований и архитектуры системы, так как от них зависит организация работ и качество проектной документации.
В курсе затронуты вопросы конфигурационного управления и управления качеством, которые могут быть интересны всем участникам программного проекта.
Необходимые предварительные знания
Предполагается, что для восприятия материала курса необходимо знать язык программирования С или С++ и быть знакомым с основами разработки программных систем. Желательно иметь представление о модульном и объекно-ориентированном подходах, пошаговой детализации и коллективной разработке программного обеспечения.
Благодарности
Авторы курса хотели бы выразить благодарность сотрудникам кафедры «Кибернетика» Московского инженерно-физического института (государственного университета) без прямой или косвенной помощи которых данный курс не появился бы на свет: доц. , доц. , ст. преп. , а также студентам кафедры: , ,
Разработка семинарских занятий и программной системы, на примере верификации которой построены семинары, проводилась студентами кафедры и под руководством авторов курса.
Значительная часть материала данного курса опирается на многолетний опыт компании DC BARS Ltd. в области верификации авиационного бортового программного обеспечения. В ходе создания данного курса неоценимую помощь оказали ее сотрудники , ,
Введение. Место верификации среди процессов разработки программного обеспечения (лекция 1)
Верификация – это процесс определения, выполняют ли программные средства и их компоненты требования, наложенные на них в последовательных этапах жизненного цикла разрабатываемой программной системы.
Основная цель верификации состоит в подтверждении того, что программное обеспечение соответствует требованиям. Дополнительной целью является выявление и регистрация дефектов и ошибок, которые внесены во время разработки или модификации программы.
Верификация является неотъемлемой частью работ при коллективной разработке программных систем. При этом в задачи верификации включается контроль результатов одних разработчиков при передаче их в качестве исходных данных другим разработчикам.
Для повышения эффективности использования человеческих ресурсов при разработке, верификация должна быть тесно интегрирована с процессами проектирования, разработки и сопровождения программной системы.
Заранее разграничим понятия верификации и отладки. Оба этих процесса направлены на уменьшение ошибок в конечном программном продукте, однако отладка – процесс, направленный на локализацию и устранение ошибок в системе, а верификация – процесс, направленный на демонстрацию наличия ошибок и условий их возникновения.
Кроме того, верификация, в отличие от отладки – контролируемый и управляемый процесс. Верификация включает в себя анализ причин возникновения ошибок и последствий, которые вызовет их исправление, планирование процессов поиска ошибок и их исправления, оценку полученных результатов. Все это позволяет говорить о верификации, как о процессе обеспечения заранее заданного уровня качества создаваемой программной системы.
Жизненный цикл разработки программного обеспеченияКоллективная разработка, в отличие от индивидуальной, требует четкого планирования работ и их распределения во время создания программной системы. Один из способов организации работ состоит в разбиении процесса разработки на отдельные последовательные стадии, после полного прохождения которых получается конечный продукт или его часть. Такие стадии называют жизненным циклом разработки программной системы. Как правило, жизненный цикл начинается с формирования общего представления о разрабатываемой системе и их формализации в виде требований верхнего уровня. Завершается жизненный цикл разработки вводом системы в эксплуатацию. Однако, нужно понимать, что разработка – только один из процессов, связанных с программной системой, которая также имеет свой жизненный цикл. В отличие от жизненного цикла разработки системы, жизненный цикл самой системы заканчивается выводом ее из эксплуатации и прекращением ее использования.
Жизненный цикл программного обеспечения – совокупность итерационных процедур, связанных с последовательным изменением состояния программного обеспечения от формирования исходных требований к нему до окончания его эксплуатации конечным пользователем.
|
Из за большого объема этот материал размещен на нескольких страницах:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |


