Добавить в корзинуПозвонить
Найти в Дзене

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

Одним из важнейших навыков разработчика является умение тестировать свои программы, то есть писать автоматизированные тесты - программы, которые проверяют корректность работы других программ. Также отличной практикой является организация и формализация процесса тестирования на предприятии. На основе лучших практик, я сформировал шаблон организации процесса тестирования: Итак, ниже я представляю этапы процесса тестирования программного обеспечения. Определение целесообразности, логичности и т.д. Конечно, это только один из вариантов. Но он вполне может быть своеобразным “скелетом”, который вы можете адаптировать под особенности и потребности своей организации.

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

Итак, ниже я представляю этапы процесса тестирования программного обеспечения.

  • Выбор стратегии тестирования
  • Проводить ли Code Rewiew?
  • Какие виды тестирования автоматизировать (приемочное, регрессионное)
  • В каком формате вести тестовую документацию (Word, Excel, Google Doc., или спец. программные решения.
  • Определить виды тестирования (тест-дизайн): исследовательское, функциональное, юзабилити, безопасности, кроссплатформенное и кроссбраузерное, регрессионное, нагрузочное и стрессовое, тест на отказ, тестирование установки, приемочное тестирование.
  • Создание и согласования тест-плана
  • Объект тестирования
  • Состав проекта (компоненты, модули, функции, которые нужно тестировать)
  • Виды тестирования
  • Инструменты тестирования
  • Последовательность выполнения работ (сроки, дедлайны)
  • Анализ требований

Определение целесообразности, логичности и т.д.

  • Написание тест-кейсов
  • Тест-кейс должен содержать:
  • Описание (что проверяет данный тест кейс – необходимо не всегда, только в сложных кейсах)
  • Предусловия (версия приложения, название тестового сервера, тестовые данные клиентов и др.)
  • Шаги выполнения теста
  • Ожидаемый результат
  • Тесты, проверяющие одинаковую функциональность, модуль и т.д., сгруппировать в тест-сьюты.
  • Отбор тестов для автоматизации
  • Сначала автоматизировать тесты небольших объемов, постепенно повышая сложность
  • Оставшиеся на ручное тестирование тест-кейсы можно трансформировать в чек-листы для ускорения процедуры тестирования (по усмотрению и наиболее простые)
  • Настройка приложений для запуска автоматизированных тестов.
  • Установка и настройка Selenium (либо другого ПО)
  • Запуск через систему непрерывной интеграции (Bamboo от Atlassian, Teamcity, Jenkins) либо из системы управления тестовой документацией.
  • Проведение тестирования, заведение багов и анализ результатов.

Конечно, это только один из вариантов. Но он вполне может быть своеобразным “скелетом”, который вы можете адаптировать под особенности и потребности своей организации.