zHz00 Untitled

суббота, 08 апреля 2023
03:35 Спящий баг
У нас железка в трёх версиях, 1, 2 и 3. Каждой версии существует разное число экземпляров.

На все версии у меня один проект прошивки. При помощи условной компилации в нём написано:

#ifdef VERSION_1
//низкоуровневые настройки для 1-й версии
#endif

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

Естественно, у меня всё автоматизировано. В компиляторе есть нужное число конфигураций, есть кнопка batch build. Когда я готовлю "релиз", я собираю все версии прошивки одним махом и кладу в целевую папку.

И вот мы стали обновлять ПО у пользователя с самой старой версией железки. А оно не запускается. Не перепрошивали ему железку давно, прошло уже много релизов. Мне пришлось перебрать несколько версий прошивок, прежде чем я нашёл ту, на которой всё перестало работать. Причина была тупая. Я случайно внёс изменения в раздел, который не компилируется, когда идёт сборка для самой новой железки. А тестировали мы всё именно на ней. Когда же идёт компиляция под старую версию, ошибка попадает в прошивку. Ошибку я исправил. (теперь иди, под новой версией железки проверь!)

Это что за кринж такой? Почему мы не тестируем на старой железке перед релизом? Да потому что нет у нас её. Все экземпляры находятся у пользователей. Единственное нормальное решение -- иметь у себя по одному экземпляру каждой версии. И так можно было бы сделать, если бы железки стоили по сто баксов. Но они стоят гораздо дороже. Получается, что выгоднее ловить баги у пользователей, чем держать у себя три (а в перспективе ещё больше) тестовых стенда.

@темы: Программирование, Фейлы, Говнокод, Борьба с техникой

URL
Удивительно, как одно и то же место может ассоциироваться...
я сегодня супер-зритель...пошла у меня дома волна кинопро...
Краткость очень полезна, когда нас понимают или не понима...
Опыт - дорогой учитель, но для глупцов другого нет
Страх приходит к тебе, едва ты заснешь. Он появляется из ...
Наконец-то его оставили одного. Времени терять было нельз...

08.04.2023 в 09:17

08.04.2023 в 09:17
Единственное нормальное решение -- иметь у себя по одному экземпляру каждой версии.

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

08.04.2023 в 11:03

08.04.2023 в 11:03
CD_Eater, по мне так гораздо хуже решать железнячные проблемы софтовым способом)))
URL

08.04.2023 в 11:57

08.04.2023 в 11:57
А сколько всего экземпляров этого железа?
URL

08.04.2023 в 19:10

08.04.2023 в 19:10
по мне так гораздо хуже решать железнячные проблемы софтовым способом)))

ну, вообще-то микроконтроллеры именно для этого и придуманы - чтобы решать железячные проблемы софтовым способом
URL

08.04.2023 в 22:10

08.04.2023 в 22:10
Xersareeth, в ЛС расскажу.
CD_Eater, юморист.
URL

09.04.2023 в 08:08

09.04.2023 в 08:08
ни разу не юмор
URL
Добавить комментарий

Расширенная форма

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail