Создание IT продуктов — это не только программирование, но и еще множество не менее важных процессов. Вне зависимости от применяемой методологии, все они проходят несколько этапов создания: дизайн, разработка, проверка качества, документирование.
Сегодня мы расскажем о тестировании – та часть проверки качества, которая помогает выявлять ошибки и их устранять.
Целью тестирования является проверка соответствия цифрового продукта требованиям, которые ему предъявляются. Проще говоря — найти ошибки в ПО перед тем как их найдет пользователь.
В зависимости от ряда факторов, тестирование может быть разным. С точки зрения предоставляемых услуг, тестирование бывает двух видов: ручное и автоматизированное.
Ручное тестирование – это классический метод обнаружения багов. На него влияет человеческий фактор: как известно, человеку свойственно ошибаться. Но смекалка и интуиция человека могут быть полезны для определения неочевидных ошибок. Ручные тесты можно проводить без знания программирования. На начальных этапах оно не затратно, а также имеет быструю и точную обратную связь для работы над конкретным сценарием.
Автоматизированное тестирование, как несложно догадаться, выполняется машиной. Однако, тестировщик пишет код для выполнения автотестов. Главная цель автоматизированного тестирования — сократить время. Особенно это актуально при регрессионном тестировании. Это когда нужно убедиться, что новые введенные фишки не ломают старые. А еще машина, вернее автотест, не ленится, не хочет спать и не ходит за кофе. Хотя без человека его все еще не провести. Так что можно быть спокойными: до восстания машин ещё далеко.
Ручное тестирование эффективнее для небольших продуктов, в то время как автоматизированное подойдет для крупных.
У тестирования есть и свои фазы:
- Pre-Alpha (работа с прототипом),
- Alpha (ранняя версия),
- Beta (почти готовый продукт),
- Release Candidate (пререлиз для регрессионного тестирования)
- Release (финальная версия).