Заметки на коленке: про тестирование (базисы для разрабов)

(Из ленты Чудес не бывает или я ошибаюсь?)

Лет 5 назад наваял на коленке для рассказа разработчикам про тестирование в команде без тестировщиков.

Что такое качество?
С точки зрения пользователя:
Качество — это пригодность к использованию. Делает ли данный продукт то, в чем я нуждаюсь, облегчает ли он мою работу, могу ли я его использовать так, как мне удобно.

С точки зрения разработчика:
Качество — это соответствие специфицированным и собранным требованиям. Делает ли данный продукт все то, что указано в требованиях.

Характеристики качества программного продукта:

  • Функциональность
  • Производительность
  • Стабильность
  • Удобство использования
  • Безопасность

Но, есть еще, например, качество программного кода:

  • Понятность
  • Изменяемость
  • Тестируемость
  • Поддерживаемость

Поэтому всегда учитывайте, что «качество» — это многовекторная штука.

Checking|Testing / QC / QA

В каждой еще и статье набор ссылок напочитать.

Что такое тестирование:

  • Тестирование — сервис по предоставлению информации о качестве продукта
  • Тестирование — поиск ошибок

Причины ошибок:

  • сделали, но ошибка в коде (или настройках среды и тд)
  • сделали, но не то, что ожидалось
  • даже не делали, так как этот сценарий не предусмотрели
  • ошибка во “внешнем” коде (open-source)

Полезно разбирать причину возникновения, позволяет не наступать на них снова.

Как предотвратить и не повторить?
Вопросы:

  • как мы проверим, что мы это сделали
  • какие сценарии надо проверить и в каких условиях

Верификация (сделали то, что планировали|хотели) vs Валидация (сделали то, что нужно | это решает проблему)

Пирамиды тестирования:
тут про пирамидки и вообще вопрос автоматизации

UI-тесты:

  • Тесты основной функциональности “через UI” (такое нужно минимизировать)
  • Тесты бизнес-логики в UI
  • Визуальное тестирование

Техники тест-дизайна
http://www.protesting.ru/testing/testdesign_technics.html

  • Эквивалентное Разделение
  • Анализ Граничных Значений
  • Причина / Следствие
  • Предугадывание ошибки
  • Исчерпывающее тестирование
  • PairWise

Простота и понятность тест-дизайна

Тест-стратегия

Тесты в проде
Мое мнение по тестам в проде

Источник