Заметки на коленке: про тестирование (базисы для разрабов)
(Из ленты Чудес не бывает или я ошибаюсь?)
Лет 5 назад наваял на коленке для рассказа разработчикам про тестирование в команде без тестировщиков.
Что такое качество?
С точки зрения пользователя:
Качество — это пригодность к использованию. Делает ли данный продукт то, в чем я нуждаюсь, облегчает ли он мою работу, могу ли я его использовать так, как мне удобно.
Качество — это соответствие специфицированным и собранным требованиям. Делает ли данный продукт все то, что указано в требованиях.
Характеристики качества программного продукта:
- Функциональность
- Производительность
- Стабильность
- Удобство использования
- Безопасность
Но, есть еще, например, качество программного кода:
- Понятность
- Изменяемость
- Тестируемость
- Поддерживаемость
Поэтому всегда учитывайте, что «качество» — это многовекторная штука.
Checking|Testing / QC / QA
- Checking in Testing
- Накуа тебе QA в написании тайтла?
- Где грань между программистом и тестировщиком?
В каждой еще и статье набор ссылок напочитать.
Что такое тестирование:
- Тестирование — сервис по предоставлению информации о качестве продукта
- Тестирование — поиск ошибок
Причины ошибок:
- сделали, но ошибка в коде (или настройках среды и тд)
- сделали, но не то, что ожидалось
- даже не делали, так как этот сценарий не предусмотрели
- ошибка во “внешнем” коде (open-source)
Полезно разбирать причину возникновения, позволяет не наступать на них снова.
Как предотвратить и не повторить?
Вопросы:
- как мы проверим, что мы это сделали
- какие сценарии надо проверить и в каких условиях
Верификация (сделали то, что планировали|хотели) vs Валидация (сделали то, что нужно | это решает проблему)
Пирамиды тестирования:
тут про пирамидки и вообще вопрос автоматизации
UI-тесты:
- Тесты основной функциональности “через UI” (такое нужно минимизировать)
- Тесты бизнес-логики в UI
- Визуальное тестирование
Техники тест-дизайна
http://www.protesting.ru/testing/testdesign_technics.html
- Эквивалентное Разделение
- Анализ Граничных Значений
- Причина / Следствие
- Предугадывание ошибки
- Исчерпывающее тестирование
- PairWise
Простота и понятность тест-дизайна
Тест-стратегия
Тесты в проде
Мое мнение по тестам в проде