Блог инженера-тестировщика Getgear

Блог инженера-тестировщика Getgear
Производитель: GetGear
Модель: Блог версии 1.0 :)))
Наличие: Есть в наличии

25.06.19

От Дениса Космоса

 

К нам на тестирование попал прайс-чекер ЗНАЙТ Z-Info. Удивительно, но это оказался один из немногих аппаратов, проверка которых не выявила ни одного серьезного бага.

В первую очередь следует сказать: производитель настолько заинтересован в качестве своего продукта, что помимо собственного отдела тестирования привлек еще и сторонних тестировщиков. А это говорит о многом.

Мы не нашли ничего криминального за нашими коллегами из компании Знайт, поэтому и решили написать, что можем смело рекомендовать данный продукт как ОЧЕНЬ качественный!

 

18.06.19

От Графа Виктора.

 

Существуют такие баги, которые появляются случайно. Их трудно поймать. Порой кажется, что баг побеждён, но меняешь условие, и он тут как тут, перед тобой.

Был случай, когда в одной модели ККТ происходила ошибка отрезчика, при этом касса могла спокойно функционировать дальше. Причём касса могла сделать хоть двести, хоть триста, а иногда и меньше сотни отрезов до появления ошибки. Вышла прошивка, которая, вроде как, чинит этот баг. И так как вначале причина была не совсем ясна, мы считали, что баг с ошибкой отрезчика возникал после отрезки напечатанных чеков. После этого было распечатано где-то 250 чеков подряд без выявления ошибки. Думали всё, исправлено. Но не тут-то было.

Мы получили сообщение, что ошибка не просто вылезает на случайной отрезке, так ещё и в этой пляске может участвовать блок питания. Поменяли блок питания и вуаля, снова ошибка отрезчика.

Ещё выяснилось, что достаточно просто зациклить команду отрезки, чтобы поймать этот баг. Для этого была написана программа, которая делала 1000 отрезок и писала, на какой конкретно отрезке выскакивала ошибка.

Разработчики писали версию одну за другой, ошибки выскакивали то на 300-ой отрезке, то на 100-ой. Вышла прошивка, после которой удалось сделать всю тысячу отрезок, но откатившись на старую прошивку, мы снова поймали описанный баг на 200-ой отрезке. После этого вернулись ещё раз на последнюю прошивку, где баг вылез вновь на 80-ой отрезке.

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

 

10.06.19

От Миши Философа.

Баг, про который я хочу рассказать, был обнаружен буквально в первую неделю моей работы на должности тестировщика. В качестве тестируемого аппарата у меня был фискальный регистратор, на котором я проверял только что вышедшую прошивку.
 
Изначально мне, как новичку, казалось, что багов тут не может быть, ведь прошивка тестировалась ещё до меня целым отделом квалифицированных тестировщиков. Тем не менее в какой-то момент, когда надежды найти баги практически не было, касса самопроизвольно перезагружается. Я вспоминаю свои последние действия, чтобы определить причину.
Причина оказалось очень примитивной и интересной одновременно – при выборе одного из доступных шрифтов печати чека (всего их 9, выбран был второй) и дальнейшем открытии, непосредственно, чека касса «отваливалась» и перезагружалась. Я пошёл дальше – установил формат чека такой, что «шапка» печатается в самом конце фискального документа. 
 
После установки таких настроек у меня получилось открыть чек, но при попытке закрытия касса уходила в перезагрузку, после которой работать с кассой по-прежнему нельзя, так как открыт фискальный документ и ожидается продолжение печати. Соответственно получился замкнутый круг, и касса была уже неработоспособной. Пришлось делать технологическое обнуление кассы.
 
Баг я описал, и в следующей прошивке его поправили. Мораль тут одна – иногда даже полезно, когда поиском проблем занимаются не только профессионалы с огромным послужным списком, но и начинающие тестировщики, потому что зачастую при помощи свежего взгляда определяются такие баги, которые были долгое время у всех на виду.

 

03.06.19

От Василия Викинга.

 

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

