Ручное тестирование - Википедия - Manual testing

Сравнить с Автоматизация тестирования.

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

Обзор

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

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

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

  1. Выберите высокий уровень план тестирования где выбирается общая методология, а также идентифицируются и приобретаются такие ресурсы, как люди, компьютеры и лицензии на программное обеспечение.
  2. Напишите подробно контрольные примеры, определение четких и кратких шагов, которые должен предпринять тестировщик, с ожидаемыми результатами.
  3. Назначьте тестовые примеры тестировщикам, которые вручную выполняют шаги и записывают результаты.
  4. Составьте отчет об испытаниях, подробно описывающий выводы тестировщиков. Отчет используется менеджерами, чтобы определить, можно ли выпустить программное обеспечение, а если нет, то он используется инженерами для выявления и устранения проблем.

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

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

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

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

Этапы

Есть несколько этапов. Они есть:

Модульное тестирование
Этот начальный этап тестирования обычно выполняется разработчиком, написавшим код, а иногда и партнером, использующим метод тестирования белого ящика.
Интеграционное тестирование
Этот этап выполняется в двух режимах: как полный пакет или как дополнение к предыдущему пакету. Чаще всего используется метод тестирования черного ящика. Однако иногда на этом этапе также используется комбинация тестирования черного и белого ящиков.
Системное тестирование
На этом этапе программное обеспечение тестируется во всех возможных аспектах для всех предполагаемых целей и платформ. На этом этапе обычно используется метод тестирования черного ящика.
Приемочное тестирование пользователей
Этот этап тестирования проводится для того, чтобы получить одобрение клиента на готовый продукт. «Проход» на этом этапе также гарантирует, что клиент принял программное обеспечение и готов к его использованию.
Выпуск или тестирование развертывания
Команда на месте отправится на объект клиента для установки системы в настроенной клиентом среде и проверит следующие моменты:
  1. Независимо от того, запущен ли SetUp.exe.
  2. При установке есть удобные экраны
  3. Сколько места занимает система на HDD
  4. Система полностью удалена при выборе удаления из системы.

Преимущества ручного тестирования

  • Низкая стоимость эксплуатации, поскольку не используются программные инструменты
  • Большинство ошибок выявляются при ручном тестировании
  • Люди наблюдают и судят лучше, чем автоматизированные инструменты

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

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

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

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

Смотрите также

Рекомендации

  1. ^ ANSI / IEEE 829-1983 Стандарт IEEE для документации по тестированию программного обеспечения
  2. ^ Крейг, Рик Дэвид; Стефан П. Яскель (2002). Систематическое тестирование программного обеспечения. Артек Хаус. п. 7. ISBN  1-58053-508-9.
  3. ^ Итконен, Юха; Мика В. Мянтюля; Каспер Лассениус (2007). «Эффективность обнаружения дефектов: сравнение на основе контрольных примеров и исследовательское тестирование» (PDF). Первый международный симпозиум по эмпирической программной инженерии и измерениям: 61–70. Дои:10.1109 / ESEM.2007.56. ISBN  978-0-7695-2886-1. Архивировано из оригинал (PDF) 13 октября 2016 г.. Получено 17 января, 2009.