До сих пор многие думают, что работа тестировщика заключается только в нажатии кнопок на экране и проверке, что открываются нужные элементы. ДА, но это только 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, чтобы избежать таких ошибок.
🟢Проверить работу нового поля
Нажимаю на новое поле у любого пациента и проверяю, что значения которые выбираю, сохраняются в БД.
🔴Нажал выбрал - но не срабатывает никакой запрос. То есть разработчик сделал выбор, но по каким то причинам сам запрос при выборе поломался.
После этого исправления тестирую дальше.
Замечаю что в таблице может быть несколько записей одного пациента. То есть пациент один, а диагноз разный, поэтому и записи считаются как разные.
🔴Выбираю у данного пациента новое поле, запрос отрабатывает, проверяю БД и у нескольких записей меняется поле. А должно у одного. Связанно с тем, что в запросе на смену поля учитывается только гуид пациента, а нужно ещё добавить к примеру диагноз.
🟢Остальные проверки
Конечно нужно проверить фильтрацию по данному полю. В данному случае она работает без проблем.
Так как я ещё и автоматизирую тесты, то запускаю остальные тесты связанные с данным разделом, чтобы убедиться в исправности всего блока. Иногда бывают заявки перекрывают друг друга и ломается функционал.
Обязательно делитесь в комментариях, что бы вы добавили в тесты!
Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!Также если вам нужна индивидуальная консультация, менторство и помощь в создании проекта пишите в ТГ канал!