В качестве хорошего примера расскажу про один небольшой баг. Но перед этим необходимо немного рассказать про то, как кассы формируют документы.

Сначала на кассу посылается команда открытия документа. Затем на неё по очереди, строка за строкой, посылаются команды с информацией, например: строка с текстом, товар (цена, количество, наименование) или просто какие-нибудь дополнительные данные, имеющие строгий формат. После закрытия документа происходит его сохранение на фискальный накопитель, печать, если она включена, и обнуление буфера документа (при этом обнуления буфера происходит только по факту завершения печати, на случай если во время печати что-то произойдёт, например, кончится бумага или случится потеря питания). ФН —это такое внешнее устройство, которое выполняет две вещи: генерирует уникальный номер и хранит в себе все созданные документы (касса, кстати, не должна работать без ФН, кроме крайне редких случаев). Очень важно, чтобы на ФН документ был сохранён правильно, потому что именно с ФНа документ отправляется на хранение в ОФД (это такие компании, которые занимаются обработкой и хранением документов перед последующей отправкой в налоговую).

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

И вот, в очередном апдейте выходит поддержка новых Тегов, утверждённых налоговой. А значит, надо проверить их на соответствие документу, который их описывает. Ну и вообще, что они теперь действительно поддерживаются устройством. Запускаем наше устройство, проверяем, что оно подключено к компьютеру и стартуем тестировочное ПО. Открываем документ, добавляем в него новые теги, и пока ошибок нет. Закрываем документ, всё правильно печатается и правильно сохраняется в электронной форме (в ФН). Повторяем процедуру, на этот раз при попытке добавить один из новых тегов касса возвращает нам ошибку. Пробуем его распечатать, получается. Вся информация, кроме тега, который не получилось добавить, присутствует. Однако, при проверке документа в электронной форме обнаруживается одна очень серьёзная проблема: там откуда-то взялся пустой несуществующий тег. Может быть, это произошло во время получения ошибки от кассы? Надо проверить! Открываем документ, не добавляем в него никакой дополнительной информации, сразу закрываем. При печати опять нет никаких ошибок, однако в электронной форме снова есть этот несуществующий тег. Это не очень хорошо, потому что все документы, в которых есть этот артефакт, могут восприниматься ОФД как недействительные. Также необходимо понять, какое действие сможет вернуть кассу в нормальное состояние. Пробуем перезапустить, новые чеки все ещё содержат этот артефакт. Пробуем поменять ФН, ошибка на месте. Пробуем провести технологическое обнуление… артефакт исчез. Теперь мы почти полностью уверены, что это была программная ошибка. Но при этом не очень понятно, откуда она могла взяться. Ведь добавленный тег хранится в буфере кассы только до тех пор, пока документ не сохранён на ФН и не произведена его печать. Возможно, при его добавлении происходили изменения настроек самого устройства, либо же почему-то ломалось очищение буфера.

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

 

 

27.05.19

От Миши Философа.

 

– Видишь баг?

– Нет

–Вот и я не вижу. А он есть

 

Описываемый случай произошёл, когда я занимался тестированием платформы 1С – Битрикс. Создаю профиль на тестируемом сайте, заполняю все необходимые данные формы – имя, фамилия, электронная почта, телефон и логин, по которому, собственно, и будет осуществляться последующих вход в учётку. После успешного создания профиля произвожу синхронизацию с базой данных, и наш «клиент» после этого попадает в 1С. Вношу непосредственно в базе данных некоторые корректировки нашему «клиенту», а если быть точным,– меняю ему сегмент (проще говоря, чтобы с этой учётки была возможность приобретать товары по цене ниже, чем розничная). Сохраняюсь и вновь произвожу синхронизацию. Забиваю на сайте данные для входа и получаю в ответ: «Неверный логин или пароль».

 

Я не понимаю, что произошло, и пытаюсь войти снова. «Неверный логин или пароль». После некоторого времени, потраченного на перепроверку вводимых данных авторизации, я обнаруживаю,что после синхронизации 1С – Битрикс логин клиента исчез, и на его место встал почтовый адрес. Написал данный критичный момент разработчикам, на что получил ответ, что так мол и так, нет такого бага, воспроизвести его не получилось.

 

