Для чего проводится тестирование программы

Содержание

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

Основные функциональные виды тестирования

Функциональное тестирование (Functional testing)

Собственно, функциональное тестирование — это проверка способности ПО решать задачи, необходимые пользователям. Функциональные тесты могут проводиться на всех уровнях тестирования (компонентном, интеграционном, системном, приёмочном). При этом, задачи, которые выполняет ПО, определяются функциональными требованиями.

Функциональные требования включают:

  • Функциональную пригодность;
  • Точность;
  • Способность к взаимодействию;
  • Соответствие стандартам и правилам;
  • Защищенность.

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

Тестирование НА ПРИМЕРЕ | Тестирую DEVBY

Тестирование безопасности (Security and Access Control Testing)

Это тоже функциональный вид тестирования, который направлен на проверку безопасности системы, а также на анализ рисков, связанных с различными видами атак. Общая стратегия безопасности основывается на трёх принципах — Конфиденциальности, Целостности и Доступности.

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

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

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

Тестирование взаимодействия (Interoperability Testing).

Включает в себя Тестирование Совместимости (Compatibility Testing) и Интеграционное Тестирование (Integration Testing). Тестирование взаимодействия проверяет способности приложения работать с одним и более компонентами или системами. ПО с хорошими показателями взаимодействия будет легко интегрироваться с другими системами, не требуя серьёзных модификаций.

Основные нефункциональные виды тестирования

Нефункциональное тестирование направлено на проверку реализуемости нефункциональных требований, которые включают:

  • Производительность;
  • Удобство пользования;
  • Портируемость (установки);
  • Надежность (отказ/восстановление).

Нефункциональное тестирование не проверяет систему на выполнение функций, которые хочет заказчик. Зато оно позволяет контролировать глобальные свойства:

Курс Тестирование ПО. Занятие 15. Тестирование производительности | QA START UP

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

Тестирование производительности (Performance and Load Testing)

Это автоматизированное тестирование, имитирующее работу определенного количества пользователей на ресурсе.
У него также есть свои виды:

  • Нагрузочное тестирование. Определение масштабируемости приложения под нагрузкой. При этом измеряют время выполнения операций, интенсивность выполнения, количество одновременно работающих пользователей, границы приемлемой производительности и производительность на различных типах нагрузок (высокой, предельной и стрессовой);
  • Стрессовое тестирование. Проверка, насколько приложение и сама система в целом, сохраняют работоспособность в условиях стресса.
  • Объемное тестирование. Проверка производительности при увеличении объёмов данных в базе.
  • Тестирование Стабильности/Надёжности. Проверка работоспособности приложения при длительном (многочасовом) тестировании при среднем уровнем нагрузки. На первое место выходит важность проверки — отсутствие утечек памяти, перезапусков серверов под нагрузкой и прочие аспекты, влияющие непосредственно на стабильную работу ПО.

Тестирование Установки (Installation testing)

Этот вид направлен на проверку успешной инсталляции и настройки, а также обновления или удаления программного обеспечения.

Стоит учитывать, что полноценным тестированием в данном случае будет являться не проверка успешной работы инсталлятора, к которым мы успели привыкнуть. Тестирование Установки, в данном случае, — это написание плана установки, содержащего и шаги по инсталляции приложения, и шаги отката к предыдущей версии. Важно помнить, что и сам план установки должен проходить тестирование.

Тестирование Удобства Пользования (Usability Testing)

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

Тестирование на Отказ и Восстановление (Failover and Recovery Testing)

Это проверка продукта на возможность сопротивления и успешного восстановления в случае возможных сбоев, возникших из-за ошибок ПО, оборудования или прерывания связи.

Конфигурационное Тестирование (Configuration Testing)

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

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

В зависимости от цели испытания все виды тестирования можно разделить на 3 типа: функциональные виды, нефункциональные и связанные с изменениями.

Связанные с изменениями виды тестирования

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

Дымовое тестирование (Smoke Testing)

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

Это тестирование выполняется перед Регрессионным Тестированием, соответственно, охватывает меньше функционала при проверке.

Регрессионное тестирование (Regression Testing)

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

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

Заключение

