В этой статье мы узнаем, что такое динамическое тестирование, виды динамического тестирования, как его выполнять, а также следующее
Что такое динамическое тестирование на примере?
Динамическое тестирование – это метод тестирования программного обеспечения, который используется для проверки дефектов в программном приложении путем выполнения код, где статическое тестирование используется для проверки дефектов без выполнения кода. Подробнее о статическом тестировании читайте здесь.
Основная цель динамического тестирования — оценить функциональность программного обеспечения в динамических условиях, таких как те, которые невозможно предсказать заранее.
Для эффективного проведения тестирования мы используем проверку и проверку (V&V) при тестировании программного обеспечения.
Проверка, также известная как Статическое тестирование.
Проверка< Параметр /strong> также известен как Динамическое тестирование.
При динамическом тестировании программное обеспечение тестируется на заданные значения, а результаты проверяются.
При динамическом тестировании тестировщики выполняют тестовые примеры, задавая входные значения и сверяя ожидаемый результат с фактическим результатом.
Это можно сделать как вручную, так и автоматически.
Пример динамического тестирования
Давайте посмотрим, как выполнить динамическое тестирование на примере.
Мы выполняем динамическое тестирование, предоставляя входные данные (динамические значения) и проверяя результат или выходное значение поведения.< p>Предположим, мы тестируем функцию входа в приложение Gmail. Для этого сначала нам нужно создать учетные записи Gmail (имя пользователя и пароль) для целей тестирования. В Gmail есть определенные условия для настройки имени пользователя и пароля.
Имя пользователя должно состоять из 6 символов
Пароль должен состоять из 8 символов, содержать заглавную букву, одно числовое значение и один специальный символ.
Скажем, у нас есть следующие параметры (имя пользователя и пароль) для проверки возможности входа в учетную запись Gmail
Параметр | Имя пользователя | Пароль | Действительные/неверные тестовые данные |
Параметр 1 | rajkumar | RajSTM@1 | Действителен |
Параметр 2 | rajkumar | RajSTM@@ | Недействителен |
Параметр 3 | райкумар | rajstm@1 | Invalid |
Когда мы передаем приведенные выше тестовые данные при тестировании функции входа в Gmail, Gmail переводит нас в папку «Входящие», пока мы передаем параметр 1, и выдает сообщение об ошибке, когда мы передаем параметры 2. & 3. Этот результат указывает на то, что код динамически реагирует на ввод данных пользователем.
Здесь мы знаем, что значения параметров 2 и 3 неверны, но мы все равно передаем их, чтобы узнать, как система работает с неправильными входными данными.
Этот тип тестирования проводится с целью поиска ошибок.
Не пропустите: статическое тестирование и динамическое тестирование
Типы динамического тестирования
Динамическое тестирование делится на две категории, а именно:
- Тестирование белого ящика
- Тестирование черного ящика
На рисунке ниже показано множество видов динамического тестирования, уровней тестирования и т. д.
Расскажу о каждом типе тестирования и о том, почему оно используется.
Тестирование белого ящика
Тестирование белого ящика также известно как ясное Тестирование коробки или тестирование стеклянного ящика.
Тестирование белого ящика – это метод тестирования программного обеспечения, используемый для проверки работы приложения на основе кода.
Тестирование белого ящика обычно выполняется разработчиками или тестировщиками белого ящика, которые имеют представление о внутренней структуре/коде/дизайне.
Тестирование черного ящика
Черный Коробочное тестирование также известно как поведенческое/основанное на спецификациях/входное-выходное тестирование.
Тестирование черного ящика — это метод тестирования программного обеспечения, используемый для оценки функциональности программного обеспечения без изучения внутренней структуры кода.
Его можно применять. для всех уровней тестирования программного обеспечения, таких как модульное, интеграционное, системное и приемочное тестирование.
Тестирование «черного ящика» обычно выполняется тестировщиками, которым не требуются какие-либо знания в области программирования.
Не пропустите: тестирование «черного ящика» и Тестирование методом белого ящика
Методы динамического тестирования
Методы динамического тестирования подразделяются на две категории. Это
- Функциональное тестирование
- Нефункциональное тестирование
Функциональное тестирование
Функциональное тестирование проводится для проверки того, что каждая функция приложения ведет себя так, как указано в требовании. Здесь тестеры проверяют все функциональные возможности, предоставляя соответствующие входные данные для проверки фактического вывода с ожидаемым результатом.
Проще говоря, то, что на самом деле делает система, — это функциональное тестирование.
Подробнее о функциональном тестировании здесь
< h3>Нефункциональное тестирование
Нефункциональное тестирование проводится для улучшения взаимодействия пользователей с тем, насколько быстро приложение отвечает на запрос. это относится к различным аспектам программного обеспечения, таким как производительность, нагрузка, нагрузка, масштабируемость, совместимость, безопасность и т. д.,
Он проверяет такие атрибуты, как производительность, утечки памяти или надежность системы.
Проще говоря, насколько хорошо работает система, — это нефункциональное тестирование.
Подробнее о нефункциональном тестировании читайте здесь.
Уровни динамического тестирования
Динамическое тестирование выполняется как на функциональном, так и на нефункциональном уровнях.
Некоторые уровни функционального тестирования следующие.< ul>
Модульное тестирование. Модульное тестирование также известно как тестирование модулей или тестирование компонентов. Он используется для проверки правильности функционирования каждого компонента исходного кода, такого как блок или модуль. Обычно разработчики проводят модульное тестирование в своей среде.
Интеграционное тестирование:Целью интеграционного тестирования является проверка любых проблем между двумя программными компонентами. Существует множество способов проведения интеграционного тестирования, включая подход «большой взрыв», подход «сверху вниз», подход «снизу вверх» и подход гибридной интеграции.
Системное тестирование: сквозное тестирование полностью интегрированное приложение для оценки соответствия системы заданным требованиям называется тестированием системы. Он также известен как сквозное тестирование. Проверка завершенной системы, чтобы убедиться, что приложение работает должным образом или нет.
Приемочное тестирование:Приемочное тестирование — это процесс определения того, ведет ли себя приложение ожидаемым образом после его выпуска. Оно проводится конечными пользователями и тестировщиками, чтобы убедиться, что приложение работает правильно.
Некоторые уровни нефункционального тестирования следующие.
- Тестирование производительности
- Удобство использования Тестирование
- Тестирование совместимости
- Тестирование восстановления
- Тестирование безопасности
Тестирование производительности: Это процесс определения или проверки характеристик скорости, масштабируемости и/или стабильности тестируемой системы или приложения. Целью тестирования производительности является определение времени отклика, пропускной способности и уровня использования ресурсов, которые удовлетворяют спецификациям производительности проекта или продукта. Подробнее о тестировании производительности читайте здесь.
Тестирование удобства использования: чтобы оценить, легко ли приложение использовать или нет. Это тестирование направлено на определение того, может ли конечный пользователь легко понять и использовать программное обеспечение. Оно должно быть самоочевидным, и для его запуска не требуется никакого обучения. Подробнее о юзабилити-тестировании читайте здесь.
Тестирование совместимости. Это процесс развертывания и измерения того, функционирует ли приложение должным образом в различных условиях окружающей среды.
Тестирование восстановления. Тестирование восстановления определяет, насколько быстро система может восстановиться после сбой системы или аппаратный сбой.
Тестирование безопасности. Тестирование безопасности — это метод оценки того, защищает ли система данные и функции должным образом. Подробнее о тестировании безопасности читайте здесь.
Недостатки динамического тестирования
Ниже перечислены недостатки динамического тестирования:
< li>Это трудоемкий процесс, так как он выполняет приложение/программное обеспечение или код, для чего требуется огромное количество ресурсов.
- Это немного дороже, так как он начинается после завершения фазы кодирования. Это не начинается в начале жизненного цикла разработки программного обеспечения. Он ловит ошибки на более поздних стадиях. Из-за этого любые ошибки, исправленные на более поздних этапах, могут привести к увеличению стоимости.
TAG: qa