Изображение магистра
Баев Дмитрий Эдуардович
Факультет интеллектуальных систем и программирования
Кафедра программной инженерии им. Л. П. Фельдмана
Специальность Методы и средства разработки программного обеспечения

Классификация текстов на сайтах на основании предметной области

Научный руководитель: к.ф.-м.н., доцент каф. ПИ Скворцов Анатолий Ефремович
Консультант: ст. преп. каф. ПИ Коломойцева Ирина Александровна
QA Engineer. Является ли тестировщик низшим звеном в IT?
preview

Количество кадров: 221; Количество повторений: неограничено;
Задержка: 0.1 сек; Длительность: 18.4 сек; Размер анимации: 446.9 kB

Кто такой QA Engineer?

QA-тестировщик или инженер по тестированию (QA-engineer) — это специалист, который создаёт сценарии тестирования, прогнозирует сбои и находит ошибки в продуктах. Любой IT-продукт нужно проверять на каждом этапе разработки: это экономит ресурсы бизнеса, ведь чем раньше найдены недочёты, тем проще и дешевле их исправить.

Чтобы работать хорошо и с удовольствием, тестировщику важно быть внимательным и дотошным, пригодится и хорошее структурное мышление. Также полезно разбираться в бизнес-процессах и досконально знать продукт, чтобы сохранять баланс между интересами пользователей, целями менеджмента компании и возможностями команды разработки.

Задачи и обязанности QA Engineer

Тестировщик проверяет, что приложение работает так, как ожидается по документации. Если это не так, он фиксирует ошибку и передаёт её на исправление в отдел разработки.
Обычно тестировщик проводит проверку в несколько этапов:
1. Изучает документацию и уточняет спорные моменты в ней. В результате понимает, какую функциональность продукта нужно будет тестировать.
2. Разрабатывает тесты. На этом этапе тестировщик готовит набор тестов для проверки. Если в продукт вносят изменения, а их регулярно вносят, нужно скорректировать и тестовую модель.
3. Проверка продукта. На этом этапе тестировщик проходит по разработанным тестам и фиксирует результат: в тех местах функциональности, где тесты прошли успешно — подтверждает, что продукт работает корректно, а там, где тесты не прошли — фиксирует ошибки.

Профессиональные навыки специалиста по тестированию

Теория тестирования. Специалист должен разбираться в классификации тестирования, знать основные методы и инструменты, уметь создавать тест-кейсы.
Базы данных и SQL. Большинство веб-приложений используют для хранения информации базы данных. Знание языка запросов SQL поможет тестировщику понимать процессы взаимодействия баз данных с приложением и оценивать его работоспособность.
Linux. На этой операционной системе работают многие серверы, базы данных и веб-сервисы, с которыми приходится сталкиваться тестировщику.
Инструменты баг-трекинга. Над отслеживанием и устранением ошибок обычно работают несколько специалистов, а системы баг-трекинга, например Jira или Bugzilla, помогают координировать их действия и устранять дефекты.
Языки программирования. Знания языков нужны, чтобы читать и писать код для автоматизированного тестирования.

Гибкие навыки специалиста по тестированию

Внимательность. Из-за пропущенной ошибки компания может потерять деньги и репутацию. QA-специалист должен быть очень внимательным и дотошным и постоянно задавать себе вопрос: «Что будет, если…?»
Усидчивость. Хорошие тестировщики считают, что программ без ошибок не бывает, но не у всех хватает терпения их находить.
Умение формулировать свои мысли. Если тестировщик находит ошибку, он должен понятно описать, когда она возникает. Тогда разработчики смогут быстро устранить баг.
Коммуникабельность. Тестировщик всегда работает в команде с разработчиками, аналитиками, дизайнерами, технической поддержкой со стороны клиента, поэтому важно уметь общаться и находить общий язык с разными людьми.
Стрессоустойчивость. Нужна, чтобы не паниковать из-за каждого пропущенного бага, ведь найти все ошибки в продукте с первого раза невозможно.

Исследование профессии
От теории к практике!

Рассмотрим один практический пример, которым хоть раз, но пользовалось большинство потенциальных покупателей, а именно сравнение товаров.

Допустим, покупателю J захотелось приобрести новое мобильное устройство, которое будет удовлетворять его потребностям. Смартфон должен быстро реагировать на действия пользователя, иметь возможность воспроизводить онлайн-видео в комфортном качестве без зависаний и вылетов, а также смартфон должен свободно подключаться к персональному компьютеру и/или ноутбуку для передачи файлов мультимедиа.

Допустим, J уже ознакомился с рейтингом смартфонов на текущий период, в который он заинтересовался покупкой. А также он уже присмотрел несколько определенных моделей под свои нужды. Теперь осталось определиться с покупкой. Какую же модель стоит взять нашему J? Чтобы ответить на этот вопрос, J может самостоятельно сделать выбор, воспользовавшись простым поисковиком, в котором впишет что-то на подобии "В чем отличия ТЕЛЕФОНА_А от ТЕЛЕФОНА_Б" или "ТЕЛЕФОН_А vs ТЕЛЕФОН_Б". Поисковая система выдаст несколько ссылок на ресурсы со сравнением интересующих J телефонов.

Обычно на таких сайтах присутствуют графики с показателями производительности в различных синтетических программах и краткими тестами определенных приложений (браузер/игры/воспроизведение видео в разных разрешениях):

Сравнение мобильных телефонов

Количество кадров: 29; Количество повторений: неограничено
Задержка: 2.5 сек; Длительноть: 87 сек; Размер анимации: 904.3 kB

К чему был этот пример? В задачи QA Engineer также часто входит тестирование готового продукта в различных условиях для выявления минимума, а чаще всего максимума способностей тестируемого продукта. Исходя из такого примера QA специалист может заниматься не только на программном уровне, тестирую написанный кем-то софт, но также и тестированием техники (неважно компьютерной или мобильной).

Список источников

1. Кто такой инженер по тестированию и как им стать, чтобы начать IT-карьеру [Электронный ресурс]. – Режим доступа: https://practicum.yandex.ru/blog/professiya-qa-testirovschik/

2. Кто такой QA-инженер и как начать свой путь в тестировании? [Электронный ресурс]. – Режим доступа: https://proglib.io/p/kto-takoy-qa-inzhener-i-kak-nachat-svoy-put-v-testirovanii-2020-08-22

3. QA инженер (QA Engineer) — обязанности и что должен знать [Электронный ресурс]. – Режим доступа: https://linuxtrainingcenter.com/qa-engineer/