- •Системный подход к разработке по (определение системы, свойства и виды систем).
- •Системный подход к разработке по (сложность программных систем и пути её преодоления).
- •Жизненный цикл по (определение, этапы жизненного цикла по)
- •Модели жизненного цикла по (основные, вспомогательные, краткая характеристика).
- •Каскадная модель жизненного цикла по (определение, схема, преимущества и недостатки, применение).
- •Спиральная модель жизненного цикла по (определение, схема, преимущества и недостатки, применение).
- •Модель формальной разработки систем и модель разработки по на основе ранее созданных компонентов (определения, преимущества и недостатки, применение).
- •Sadt-диаграммы (назначение, составные элементы, правила построения).
- •Диаграммы классов (назначение, составные элементы, правила построения).
- •1. Предметы
- •2. Отношения
- •3. Диаграммы
- •4. Механизмы расширения в uml
- •Динамические uml-диаграммы (перечислить, краткая характеристика, применение).
- •1. Моделирование поведения программной системы
- •2. Диаграммы состояний
- •2. Отношения в диаграммах классов
- •3. Пример диаграммы классов
- •1. Актеры и варианты использования
- •2. Отношения в диаграммах вариантов использования
- •3. Пример диаграммы классов
- •2.1. Действия в состояниях
- •2.2. Условные переходы
- •2.3. Вложенные состояния
- •Стиль программирования. (комментарии, имена переменных и файлов, структурирование).
- •1. Стиль программирования
- •2. Комментарии
- •3. Имена переменных и файлов, структурирование
- •Ошибки (виды, характеристика).
- •Отладка (определение, отличие от тестирования, правила отладки).
- •3.1. Основные цели и принципы отладки
- •3.2. Заповеди отладки.
- •Внешние характеристики качества по (определение, отличие от внутренних, перечислить некоторые из них, охарактеризовать перечисленные).
- •Внутренние характеристики качества по (определение, отличие от внешних, перечислить некоторые из них, охарактеризовать перечисленные).
- •Частые причины снижения эффективности по (характеристика каждой).
- •Основные принципы тестирования.
- •3.2.2. Анализ граничных значений
- •3.2.3. Применение функциональных диаграмм
- •Особенности тестирования оо программных систем.
Частые причины снижения эффективности по (характеристика каждой).
Операции ввода/вывода.
Системные вызовы.
Ошибки.
Основные принципы тестирования.
Описание предполагаемых результатов должно быть необходимой частью тестового набора.
Следует избегать тестирования программы ее автором.
Программирующая организация не должна сама тестировать разработанные ею программы.
Необходимо досконально изучать результаты применения каждого теста.
Тесты для неправильных и непредусмотренных входных данных следует разрабатывать так же тщательно, как для правильных и предусмотренных.
Необходимо проверять не только, делает ли программа то, для чего она предназначена, но и не делает ли она то, что не должна делать.
Нельзя планировать тестирование в предположении, что ошибки не будут обнаружены.
Вероятность наличия необнаруженных ошибок в части программы пропорциональна числу ошибок, уже обнаруженных в этой части.
Тестирование — процесс творческий.
Классификация ошибок (классификация в теоретической информатике, перечислить виды и охарактеризовать, классификация, основанная на наблюдениях и опыте, перечислить виды и охарактеризовать).
По времени появления ошибки можно разделить на:
Структурные ошибки.
Ошибки компиляции.
Ошибки периода выполнения.
По степени нарушения логики на:
Синтаксические ошибки.
Семантические ошибки.
Прагматические ошибки.
Ошибка адресации.
Ошибка ввода-вывода.
Ошибка вычисления.
Ошибка интерфейса.
Ошибка обращения к данным.
Ошибка описания данных.
Методы стратегии тестирования ПО «черного ящика» (характеристика каждого).
Стратегии черного ящика
3.2.1. Эквивалентное разбиение
Правильно выбранный тест этого подмножества должен обладать двумя свойствами:
уменьшать, причем более чем на единицу, число других тестов, которые должны быть разработаны для достижения заранее определенной цели «приемлемого» тестирования;
покрывать значительную часть других возможных тестов.
Разработка тестов этим методом осуществляется в два этапа:
3.2.1.1. Выделение классов эквивалентности
3.2.1.2. Построение тестов
Этот процесс включает в себя:
Назначение каждому классу эквивалентности уникального номера.
Проектирование новых тестов, каждый из которых покрывает как можно большее число непокрытых правильных классов эквивалентности, до тех пор пока все правильные классы эквивалентности не будут покрыты (только не общими) тестами.
Запись тестов, каждый из которых покрывает один и только один из непокрытых неправильных классов эквивалентности, до тех пор, пока все неправильные классы эквивалентности не будут покрыты тестами.
3.2.2. Анализ граничных значений
Анализ граничных значений отличается от эквивалентного разбиения в двух отношениях:
Выбор любого элемента в классе эквивалентности в качестве представительного при анализе граничных значений осуществляется таким образом, чтобы проверить тестом каждую границу этого класса.
При разработке тестов рассматривают не только входные условия, но и пространство результатов.