Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TPiSPP.docx
Скачиваний:
9
Добавлен:
28.10.2018
Размер:
60.69 Кб
Скачать

1.Огляд технологій програмування. Життєвий цикл програмного забезпечення.

Технология–совокупность знаний о способах и средствах проведения производственных процессов. Периоды в развитии программирования:

1. Эра программирования как своего рода искусства. В конце 60-х годов произошел «кризис программирования».

2. Осознание необходимости перехода к инженерным методам создания программного обеспечения. Вводится понятие жизненного цикла программного обеспечения (Анализ, Проектирование, Кодирование, Тестирование, Сопровождение ПО). Одним из основополагающих понятий технологии разработки программного обеспечения является понятие жизненного цикла (ЖЦ). Под жизненным циклом ПО понимается совокупность процессов, связанных с последовательным изменением состояния ПО от формирования исходных требований к нему до окончания его эксплуатации. Жизненный цикл состоит из стадий - логически завершенных частей ЖЦ.

А) Классич. жизнен. цикл (каскадная модель).

Стадии: Системный анализ, Анализ требований, Проектирование, Кодирование, Тестирование, Сопровождение. Последовательный тип: данный тип ЖЦ предполагает, что каждая следующая стадия может быть начата только после завершения работ на предыдущей стадии.

Эволюционный тип: функциональные возможности системы в данном случае наращиваются постепенно.

Б) Спиральная модель

Достоинства: реально отображает разраб. ПО; позволяет учесть риск. Недостатки: трудность контроля; повышенные требования заказчика.

3. Конец 70-х годов. Признание фундаментальной роли адекватных абстракций и спецификаций. Спецификация – подробное описание некоторой работы, подлежащей выполнению. -внешняя (на языке заказчика); -внутренняя (на языке реализации).

4. Развивается идеология визуального программирования и CASE-технология.CASE-средства были ориентированы на решение задач автоматизированного сбора информации по предметной областии проектированию будущего ПС, что позволяет экономить время при создании ПС за счет более тщательного анализа исходных требований и лучшего начального планирования программы. В CASE-средствах 2-го поколения были автоматизированы составляющие жизненного цикла ПС: моделирование информации предметной области; программирование; тестирование, отладка ПС и измерение качества; поддержка документирования; сопровождение.Применение CASE-инструменто позволяет в значительной степени снизить трудоемкость создания ПС.

2.Тестування програмного забезпечення.

Тестирование-процесс выполнения программы с целью обнаружения ошибок. Хорошим считают тест с высокой вероятностью обнаружения ещё не раскрытой ошибки. Успешным называют тест, кот. обнаруживает до сих пор не раскрытую ошибку. Цель проектирования тестов –систематическое обнаружение различных классов ошибок при минимальных затратах времени и стоимости. Тестирование обеспечивает: обнаружение ошибок; демонстрацию соответствия функций программы её назначению; демонстрацию реализации требований к характеристикам программы ; отображение надёжности как индикатора качества программы. На входе процесса тестирования 3 потока: текст программы ; исходные данные для запуска программы ; ожидаемые результаты. Реальные результаты тестов сравниваются с ожидаемым результатом. Несовпадениефиксир. ошибкаотладка. Типы ошибок в условии: («белый ящик») ошибка булевой переменной, оператора, скобки; оператора отношения, арифметического выражения. Методики тестирования условий: тестирование ветвей, тестирование области определения. Тестирование «чёрного ящика» обеспечивает поиск следующих категорий ошибок: некорректных или отсутствующих функций; ошибок интерфейса; ошибок во внешних структурах данных или в доступе к внешней БД; ошибок инициализации и завершения.

Существует несколько признаков, по которым принято производить классификацию видов тестирования. Обычно выделяют следующие:

По объекту тестирования:

  • Функциональное тестирование

  • Тестирование производительности

  • Нагрузочное тестирование

  • Стресс-тестирование

  • Тестирование стабильности

  • Тестирование удобства использования

  • Тестирование интерфейса пользователя

  • Тестирование безопасности

  • Тестирование локализации

  • Тестирование совместимости

По знанию системы:

  • Тестирование чёрного ящика

  • Тестирование белого ящика

  • Тестирование серого ящика

По степени автоматизации:

  • Ручное тестирование

  • Автоматизированное тестирование

  • Полуавтоматизированное тестирование

По степени изолированности компонентов:

  • Компонентное тестирование

  • Интеграционное тестирование

  • Системное тестирование

По времени проведения тестирования:

  • Альфа-тестирование

  • Тестирование при приёмке

  • Тестирование новой функциональности

  • Регрессионное тестирование

  • Тестирование при сдаче

  • Бета-тестирование

По признаку позитивности сценариев:

  • Позитивное тестирование

  • Негативное тестирование

По степени подготовленности к тестированию:

  • Тестирование по документации

  • Тестирование ad hoc или интуитивное тестирование

Уровни тестирования

Модульное тестирование (юнит-тестирование) - тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция. Часто модульное тестирование осуществляется разработчиками ПО.

Интеграционное тестирование — тестируются интерфейсы между компонентами,

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]