четверг, 19 октября 2017 г.

Панбагон. Перевернутая фоточка (локализация бага)

Это история студентки моего курса «Техники и инструменты поиска и оформления дефектов». У нас есть необязательное задание «Расскажи баг с интересной локализацией». И вот что прислала Светлана. По-моему, это прекрасно! Smile :)

******************************************************

Обычно у нас более типичные и скучные ошибки по работе системы, а тут оказалось что-то повеселее, еще и узнали немного нового)

Закинул нам в начале недели менеджер по продажам багу. Мол, при загрузке фотографии в систему фотография отображается перевернутой на 90 градусов.

Котик перевернут!
Стала проверять по основным веткам: попробовала все форматы, различные размеры, вертикальное и горизонтальное отображение фотографий. Проверила и не основные ветки и ровно такой же инстанс, на котором работает менеджер. А фотография отображается ровно в том виде, в котором подается на загрузку.

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


Сфоткал коллегу – Перекинул фоту на комп – Зашел в систему – Загрузил фотографию – Страница обновляется и фотография перевернута.
“ТаДАМ!” —  радуется менеджер)
Начинает рассказывать, что читал о таких же проблемах, что в статье были куски кода, которые позволяли ее решить и вообще все дело в каких-то метках.

Окай, иду проверять еще раз: делаю фоту, перекидываю и гружу – не переворачивается. Расширение у фоток одинаковое.

Прошу собрата по тестированию сделать фотку на его телефон и загрузить в систему, переживая о кривизне своих рук) Но и у него фотография не перевернута!

Вдаемся в рассуждения о происходящем и понимаем, что у него система установлена на винде, а мы воркаем на убунте. Радостные, что возможно поняли причину решаем проверить нашу теорию на разрабе у которого винда. Прибегаем к нему, он грузит просто картинку, потом фотку… но ни одна не переворачивается.

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

К нашей беготне подключается еще один разраб, который проверяет весь код и говорит, что не видит в нем проблемы. Что загрузили – то и получаем в отображении. И что никаких меток у нас неть)
Рассуждаем, что можно добавать в рамках именно доработки. Возможно, предварительное отображение загружаемого элемента с редактированием, либо возможность редактирования уже загруженной фотографии. Про метки вспоминаем, но больше негодуем, ведь тогда исходник и у меня грузился бы коряво – надо проверить)

Прошу менеджера скинуть непосредственно исходник фотографии. Получаю сразу несколько файлов. Загружаю первый – ничего не перевернулось. Как и со всеми остальными. Начинаю опять все повторять и замечаю, что при выборе фотографии, на превьюшке отображение в перевернутом виде!

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

В итоге оказывается, что менеджер был прав – все дело в метке)
Вывод: Некоторые модели телефонов и фотоаппаратов при фотографировании вместо поворота фотографии проставляют флаг в EXIF Orientation. При отображении на телефоне и на компе этот флаг учитывается и фотография отображается как следует, но у нас такой флаг системой просто игнорируется.

“В настоящее время EXIF повсеместно, в большей или меньшей степени, поддерживается программами просмотра изображений и даже штатными средствами операционных систем. Степень поддержки может быть разная, возможно искажение или даже полное удаление данных EXIF из-за неполной поддержки формата”

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

PS — добавила пост в общую копилку багов.

2 комментария:

  1. Баги такого характера относятся к неполноценному чек-листу на соответствие системному окружению.
    Баг необходимо оформлять не на конечный продукт, а на описание ПО в хелпе или ReadMe файле или ином списке System Requirements.
    Фикс же по этому багу будет считаться фичей о поддержке новой опции.
    Ольга, Ваш пример - на заметку тестировщикам продуктов, работающих с графикой, пополнить чек-лист комплексного или регресс-теста пунктами об импорте/экспорте различных форматов изображений и с соответствующими новыми параметрами.

    ОтветитьУдалить