Понимание бизнес-сущности системы при тестировании
Введение
Добрый день! Меня зовут Анастасия, я QA-инженер команды бэкофиса в «Финаме». С 2022 года занимаюсь тестированием бэкофисных и торговых систем финансовых компаний. До перехода в QA работала в эксплуатации и поддержке торгово-клиринговой системы СПБ Биржи. Моя сильная сторона — глубокое понимание бизнесовой части тестируемого продукта, о важности чего мы и поговорим в этой статье.
Идея
Цель этой статьи — подчеркнуть важность понимания бизнесовой сущности системы, которую вы тестируете. Я приведу реальные примеры, которые помогут вам развить смекалку в тестировании различных систем. Статья будет особенно полезна QA-инженерам, работающим в брокерских, банковских компаниях и на биржах.
Содержание
Личный опыт, вдохновивший на написание статьи
Что важнее в QA: понимание продукта или теория тестирования?
Лайфхаки для изучения предметной области
Заключение
История из моего опыта
За несколько лет работы в IT я поняла, что погружение в задачу с точки зрения пользователя помогает выявить уязвимости, которые не описаны ни в одном учебнике по тестированию. Начну с примера из своей практики. Однажды я тестировала сервис расчета комиссий, где формула была проста:
0,25%*объем сделки=сумма комиссии
Проверяя кейсы, я заметила, что для сделки в 10 долларов UI отображал:
Цена: 1 доллар
Кол-во: 10 бумаг
Объем сделки: 10 долларов
Комиссия 0.025 долларов
Вас ничего не смущает?
Проблема заключалась в том, что сумма комиссии (0,025 долларов) не округлялась до двух знаков после запятой, как это принято для фиатных валют.
Обратите внимание не на сумму комиссии, а именно на ее значение: 0,025 доллара — это 2,5 цента. Половинка цента — это сколько? :)
Фиатные валюты, такие как доллар и рубль, имеют только 2 знака после запятой. Все расчеты округляются до двух знаков. Вот и нашли багу на уровне ТЗ: не продуман механизм округления комиссии до двух знаков после запятой. Поэтому с чистой совестью возвращаем аналитику на доработку ТЗ и ждем новую версию сервиса. Подобные случаи подчеркивают важность понимания бизнеса и умения смотреть за рамки ТЗ.
Что важнее в QA: понимание продукта или теория тестирования?
Ответить на этот вопрос можно кратко: для QA важны оба аспекта. Но часто специалисты склоняются к одной из крайностей.
Когда я переходила в QA, у меня не было теоретической базы тестирования, но был опыт использования системы, которую я собиралась тестировать. Мои интуитивные подходы улучшились после прочтения книги Святослава Куликова «Тестирование программного обеспечения — базовый курс». На собеседованиях меня больше спрашивали про брокерскую деятельность, чем про тестирование. Работодатели заинтересованы в практиках, которые понимают продукт.
Чтобы стать востребованным QA-специалистом и продвигаться по карьерной лестнице, важно развиваться как в области теории тестирования, так и в понимании сферы деятельности компании.
Лайфхаки для изучения предметной области
Google It. Если вы тестируете какой-то новый сервис и видите незнакомые бизнесовые определения, то не воспринимайте их как абстрактные объекты. Гуглите их, спрашивайте у ИИ. В общем, используйте все возможные инструменты, чтобы понять, с чем вы работаете.
Спрашивайте у коллег. В этом нет ничего зазорного. Лучше какое-то время постоянно спрашивать, чем долгое время молчать и не понимать происходящего. По возможности будьте самым дотошным коллегой. Спрашивайте не только то, что тестируете, но и смежный функционал и его смысловую составляющую.
Пример из жизни: как-то работали с сервисом расчета накопленного купонного дохода, поняла, что коллеге очень тяжело дается эта задача. Я ему на простом примере объяснила механизм расчета НКД. Задача была решена уже вечером: человек понял, как это работает, и ему стало легче справляться с этой задачей.
Пройдите курсы или изучите другие материалы. Сейчас в интернете много качественной информации, которая поможет вам развиваться в вашей сфере.
В этом пункте главное — конкретика. То есть вы должны понимать, какие точно знания хотите получить. Я, например, ставлю на полгода цели с конкретным минимальным списком той информации, которую бы хотела усвоить для изучения своей профессии.Интернет-ресурсы. Подпишитесь на 2–3 тематических канала и регулярно их читайте. Не перегружайте себя информацией.
Записывайте термины. Фиксируйте новые термины прямо в тест-кейсы или в глоссарий проекта. Например, сегодня вы узнали, что такое KYC. Запишите это.
6. Изучите базовый профессиональный английский в вашей сфере. Это вам поможет лучше понимать написанный код, а также делать названия объектов в своих автотестах более осмысленными.
Пример из жизни: я тестировала зачисление и списание денег на счет клиента по новому тарифу. У трестируемого клиента баланс в конце дня — -1500. На начало дня было 0. Выгружаю исходные данные. Вижу таблицу:
Id | Operation code | Value |
1 | Money: output | 100 |
2 | money: input | 700 |
3 | money: input | 1000 |
4 | Money: output | 100 |
Что не так? С английского:
То есть у клиента должен быть баланс +1500. Ошибка была еще на уровне ТЗ, а разработчик тоже не заметил. Поэтому let«s study English:)
Итог
Главный вывод этой статьи — развивайтесь как в технических навыках, так и в понимании продукта. Это значительно облегчит вашу работу и сделает процесс тестирования более осмысленным и продуктивным.
Волшебного чек-листа тестирования не существует, поэтому только эрудированность в области продукта и технические навыки сделают вас профессионалом.