Создаю с десяток тестовых аккаунтов и повторяю всю последовательность – логин затирается почтой в 10 случаях из 10. Записываю видео экрана, воспроизвожу баг и кидаю видеофайл разработчику. Молчание. Спустя какое-то время интересуюсь, принят ли баг в работу.

 

Молчание. На следующий день я получаю ответ: «Баг не удалось воспроизвести». Находясь в некотором ступоре от абсурдности ситуацию пишу, что выслал видео, и для воспроизведения нужно лишь непосредственное повторение показанной в нём последовательности. Молчание. Баг был принят и решён только после четвёртого или пятого моего обращения.

 

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

 

 

21.05.19

От Василия Викинга.

 

Чукча не писатель. Чукча — читатель.

Чем больше аппаратуры покрывает ПО, тем проще упустить какую-то мелочь.

Однажды, в прекрасный осенний день на аппаратуру, тестированием которой я занимался, вышла новая прошивка.
Помимо добавления нового функционала была улучшена работа кассы по RNDIS. Но, конечно же, нельзя просто так взять и с первого раза улучшить работу по протоколу ничего не сломав.

Любое тестирование новой прошивки всегда начинается с её установки на аппарат. Затем нам необходимо подключиться к компьютеру и запустить тестировочное ПО.
Именно поэтому, казалось бы, проблемы в новой прошивке, если они есть конечно, должны были показаться практически сразу. Однако не всё так просто!
Различных моделей достаточно много, и чем больше моделей ты уже протестировал, тем больше у тебя уверенности в том, что новая версия прошивки не имеет проблем.
Но всё равно, ни в коем случае нельзя пренебрегать каким-либо тесткейсом, даже если он работал на 20 предыдущих моделях, а у тебя на столе лежит последняя, 21ая.
И вот, я уже готов утверждать, что действительно работа по RNDIS стала гораздо лучше и стабильнее, но не тут-то было. Именно последняя модель, за которую я взялся, выявила проблему.
Проблема, которая была специфична только для неё. Аппарат просто отказывался подключаться!
Сразу же был написан баг репорт. На следующий день он был подтвержден разработчиком, и прошивка отправилась на доработку.

Мораль проста. Даже если вам кажется, что с 99% вероятностью никаких проблем нет, всё равно нужно проводить проверку. А лучше несколько раз.

 

17.05.19

От Эдика Шахматиста.

 

Порой приходится быть не просто тестером, а сыщиком, и расследовать -  кто же виноват?

Итак, начнём.

Новый автобусный терминал, в котором заменили обычный для него ридер на другой.

Понадобилось с помощью ридера не только производить оплаты проезда по картам Mifare, но ещё и на карты контроллера записывать номера оплативших карт.

И тут загвоздка: почему-то не пишутся номера - ошибка авторизации к карте контроллера.

Пишем разработчику ПО. Тот даёт версию - не помогает. Пишем снова. Разработчик говорит: "Не понимаю! Пытаюсь авторизоваться разными способами, ничего не выходит!"

Снимаем ридер с терминала, подключаем к компу, прогоняем карту - все хорошо читается и пишется. Ставим обратно на терминал - не пишутся номера. Разработчик уже на ридер указывает мол в нём что-то не так, у себя в коде ошибок не видит.

Ищем разработчика ридера, узнаем как можно прослушать работу ридера.

Подключаем терминал к плате ридера специальный кабель (сделанный одним из наших спецов), с помощью которого записываем на компьютер поступаемые на ридер команды от ПО автобусного терминала.

На полученной диаграмме видим следующее: зачем-то на карту подаётся команда "остановить карту" и затем пару секунд ничего не происходит.

Разработчик ПО выдаёт версию - добавлен резет ридера по согласованной диаграмме однократно и удалён ошибочный останов карты.

Проверяем - все работаёт!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Метки:
GetGear © 2019