В этой статье мы рассмотрели основные типы тестирования. Для удобства и запоминания сохраняйте себе эту таблицу:

Виды

Классификация

Преимущества

Недостатки

Возможность имитации фактической работы системы.

Высокая вероятность избыточных тестов.

Читайте также:
Программа минусинск что это

Есть шанс упустить логические ошибки в ПО.

Уверенность, что шансы повреждения системы внешними воздействиями — минимальна.

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

Включает в себя совместимость и интеграцию, облегчает работу по внедрению ПО.

Высокие шансы не охватить все виды интеграции и совместимости.

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

Автоматизированное тестирование, что облегчает ручное тестирование и экономит время.

Защищенность ПО в виду готовности к ситуациям, ведущим к нагрузкам на систему.

Автоматизированное тестирование, требует серьезных навыков программирования, а также знания сетевых протоколов, различных серверов приложений и БД.

Считается одним из самых сложных тестов, требует много времени на обучение.

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

Дополнительное время на разработку, либо привлечение дополнительных ресурсов для выполнения этих работ.

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

Проверяется удобство использования внутренних объектов, классов, методов и переменных, а также рассматривается удобство изменения, расширения системы и интеграции ее с другими модулями или системами.

Не всегда есть возможность провести тестирование при «‎сером/черном ящике». Высокие шансы потери сценариев.

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

Предусмотрение ситуаций, для сохранения целостности данных пользователей ПО.

Невозможность предусмотреть все ситуации.

Использование матрицы покрытия.

Определение оптимальной конфигурации оборудования, проверка объекта тестирования на совместимость.

Низкие расходы при наличии автоматизации.

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

Связанные с изменениями

Сравнительно низкие показатели по затраченному на тестирование времени.

Приоритет на гарантию работы основного функционала.

Поверхностное тестирование. Намеренный пропуск части функционала при охвате.

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

Гарантия обнаружения дефектов на ранних стадиях разработки.

Возросшее количество времени и активности на проекте.

Потеря концентрации при постоянном ре-тестировании.

Источник: qualitica.ru

Уровни тестирования. Классификация по уровню детализации приложения.

По мимо практики, будем выкладывать теоретический материал, который поможет разобраться во всех тонкостях тестирования!

Модульное тестирование

Тестирование наименьших компонентов ПО, тестируемые по отдельности.

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

Модульное тестирование обычно выполняется самими разработчиками, проводится методом белого ящика и часто включает те или иные методы анализа кода. Дефекты при модульном тестировании, как правило, исправляются сразу после нахождения без составления отчёта об ошибке. В большинстве случаев тестирование полностью автоматизировано.

Тесты, которые создают разработчики для проведения модульного тестирования, называются юнит-тестами (unit tests) . Юнит-тестами «покрываются» небольшие участки кода для его проверки. Создание разработчиками юнит-тестов одновременно с написанием кода или до его написания обязательно на проектах, заинтересованных в качественной, эффективной разработке. Юнит-тест может достаточно быстро обнаружить ошибку в коде, а разработчик будет иметь возможность её сразу исправить. Если же на проекте нет юнит-тестов, понадобится гораздо больше времени и усилий для обнаружения этой же ошибки в коде при выполнении ручного тестирования, а затем для её исправления.

Пример модульного тестирования: написание автоматизированного теста (юнит-тест), который будет проверять определённый участок кода приложения.

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

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

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

Пример интеграционного тестирования: тестирование взаимодействия веб-приложения «Интернет-магазин» с платёжным сервисом.

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

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

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

Для этого уровня тестирования также характерно несколько целей :

  • Проверка системы на соответствие требованиям.
  • Обнаружение ошибок в системе.
  • Предотвращение пропуска ошибок на более высокие уровни тестирования.

С помощью системного тестирования мы снижаем риски и укрепляем свою уверенность в качестве продукта.

Пример системного тестирования: тестирование процесса заказа товара в приложении «Интернет-магазин» от входа пользователя на сайт до оплаты покупки.

Приемочное тестирование

Формальный процесс тестирования, проверяет соответствие системы потребностям, требованиям и бизнес-процессам пользователя. Проводится для вынесения решения о приёме приложения заказчиком (внутренним или внешним) или другим уполномоченным лицом.

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

