Главная страница

Сазонова_20ВИ1. Сравнение и анализ алгоритмов сортировки массива прямым выбором


Скачать 0.88 Mb.
НазваниеСравнение и анализ алгоритмов сортировки массива прямым выбором
Дата10.12.2021
Размер0.88 Mb.
Формат файлаdoc
Имя файлаСазонова_20ВИ1.doc
ТипПояснительная записка
#298849
страница6 из 7
1   2   3   4   5   6   7

Тестирование программы

  1. Виды тестирования программных средств


Тестирование программного обеспечения – это процесс проверки соответствия заявленных к продукту требований и реально реализованной функциональности, осуществляемый путем наблюдения за его работой в искусственно созданных ситуациях и на ограниченном наборе тестов, выбранных определенным образом.

Ниже представлены наиболее популярные виды тестирования:

  1. Функциональное тестирование является одним из ключевых видов тестирования, задача которого – установить соответствие разработанного программного обеспечения (ПО) исходным функциональным требованиям заказчика. То есть проведение функционального тестирования позволяет проверить способность информационной системы в определенных условиях решать задачи, нужные пользователям.

В зависимости от степени доступа к коду системы можно выделить два типа функциональных испытаний: тестирование black box (черный ящик), то есть проведение функционального тестирования без доступа к коду системы, и тестирование white box (белый ящик), являющееся функциональным тестированием с доступом к коду системы.

Первый тип тестирования проводится без знания внутренних механизмов работы системы и опирается на внешние проявления ее работы. При этом тестировании проверяется поведение ПО при различных входных данных и внутреннем состоянии систем. В случае тестирования white box создаются тест-кейсы, основанные преимущественно на коде системы ПО.

  1. Системное тестирование – это тестирование программного обеспечения, выполняемое на полной интегрированной системе с целью проверки соответствия системы исходным требованиям, как функциональным, так и не функциональным. Системное тестирование относится к методам тестирования черного ящика, и, тем самым, не требует знаний о внутреннем устройстве системы.

При этом выявляются такие дефекты, как неверное использование ресурсов системы, непредусмотренные комбинации данных пользовательского уровня, несовместимость с окружением, непредусмотренные сценарии использования, отсутствующая или неверная функциональность, неудобство использования. Для минимизации рисков, связанных с особенностями поведения системы в той или иной среде, во время тестирования рекомендуется использовать окружение, максимально приближенное к тому, на которое будет установлен после выдачи.

  1. Тестирование производительности – это комплекс типов тестирования, целью которого является определение работоспособности, стабильности, потребления ресурсов и других атрибутов качества приложения в условиях различных сценариев использования и нагрузок. Тестирование производительности позволяет находить возможные уязвимости и недостатки в системе с целью предотвратить их пагубное влияние на работу программы в условиях использования.

Необходимые параметры работы системы в определенной среде можно тестировать с помощью определения рабочего количества пользователей приложения, измерение времени выполнения различных операций системы, определения производительности приложения при различных степенях нагрузки, определения допустимых границ производительности программы при разных уровнях нагрузки.

  1. Регрессионное тестирование – это набор тестов, направленных на обнаружение дефектов в уже протестированных участках приложения. Делается это совсем не для того, чтобы окончательно убедиться в отсутствии багов, а для поиска и исправления регрессионных ошибок. Регрессионные ошибки – те же баги, но появляются они не при написании программы, а при добавлении в существующий билд нового участка программы или исправлении других багов, что и стало причиной возникновения новых дефектов в уже протестированном продукте.

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

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

Один из наиболее эффективных подходов к модульному тестированию - это подготовка автоматизированных тестов до начала основного кодирования (разработки) программного обеспечения. Это называется разработка от тестирования или подход тестирования вначале. При этом подходе создаются и интегрируются небольшие куски кода, напротив которых запускаются тесты, написанные до начала кодирования. Разработка ведется до тех пор, пока все тесты не будут успешно пройдены.

  1. Тестирование безопасности – комплекс исследований программного продукта, направленный на тестирование, обнаружение и исправление дефектов, связанных с сохранностью пользовательских данных, а именно:

  • Целостность – ограничение круга пользователей, имеющих доступ к данным, определение степени вреда, нанесенного при потере тех или иных данных;

  • Доступность представляет собой требования о том, что ресурсы должны быть доступны авторизованному пользователю, внутреннему объекту или устройству. Как правило, чем более критичен ресурс, тем выше уровень доступности должен быть;

  • Конфиденциальность – сокрытие определенных ресурсов или информации. Под конфиденциальностью можно понимать ограничение доступа к ресурсу некоторой категории пользователей, или другими словами, при каких условиях пользователь авторизован получить доступ к данному ресурсу.

В данной курсовой работе для приложения «Сравнение и анализ алгоритмов сортировки массива прямым выбором» используется функциональное тестирование, поскольку оно позволяет имитировать фактическое использование системы.
    1. 1   2   3   4   5   6   7


написать администратору сайта