Деградация современного ПО

В погоне за коммерческой выгодой современные отделы тестирования и обеспечения качества IT-компаний
стали забывать о реальном положении вещей в индустрии.

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

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

Начнем с простейшего вопроса — это ресурсы.

Каждый человек в современном мире, живущий в мегаполисе, обладает такими девайсами как ПК/Ноутбук и мобильный телефон.
Как правило (чаще всего, нужное подчеркнуть) ПК/Ноут в большинстве случаев на OS Windows, а мобильный телефон — это смартфон на OS Android.

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

Телефон и его стоимость

Ни для кого не секрет, что мобас на андроиде в широких пределах стоит от 100 до ~бесконечной суммы в долларах.

Всё зависит от стоимости камеры + начинка по железу по оперативной памяти, CPU и размера жесткого диска для хранения фоток и видосов.

Большинство приложений для андроида пишутся на языках семейства Java — сама джава, kotlin ну и вот это вот всё.

А теперь я расскажу реальный пример из жизни.

Один раз несколько лет назад я разбил свой телефон на андроиде и решил купить новый.
Денег на новый тогда было достаточно мало, поэтому я купил новый за $150.

По хардвэйр компонентам — это 2 ядра по 1.2Hz на 4 потока, 3GB оперативки и 32 GB диск для фоток не с самой мегапиксленой камерой.

И всем наверняка знаком кейс — телефон начинает тормозить через полгода/год эксплуатации.

И все знают 2 способа решения этого вопроса — купить новый или гуглить.
Я выбрал второй — и моментально нашел, что есть такой пункт меню в настройках «Обслуживание устройства», в котором есть волшебная кнопка с очисткой памяти.

И вот на этом абзаце начинается самая интересная часть этой статьи, а именно деградация системы QA.

При нажатии на кнопку пункта меню я вижу, что у меня общее кол-во ОЗУ 3GB, зарезервировано 300MB, что-то на OS и предлагается закрыть фоновые приложения, чтобы очистить память.

И конечно я жму — и что получаю как неожидаемый результат — памяти стало меньше и мобас начинает сильнее глючить.

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

и вот тут я задумался.

Тезисы:

  1. Разработчики на Java и этом семействе языков в компании Гугл совершенно не понимают про типы данных и их преобразования

  2. Бизнесу совершенно неинтересны кейсы про «тормоза» на устройствах

  3. QA совершенно забыли про негативные кейсы, тестируют только позитивные

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

А по факту даже в самых крупных и крутых IT-гигантах уровень разработки и тестирвания просто упал.

А теперь скрины — нет, это не с телефона, это просто косяки самого хабра

8158361edeb5088cfed42a21fb4101d0.pngc4ef0cab7b9c754668bfe182a9e0f098.png

Мне за современное IT просто становится стыдно.

© Habrahabr.ru