Этот уровень тестирования используется для подтверждения готовности продукта и проводится преимущественно в самом конце цикла разработки программы.

Приёмочное тестирование проводится на этапе сдачи готового продукта (либо законченной части продукта) заказчику. Его цель — определение готовности продукта и его соответствия требованиям и ожиданиям заказчика. Приёмочное тестирование — финальный этап, он не является очень тщательным и подробным. Главным образом проверяется работоспособность основного функционала. Тестирование проводится на основании предварительно отобранных тест-кейсов либо самим заказчиком, либо тестировщиками, которые представляют интересы заказчика, либо тестировщиками компании-разработчика — зависит от предпочтений заказчика и предварительных договорённостей.

У приемочного тестирования есть также несколько целей :

  • Показать, что программа завершена и готова к использованию так, как от нее ожидалось.
  • Проверить, что работа программы соответствует установленному ТЗ или требованиям.
Читайте также:
Express gate что это за программа и нужна ли она

Также, на этом уровне тестирования мы показываем уверенность в качестве системы.

По версии ISTQB существует несколько форм приемочного тестирования :

  • Пользовательское приемочное тестирование — предназначено для проверки программы, как если бы ее использовал конечный пользователь. В этом случае мы должны убедиться, что все функции и части работают так, как задумывалось в требованиях. Если вернуться к примеру с программой по поиску такси, то мы должны быть уверены, что такси вызывается корректно, можно оплачивать поездку через программу, оставлять отзывы, отменять вызов и так далее.
  • Эксплуатационное приемочное тестирование — Его отличие заключается в том, что мы проводим тестирование не с позиции пользователей, а с позиции тех, кто будет поддерживать работу программы. Наша задача — убедиться в работоспособности таких аспектов, как:
    1. Возможность резервного копирования и восстановления данных.
    2. Установка, удаление и обновление программы.
    3. Восстановление после полного падения системы.
    4. Управление пользователями.
    5. Возможность сопровождения (обслуживания).
    6. Возможность загрузки и миграции данных.
    7. Отсутствия уязвимостей.
    8. Хорошая производительность.
  • Контрактное и нормативное приемочное тестирование — проверка на соответствие критериям, в котором оговорены условия приемки.
  • Альфа- и Бета-тестирование- используется, когда есть необходимость в получении обратной связи от пользователей. Поэтому именно они участвуют в таких проверках. Отличие альфа-тестирования от бета-тестирования заключается в том, что альфа-тестирование проводится внутри компании на потенциальных пользователях, а бета-тестирование проводится в ограниченном кругу конечных пользователей программы. Такое часто распространено в играх. Игрокам сначала показывается бета версия игры, а через некоторое время игра выходит в релиз и становится доступной для всех.

Источник: dzen.ru

Процесс тестирования программного обеспечения, типы и методы тестирования

Калашников, Е. И. Процесс тестирования программного обеспечения, типы и методы тестирования / Е. И. Калашников, М. А. Иванова. — Текст : непосредственный // Молодой ученый. — 2020. — № 50 (340). — С. 27-31. — URL: https://moluch.ru/archive/340/76390/ (дата обращения: 29.05.2023).

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

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

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

Ключевые слова: функциональное тестирование, тестирование производительности и безопасности (FPS), анализ, планирование и подготовка, выполнение и закрытие (APEC), методы тестирования программного обеспечения, жизненный цикл тестирования программного обеспечения (STLC), жизненный цикл разработки программного обеспечения (SDLC).

Software testing is the most critical phase of the Software Development Life Cycle. Software under test goes through various phases, which as per the study are test analysis: test planning, test case data, environment preparation, test execution, bug logging and tracking and closure.

There is lot of research which has been done in past to optimize overall testing process with intent of improving quality of software in a minimum amount of time. After evaluating all available testing processes, it has been found that different development models are used for different types of applications and different testing techniques are performed to test the same. Based on the research during the study of this paper, it has been analyzed that each company modifies their testing process as per the needs and performs testing based on the criticality of the applications. The most critical components of each application have to be tested thoroughly to ensure their functional, performance and security features are behaving as expected. This paper talks about ensuring the quality of all types of software applications by performing certain types of testing techniques and optimized software testing processes. As per the study and research done testing types can be categorized under three major testing techniques which are Functional, Performance and Security Testing and major software testing process called as Analysis, Preparation and Execution and closure

