Виды тестирования программного обеспечения


Решили освоить профессию тестировщика? Отлично! Но подождите, вы же не думаете, что тестировщик просто тыкает на кнопки в полуготовом продукте и отписывается разработчикам: “Ребята, ну вроде все работает”? Если это так – Lemon School идет к вам.
На самом деле тестирование продукта – процесс многогранный. Не все виды тестирования можно освоить сразу. Некоторые типы тестирования ПО – прерогатива Senior QA. Кстати, и зарплата там соответствующая. Хотите разобраться в тонкостях работы тестировщика – читайте эту статью.
Автоматическое и ручное тестирование
Тестирование проходят все продукты: от простеньких сайтов-одностраничников до компьютерных игр. В небольших проектах ПО проверяют вручную, в масштабных – задействуют автоматические способы тестирования программного обеспечения.
Мануальные (ручные) проверки доверяют начинающим QA. Окончив онлайн курсы тестировщика вы можете начать путь в профессии именно с этой ниши. Это не значит, что работа монотонная и не требует дополнительных усилий. Напротив, только при ручном тестировании разработчики получают качественную обратную связь о пользовательском опыте, удобстве интерфейса и привлекательности дизайна.
Автоматическое тестирование основано на написании кода (тестового скрипта). Качество такого теста зависит от качества скрипта, а это опять-таки человеческий фактор. Автоматизация – высокий уровень QA, где задействуют навыки кодинга.
Методы тестирования QA: сыграем в ящик?


- черный ящик;
- белый ящик;
- серый ящик.
Black-Box тестирование заключается в проверке ПО без каких-либо знаний о внутреннем коде или архитектуре продукта. Тестировщик смотрит на ПО глазами обычного пользователя. Тестирование белого ящика происходит с погружением в код. Тестер должен не просто найти ошибки, но и понять, какая часть кода работает некорректно. Серый ящик – подразумевает, что QA частично знаком с внутренней работой продукта. Тестирование по методу белого и серого ящика сложнее, потому что предполагает навыки кодинга. А значит, и оплачивается выше. Если вы хотите прокачать свои скилы в программировании – приглашаем на лучшие IT курсы онлайн в Лемон Скул.
4 уровня тестирования программного обеспечения
Шерлок Холмс для расследования преступлений пользовался дедукцией и индукцией. Первое подразумевает логическую цепочку от общего к частному. Второе, наоборот, от частного к общему. Теми же методами пользуются и Quality Assurance. Они проверяют работу продукта на четырех уровнях:
- Модульное тестирование – корректно ли работает каждый отдельный модель ПО.
- Интеграциональное тестирование – как модули взаимодействуют между собой. Например, корректно ли работают переходы между страницами сайта.
- Системное тестирование – правильность работы продукта в целом.
- Приемочное тестирование – соответствует ли продукт изначальному техническому заданию.
Каждый этап одинаково важен: модули могут отлично работать сами по себе, но при интеграции выдавать ошибку. И тут уже не получится сказать: элементарно, Ватсон.
Виды тестирования программного обеспечения


- Функциональные
- Нефункциональные
Функциональное тестирование проверяет, какие функции продукта реализованы и корректно ли они работают. Например, от интернет-магазина мы ожидаем как минимум таких вещей: удобный поиск, фильтры для товаров, добавление товара в корзину и т.д. А при тестировании оказалось, вы не можете удалить из корзины ошибочно добавленный товар. Непорядок, надо дорабатывать. Нефункциональные тесты оценивают, как продукт работает. За этим названием скрываются такие типы тестирования программного обеспечения:
- производительности – какую нагрузку выдерживает ПО и в каких ситуациях все “падает”;
- пользовательского интерфейса – здесь оценивают, не идет ли кровь из глаз при использовании ПО. Шутка, но около того;
- UX – может ли человек со средним IQ воспользоваться тем, что наворотили разработчики;
- защищенности – способен ли продукт выдержать атаки и есть ли риск слива данных пользователей;
- инсталляционное – здесь QA-инженер должен проверить, не возникнут ли проблемы при установке и обновлении продукта;
- совместимости – как продукт работает с другими продуктами;
- локализации – корректность языкового и культурного аспекта, если ПО будет использоваться на разных рынках.
В зависимости от особенностей продукта, работа QA и виды тестирования будут отличаться.
Свобода действий тестировщика
Методы тестирования программного обеспечения предполагают разный уровень свободы действий тестировщика:
- по тестам – QA использует прописанные заранее тест-кейсы;
- исследовательское – специалист одновременно разрабатывает тесты и реализовывает их;
- свободное – когда тестировщик использует только опыт и интуицию, не ограничивая себя рамками.
Конечно, последние два варианта – прерогатива опытных QA-специалистов. Начинающие тестировщики редко могут работать на таком уровне.
Какие еще есть виды тестирования QA?


- позитивная – тестировщик опирается на ожидаемое поведение пользователя;
- негативная – QA пытается предусмотреть нестандартные сценарии взаимодействия пользователя с продуктом.
В зависимости от того, кто тестит:
- альфа-тестирование – проводится специально обученными людьми;
- бета-тестирование – проводится командой добровольцев. Например, недавно “Укрзалізниця” объявила набор в фокус-группу для тестирования их нового приложения.
Профессия тестировщика гораздо многообразнее, чем кажется на первый взгляд. И это один из реальных путей, как “войти в айти” практически с нуля.








