- •1 Раздел
- •1. Описание цикла жизни по. Проблема типовых элементов в программировании.
- •Этапы программного обеспечения.
- •Подготовка
- •Проектирование
- •Создание
- •Поддержка
- •2. Стадии разработки по.
- •1.Анализ
- •2.Проектирование
- •3.Кодирование
- •4.Тестирование и откладка
- •5.Внедрение
- •6.Заключение
- •3. Модели и методологии разработки по.
- •Основные модели разработки по
- •4. Каскадная модель разработки по. V-образная модель разработки по. Waterfall (каскадная модель, или «водопад»)
- •Incremental Model (инкрементная модель)
- •5. Инкрементная, итеративная, спиральная модель разработки по.
- •Incremental Model (инкрементная модель)
- •Iterative Model (итеративная модель)
- •Что такое Agile?
- •Spiral Model (спиральная модель)
- •6. Тестирование. Назначение, основные понятия.
- •Уровни Тестирования
- •1. Модульное тестирование (Unit Testing)
- •2. Интеграционное тестирование (Integration Testing)
- •3. Системное тестирование (System Testing)
- •4. Операционное тестирование (Release Testing).
- •5. Приемочное тестирование (Acceptance Testing)
- •7. Виды тестирования.
- •Функциональные тестирования
- •Нефункциональные виды
- •Тестирования связанные с изменением вида текста
- •2 Раздел
- •1. Основные принципы ооп.
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •2. Понятие класса. Инкапсуляция.
- •3. Конструкторы и деструкторы. Конструкторы
- •Конструктор по умолчанию
- •Конструкторы экземпляров
- •*Ключевое слово this
- •Инициализаторы
- •Деструкторы
- •4. Шаблоны классов.
- •5. Наследование. Иерархия наследования классов.
- •Доступ к членам базового класса из класса-наследника
- •Ключевое слово base
- •Конструкторы в производных классах
- •6. Виртуальные базовые классы. Состав класса.
- •Общая форма определения класса
- •Данные-члены
- •Функции-члены
- •7. Полиморфизм. Виртуальные методы классов.
- •Интерфейс
- •Сравнение абстр. Класса и интерфейса
- •3 Раздел
- •1. Определения графов. Элементы графов. Направленные орграфы и сети. Представление графов в компьютере: требования к представлению графов, матрица смежности, матрица инциденций.
- •Способы представления графа
- •2. Представление графов в компьютере: списки смежности, массив дуг. Обход графов.
- •4. Кратчайшие пути. Длина дуги. Алгоритм Флойда. Алгоритм Флойда-Уоршелла
- •5. Бинарные деревья, основные понятия: дерево, корень, предок, потомок, лист, высота дерева, упорядоченное дерево.
- •Узлы avl - дерева
- •Вставка ключа
Уровни Тестирования
1. Модульное тестирование (Unit Testing)
Компонентное (модульное) тестирование проверяет функциональность и ищет дефекты в частях приложения, которые доступны и могут быть протестированы по-отдельности (модули программ, объекты, классы, функции и т.д.).
2. Интеграционное тестирование (Integration Testing)
Проверяется взаимодействие между компонентами системы после проведения компонентного тестирования.
3. Системное тестирование (System Testing)
Основной задачей системного тестирования является проверка как функциональных, так и не функциональных требований в системе в целом. При этом выявляются дефекты, такие как неверное использование ресурсов системы, непредусмотренные комбинации данных пользовательского уровня, несовместимость с окружением, непредусмотренные сценарии использования, отсутствующая или неверная функциональность, неудобство использования и т.д.
4. Операционное тестирование (Release Testing).
Даже если система удовлетворяет всем требованиям, важно убедиться в том, что она удовлетворяет нуждам пользователя и выполняет свою роль в среде своей эксплуатации, как это было определено в бизнес моделе системы. Следует учесть, что и бизнес модель может содержать ошибки. Поэтому так важно провести операционное тестирование как финальный шаг валидации. Кроме этого, тестирование в среде эксплуатации позволяет выявить и нефункциональные проблемы, такие как: конфликт с другими системами, смежными в области бизнеса или в программных и электронных окружениях; недостаточная производительность системы в среде эксплуатации и др. Очевидно, что нахождение подобных вещей на стадии внедрения — критичная и дорогостоящая проблема. Поэтому так важно проведение не только верификации, но и валидации, с самых ранних этапов разработки ПО.
5. Приемочное тестирование (Acceptance Testing)
Формальный процесс тестирования, который проверяет соответствие системы требованиям и проводится с целью:
• определения удовлетворяет ли система приемочным критериям;
• вынесения решения заказчиком или другим уполномоченным лицом принимается приложение или нет.
7. Виды тестирования.
Функциональные тестирования
Функциональные тесты базируются на функциях и особенностях, а также взаимодействии с другими системами, и могут быть представлены на всех уровнях тестирования: компонентном или модульном (Component/Unit testing), интеграционном (Integration testing), системном (System testing) и приемочном (Acceptance testing). Функциональные виды тестирования рассматривают внешнее поведение системы. Одни из самых распространенных видов функциональных тестирований:
Функциональное тестирование (Functional testing)
Это тестирование ПО в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи, нужные пользователям. Функциональные требования определяют, что именно делает ПО, какие задачи оно решает.
Тестирование безопасности (Security and Access Control Testing)
Процесс, предназначенный для выявления недостатков в механизмах безопасности информационной системы, которые защищают данные и поддерживают функциональность в соответствии с назначением.
Тестирование взаимодействия (Interoperability Testing)
Функциональное тестирование, проверяющее способность приложения взаимодействовать с одним и более компонентами или системами и включающее в себя тестирование совместимости и интеграционное тестирование.