Keywords: Functional, Performance and Security Testing (FPS), Analysis, Planning and Preparation, Execution and Closure (APEC), Software Testing Techniques, Software Testing Life Cycle (STLC), Software Development Life Cycle (SDLC).

Эта статья состоит из двух разделов. В первом разделе описывается оптимизированный процесс тестирования, в котором рассматриваются все этапы жизненного цикла тестирования, а во втором разделе рассматриваются типы тестирования.

Существует множество доступных типов тестирования, таких как тестирование «черного ящика», тестирование «белого ящика», тестирование на основе состояния, тестирование безопасности, тестирование на приемлемость, приемочное тестирование, системное тестирование, альфа- и бета-тестирование, а также тестирование на основе конфигурации, проверка и валидация.

Основываясь на проведенных исследованиях и исследованиях, эта статья классифицировала их всех по трем типам тестирования высокого уровня, а именно: Функциональность, Производительность и Безопасность (FPS). Последний раздел посвящен заключению, которое показывает актуальность нашего оптимизированного процесса тестирования программного обеспечения и FPS как основа для методов тестирования.

Оптимизированный процесс тестирования программного обеспечения

Этапы STLC связаны с обнаружением и исправлением любой ошибки с использованием различных методов тестирования программного обеспечения.

Читайте также:
Snow invenTory agent что это за программа

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

Этап анализа тестирования

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

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

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

На этом этапе команда тестирования рассматривает и анализирует требования и определяет тесты, которые должны быть выполнены, и устанавливает приоритеты для тестирования — членов команды.

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

Этап планирования и подготовки теста

Этап подготовки теста включает подготовку плана тестирования, тестовый набор, данные теста и подготовку среды тестирования.

План тестирования является первым документом, который должен быть подготовлен, в котором описываются объем, цели, характеристики, подлежащие тестированию, функции, которые не должны тестироваться, типы тестирования, которые должны быть выполнены, роли и обязанности группы тестирования, критерии входа и выхода и предположения [1, с. 122].

Одновременно команды тестирования начинают готовить тестовые наборы и тестовые данные. Тестовый пример — это документ, в котором описаны шаги, необходимые для тестирования любой функциональности с ожидаемым и фактическим результатом. Если фактический результат не совпадает с ожидаемым, открывается ошибка. Для каждого требования подготавливаются положительные и отрицательные тестовые примеры, что обеспечивается матрицей прослеживаемости требований (RTM). RTM — это документ, который сопоставляет требования с тестовыми примерами, чтобы гарантировать, что тестирование выполнено на 100 %

Все действительные и недействительные наборы тестовых данных должны быть подготовлены для каждого тестового случая и подготовлен документ с тестовыми данными. Тестовые данные также генерируются на основе некоторых алгоритмов и инструментов. Подготовка тестового набора включает в себя различные этапы, которые начинаются с создания тестового набора, выбора тестового набора, оценки и определения приоритетов тестового набора [7, с. 57].

Эрик Д. Свайн предложил метод генерации тестовых случаев с использованием соответствующих диаграмм последовательности, а также определяет ограничения для определенных артефактов. В то же время методы генерации тестовых наборов полезны для выявления синхронизации и зависимости вариантов использования и сообщений, взаимодействия объектов и ошибок работы [8, с. 87].

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

Этап выполнения теста

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

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

Виды тестирования программного обеспечения

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

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

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

Эта раздел статьи будет посвящена основным методам тестирования, таким как функциональное [F], производительность [P] и тестирование безопасности [S]. Правильное сочетание тестирования должно быть включено со всех заголовков F, P и S.

Функциональность — это прежде всего аспект тестирования программного обеспечения, обеспечивающий качество программного обеспечения.

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

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

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

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

Основные типы функционального тестирования кратко описаны в таблице 1:

Описание типов функционального тестирования

Тип тестирования

Описание

Источник: moluch.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru