Как я могу решить, что тестировать вручную, а что доверять автоматизированным тестам? [закрыто

StackOverflow https://stackoverflow.com/questions/2639272

Вопрос

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

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

Это было полезно?

Решение

Первая разделительная линия - что такое существенно проще тестировать вручную, а что существенно проще Чтобы проверить автоматизированную моду?

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

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

Другие советы

Мой совет, автоматизировать все, что вы можете автоматизировать. Пусть люди делают то, что они хороши, такие как ответ на вопрос » Смотреть Правильно? »Или« это пригоднее? ». Для всего остального, автоматизировать.

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

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

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

  1. Посмотрите на отчеты об ошибках для предыдущих выпусков, особенно ошибки, сообщили клиентам, если у вас есть доступ к ним. Несколько конкретных функциональных областей часто учитывают большинство ошибок.
  2. Используйте инструмент охвата кода при запуске существующих автоматизированных тестов и примите к сведению областей с небольшим количеством или без охвата.

Ручное тестирование может сделать следующее, в отличие от автоматизированного тестирования:

  • Тестирование GUI
  • Тестирование удобства использования
  • Исследовательское тестирование
  • Используйте вариации при запуске тестов
  • Найти новые, а не регрессивные ошибки
  • Человеческий глаз может заметить все проблемы. Авто-тест проверяет только несколько вещей.

Автоматическое тестирование может сделать следующее, в отличие от ручного тестирования:

  • Испытание напряжений / нагрузки
  • Вы даже можете использовать автоматизированный тестовый набор для проверки производительности
  • Тестирование конфигурации (ИМХО Это самый выгодный). После написания вы можете запустить тот же тест по разной среде с разными настройками и раскрыть скрытые зависимости, которые вы никогда не думали.
  • Вы можете запустить тот же тест более тысяч входных данных. В случае ручного тестирования вы должны выбрать минимальный набор входных данных, используя разные методы.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top