Найти в Дзене

Чем же занимается тестировщик?

Оглавление

До сих пор многие думают, что работа тестировщика заключается только в нажатии кнопок на экране и проверке, что открываются нужные элементы. ДА, но это только 5% от всего, чем занимается тестировщик на самом деле. Давайте расскажу на простом примере со своего проекта.

Написанная заявка

В основном заявки пишут аналитики. У них есть доступ к контрактам, в которых описывается, какой функционал нужен заказчикам. Аналитики должны сформулировать заявку для разработчиков. Иногда это не простая задача)

Заявка с проекта связанного с медициной, выглядит следующим образом.

Добавить признак "Находится в стационаре"
1. На веб-интерфейс необходимо во вкладке "РЕГИСТРЫ" в таблице добавить поле "Находится в стационаре".
2. Поле сделать редактируемое, выбор из списка: "Да", "Нет" и "Нет данных". Подтягивать данные из (здесь написана таблица) и сохранять при изменении.
3. Добавить В Фильтр чекбокс "Находится в стационаре". При включенном чекбоксе "Находится в стационаре" отображать данные

Проверки

По первому взгляду можно увидеть следующие проверки:

  • Переходим в Регистры и проверяем, добавилось ли вообще новое поле.
  • Проверить, что есть селект с выбором "Да", "Нет" и "Нет данных".
  • Выбрать одно из значений и проверить сменились ли данные в БД.
  • В фильтре выбрать Находится в стационаре и проверить, что отображаются только те данные, у которых в бд стоит ДА.

Такие проверки можно назвать базовыми и их тоже нужно проводить. Это самые первые позитивные тесты, которые обязательно нужно включать в ваш список.

Но теперь давайте расскажу, что параллельно проверил я и какие ошибки нашёл.

Мои проверки

🟢Проверить отображение данных

Первое с чего я начал - это решил проверить какие данные отображаются на веб интерфейсе. Иногда бывает такое, что делаешь заявку и задеваешь старый функционал.

В данном месте данные отображаются из ТАБЛИЦА1, но в заявке почему то указано, то что новый параметр "Находится в стационаре" нужно добавить в ТАБЛИЦА2.

Первое о чем думаешь, ну наверное эти таблицы связаны, пишешь sql запрос, чтобы убедиться. Связаны они по patient_guid.

SELECT x.* from ТАБЛИЦА1 x
left join ТАБЛИЦА2 o on x.patient_guid = o.patient_guid;

Так получается, что данных отображается гораздо больше чем в sql запросе. С чем же это может быть связано?

Начинаю уточнять у разработчиков и выясняю, что оказывается не для каждого пациента в ТАБЛИЦА1 есть значение в ТАБЛИЦА2. Что в целом противоречит заявке.

🔴Получается на веб интерфейсе отображается пациент из ТАБЛИЦА1 и у него должно быть новое поле из заявки?

🔴Или же если нет связи пациентов по этим таблицам, то не отображать это поле? Почему не указано этого в заявке?

🔴Если отображать поле, то после выбора с веба, куда сохранять данные? Этого же пациента нет в ТАБЛИЦА2?

С данными вопросами сразу иду к Аналитику и уточняем как нужно исправить, чтобы можно было указать это в проверке к назначенной заявке. Разработчик это увидит и будет исправлять по оставленному мной комментарию.

В процессе выяснений выяснили, что лучше добавить данное поле сразу в ТАБЛИЦА1, чтобы избежать таких ошибок.

🟢Проверить работу нового поля

Нажимаю на новое поле у любого пациента и проверяю, что значения которые выбираю, сохраняются в БД.

🔴Нажал выбрал - но не срабатывает никакой запрос. То есть разработчик сделал выбор, но по каким то причинам сам запрос при выборе поломался.

После этого исправления тестирую дальше.

Замечаю что в таблице может быть несколько записей одного пациента. То есть пациент один, а диагноз разный, поэтому и записи считаются как разные.

🔴Выбираю у данного пациента новое поле, запрос отрабатывает, проверяю БД и у нескольких записей меняется поле. А должно у одного. Связанно с тем, что в запросе на смену поля учитывается только гуид пациента, а нужно ещё добавить к примеру диагноз.

🟢Остальные проверки

Конечно нужно проверить фильтрацию по данному полю. В данному случае она работает без проблем.

Так как я ещё и автоматизирую тесты, то запускаю остальные тесты связанные с данным разделом, чтобы убедиться в исправности всего блока. Иногда бывают заявки перекрывают друг друга и ломается функционал.

Обязательно делитесь в комментариях, что бы вы добавили в тесты!

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

Обучение тестированию