Этот курс знакомит с востребованной IT-сферой — QA тестированием. Мы изучим тонкости этой области, освоим инструменты и автоматизацию рутинных задач. Сначала разберёмся, что такое QA тестирование, кто такие QA тестировщики и чем они занимаются.
Что такое QA тестирование?
Представьте: вы заказываете мобильное приложение для покупки продуктов, скачиваете его, а оно не работает — кнопка «Оформить заказ» не реагирует, вместо списка товаров — ошибки. QA тестировщики предотвращают подобные ситуации. Они проверяют каждую деталь приложения, гарантируя корректную работу и удовлетворённость пользователей.
Тестирование — это не просто поиск ошибок (багов). Оно помогает разработчикам выпускать стабильные продукты, избегая критических ошибок, приводящих к потере пользователей и денег компании.
Качественное программное обеспечение
Качественное программное обеспечение соответствует заданным требованиям и удовлетворяет потребности пользователей. Это включает функциональные и нефункциональные аспекты: производительность, безопасность, удобство использования и т.д. Высококачественное ПО помогает компаниям избежать проблем, таких как баги, сбои или уязвимости системы. Хорошо протестированный продукт снижает риски неудачи при выпуске и улучшает пользовательский опыт, увеличивая прибыль компании.
QA и тестирование: в чём разница?
QA (Quality Assurance) — это процесс обеспечения высокого качества продукта. Он включает не только поиск ошибок, но и создание эффективного процесса разработки. QA тестировщики следят за соответствием продукта требованиям, его надёжностью и удобством использования.
Тестирование — часть QA, направленная на проверку продукта на наличие ошибок и дефектов. QA охватывает весь жизненный цикл продукта, от планирования до финальной проверки перед выпуском. QA помогает предотвратить проблемы, а тестирование — найти и исправить их.
QA инженеры: кто они?
QA инженеры отвечают за качество программного продукта. Их главная задача — предотвращение ошибок в работе приложения для беспроблемного использования пользователями. Они тесно сотрудничают с разработчиками, менеджерами и дизайнерами. QA инженеры не просто ищут баги, они планируют тестирование, пишут тест-кейсы (шаги для проверки функционала), фиксируют ошибки и проверяют их исправление. Они также могут автоматизировать процесс тестирования для ускорения проверки однотипных задач.
Виды тестирования
Тестирование подразделяется на:
- Функциональное тестирование: проверка выполнения программой своих функций (например, открытие нового окна по нажатию кнопки).
- Нефункциональное тестирование: проверка аспектов программы, не связанных напрямую с функциями (производительность, безопасность, удобство использования и т.д.).
- Модульное тестирование: проверка отдельных частей программы (функций, методов).
- Интеграционное тестирование: проверка взаимодействия разных частей системы.
- Системное тестирование: проверка всей системы в целом.
- Приемочное тестирование: проверка соответствия требованиям заказчика и готовности продукта к использованию.
Цена ошибок
Недостаток тестирования может привести к катастрофическим последствиям:
- Night Capital (2012): потеря 440 миллионов долларов за 45 минут из-за некорректно протестированного торгового бота.
- Mars Climate Orbiter (1999): потеря космического аппарата из-за ошибки в программном обеспечении, связанной с использованием разных систем единиц измерения.
Эти примеры доказывают важность качественного тестирования. Правильное тестирование окупается многократно. QA инженеры работают с разработчиками, находя баги на ранних этапах и снижая затраты на их исправление. Иногда они участвуют в создании автоматизированных тестов для проверки стабильности нового кода.
Мы познакомились со сферой QA тестирования. В следующих уроках мы подробнее рассмотрим процесс тестирования различных проектов.