пятница, 21 июня 2013 г.

Тестирование: Что стоит автоматизировать в первую очередь?

Есть программный продукт, его нужно тестировать. Что же в первую очередь мы будем автоматизировать? А что будем проверять вручную?

Основные преимущества автоматизированного тестирования (АТ)

  1. Повторяемость: Те тесты которые повторяются от версии до версии, можно автоматизировать
  2. Быстрота выполнения: Автоматические тесты выполняются быстрее ручных
  3. Отчеты: Результат тестирования предоставляется автоматически
  4. Экономия: Тестировщик во время выполнения тестов может заниматься другими задачами

 Недостатки АТ

  1. Написание авто тестов требует намного больше времени, чем написание ручного
  2. Поддержка: Чем чаще меняется продукт, тем чаще нужно менять и автоматические тесты
  3. Пропуск мелких ошибок: Тестировщик выполняя тест вручную мог бы заметить то, что не заметит машина
  4.  Архитектура: сложность в прогнозировании результата. (Например, результат может быть неверный, автотест это поймет, а может отсутствие результата и тест может упасть, или результат упавшего теста может заблокировать или изменить правильность валидации результатов.)
И так...

Где нужно применять автоматизацию

  1. Проверка критически важных функций: дымовое тестирование
  2. Труднодоступные места: html, xml-код, информация из база данных и тд и тп
  3. Рутинные действия: заполнение большого количества полей формы или большого количества форм
  4.  Длинные сценарии, желательно  end-to-end
  5. Проверка точных математических вычислений
  6. Нагрузочное тестирование