Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
В погоне за коммерческой выгодой современные отделы тестирования и обеспечения качества IT-компаний
стали забывать о реальном положении вещей в индустрии.
Жадность и желание получить максимальную прибыль за разработанный продукт стали максимальным приоритетом для владельцев, в ущерб качеству.
В данной статье я буду приводить примеры кейсов, на которые стоит обратить внимание при реализации жизненного цикла ПО с учетом QA.
Начнем с простейшего вопроса - это ресурсы.
Каждый человек в современном мире, живущий в мегаполисе, обладает такими девайсами как ПК/Ноутбук и мобильный телефон.
Как правило (чаще всего, нужное подчеркнуть) ПК/Ноут в большинстве случаев на OS Windows, а мобильный телефон - это смартфон на OS Android.
И вот здесь я сейчас буду конкретизировать совершенно стандартные жизненные ситуации при использовании программного обеспечения, которые позволят
читателям понять действительную деградацию современного обеспечения качества.
Телефон и его стоимость
Ни для кого не секрет, что мобас на андроиде в широких пределах стоит от 100 до ~бесконечной суммы в долларах.
Всё зависит от стоимости камеры + начинка по железу по оперативной памяти, CPU и размера жесткого диска для хранения фоток и видосов.
Большинство приложений для андроида пишутся на языках семейства Java - сама джава, kotlin ну и вот это вот всё.
А теперь я расскажу реальный пример из жизни.
Один раз несколько лет назад я разбил свой телефон на андроиде и решил купить новый.
Денег на новый тогда было достаточно мало, поэтому я купил новый за $150.
По хардвэйр компонентам - это 2 ядра по 1.2Hz на 4 потока, 3GB оперативки и 32 GB диск для фоток не с самой мегапиксленой камерой.
И всем наверняка знаком кейс - телефон начинает тормозить через полгода/год эксплуатации.
И все знают 2 способа решения этого вопроса - купить новый или гуглить.
Я выбрал второй - и моментально нашел, что есть такой пункт меню в настройках "Обслуживание устройства", в котором есть волшебная кнопка с очисткой памяти.
И вот на этом абзаце начинается самая интересная часть этой статьи, а именно деградация системы QA.
При нажатии на кнопку пункта меню я вижу, что у меня общее кол-во ОЗУ 3GB, зарезервировано 300MB, что-то на OS и предлагается закрыть фоновые приложения, чтобы очистить память.
И конечно я жму - и что получаю как неожидаемый результат - памяти стало меньше и мобас начинает сильнее глючить.
Повторяю процедуру - и вижу, что вычисленное значение свободной ОЗУ считается неправильно, неверное округление.
и вот тут я задумался.
Тезисы:
Разработчики на Java и этом семействе языков в компании Гугл совершенно не понимают про типы данных и их преобразования
Бизнесу совершенно неинтересны кейсы про "тормоза" на устройствах
QA совершенно забыли про негативные кейсы, тестируют только позитивные
В современном мире очень удобно стало скейлить сервисы на kubernetes, покупать новые девайсы вместо старых тормозных
и ссылаться на техническую сложность при разработке, писать многопоточку и абстрагироваться от хорошего кода с помощью SOLID, DRY итд.
А по факту даже в самых крупных и крутых IT-гигантах уровень разработки и тестирвания просто упал.
А теперь скрины - нет, это не с телефона, это просто косяки самого хабра
Мне за современное IT просто становится стыдно.