" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 2014
Просмотры материалов : 7395174
 
Типовые испытания (18.07.2023). Печать E-mail
2023 - Июль
18.07.2023 11:11
Save & Share
В интернете много видов испытаний встречаются. Лабораторные, стендовые, натурные, полигонные, эксплуатационные, ... В моем случае оказались 3 вида: стыковочные, типовые и натурные. Акцент на вторых сделан неспроста.



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

Типовые - глубокое тестирование всех программных комплексов заказчиком и прокладкой-надзирателем на территории заказчика в Подмосковье. Для сравнения с командировкой во время стыковочных, стоит описать некоторые моменты:
- ноутбуки и телефоны проносить нельзя;
- нельзя проносить исходные коды ну совсем никак. Любая ошибка превращается в гадания, где же это может быть. Стоит отметить, что прокладка-надзиратель имела при себе набор официальных программ, позволяющих локализовать часть ошибок за секунды. Но трудность и в другом: никакую информацию нельзя выносить с территории заказчика. Исправление ошибок превращается в "мы нашли ошибку, исправьте - но данные для тестирования мы вам не дадим";
- заказчик задает вопросы, в полной уверенности, что 2 разработчика (оставшиеся от 6-8 после начала СВО) могут на них ответить;
- всегда должен присутствовать хотя бы 1 представитель-разработчик комплекса. То есть, он теряет целый рабочий день, который мог направить на исправление багов. Так и чередовались: то один, то другой;
- время присутствия на территории заказчика - каждый день, без выходных, с 10 до 18 часов (иногда до 20 часов);
- сношают именно разработчиков комплекса. Высокое начальство - скучает в сторонке. Низкое начальство - зависит от совести. Один особо отличившийся - вообще уезжал несколько раз через час после прибытия на транспорте от предприятия - бросив разработчиков вдали от города не только своих, но и от другой организации. При этом, если проводится совещание начальства - разработчики должны задержаться и участвовать в нем;
- испытания проходят почти 3 недели. 20 дней без выходных, с ежедневной дальней дорогой туда-обратно. Гостям иногородним еще сложнее: у них нет возможности остаться на работе и что-то допрограммировать. Но, по факту, им легче: они только копят ошибки и будут исправлять дома - для коренных жителей все хуже.

Для негостей ситуация выглядит так.
Каждое утро с 7:30 до 9:00 - бега и прыжки, как у белок при пожаре (поэтому приход на работу происходит иногда в 7:30, а иногда в 6:30):
- если удалось остаться в предыдущий день и что-то запрограммировать - синхронизироваться с GIT, устранить конфликты, записать бинарники на диск. Иначе - пытаться что-то запрограммировать и записать на диск;
- оформить сопроводительное письмо к диску за подписью 3 других начальников, у которых могут быть совещание, и они станут недоступными;
- тут же прыжок в машину - и к заказчику;
- выжатый как лимон от заказчика - домой. И в 20 получалось дома быть, и в 22. Времени остается только на сон. Грязные белье и посуда копятся горами. В ход идет резервное нижнее белье и даже носки. Утром голодный ли, или торпеда в заднице просится наружу, или ноги болят - похрен, терпи и бегай;
- сомнительная жратва из ближайших к территории заказчика магазинов и странных забегаловок. Поэтому утром нужно еще и в магазин успеть, набрав нормальной жратвы. Один раз мою жратву съели на территории заказчика.

Каждый выходной - сверхурочные работы с 6-7 утра до 20 вечера. И непонятно: отдыхаешь ты от будней или становится еще хуже. Дали задачу: ускорить появление меню архивации для пользователя (желательно, мгновенно). Начальство говорит "укороти SQL-запрос - и все". Но начальство не знает исходников. Весь модуль оказался заточен на полноту информации, получаемую за единицы-десятки минут при старте модуля (какой долбоящер писал этот модуль?). Простая работа обернулась 30 часами мозговыноса (по 14 каждый выходной и 2 от ПТ). Чтобы понять, что случилось, прямо свои комментарии из него и вырежу.

"
При тестировании данного модуля, до внесения необходимых изменений для ускорения выдачи меню пользователю, были обнаружены проблемы.
Тестирование проводилось путем архивации данных, восстановления данных, архивации данных еще раз (на этом остановился, т.к. получил логические ошибки):
- при архивации методом копирования или архивирования - получаемые архивы идентичны по размеру и MD5;
- но если сделать архивирование, а потом восстановление из архива, - размер БД SQL становится чуть больше (на ~18КБ при дампе в 3.57ГБ).
    Вторая архивация (после восстановления) тех же объектов приводит к уменьшению размера архива относительно первичного (на ~3КБ при архиве 5.87ГБ).
    Также иногда наблюдается неизменность размера дампа БД - но при этом его контрольная сумма меняется. Оставил ПК в простое на несколько часов - дамп изменился. Что-то скрытно изменяет что-то в БД.
        Оказалось - сама команда снятия дампа изменяет содержимое дампа при неизменной БД SQL.
С учетом того, что нет времени при типовых испытаниях разбираться еще и с этим, - ускорил выдачу меню пользователю, получив точно такие же цифры при архивировании, восстановлении и повторном архивировании (размеры+MD5 архивов и размер дампов SQL, получаемых командой "pg_dump -U postgres -d base_sql -Fc > /home/belov/media/share/sql.sql").
    Также наблюдается полное соответствие выходных данных (пример из 128 объектов по 40 разветвлений) до архивации и после модернизированного восстановления. Все файлы (помимо 2 файлов title.txt: разные номера контейнера объектов) - дубликаты: сравнение Total Commander.
Потребовались отдельные функции успешной доставки object.record_map, теряемую по непонятным причинам при ускоренной загрузке объектов.
    При этом object.id_map при ускоренной загрузке объектов есть - но его недостаточно для успешного подтягивания названия карты, что непонятно.
    Стандартные функции во время типовых было менять стремно, хоть и рационально.
Резюмируя: с одной стороны, все работает корректно, - с другой, какого хрена меняются размеры архивов и дампа еще до моего вмешательства.
"

Следствием всего этого добра стало расшатывающееся здоровье (но только расшатывающееся):
- потенциальный приступ аппендицита. Удалось раскрыть сфинктер закупоренного аппендикса и вывалить из него все дерьмо (аппендикс дерьмо в себе хранит, если что) одним варварским научным способом прямо на территории заказчика (и прям чувствуешь, как аппендикс опустошается). О котором не напишу здесь: уж очень опасен, и использовал только при знании особенностей именно своего организма. А так, дергающие боли аппендикса были периодическими и положительными, синдром Мак-Берни - условно-положительным, псоас-синдром - положительным;
- недосып и перегрузки привели к тому, что практически заболел, - но каким-то чудом восстанавливаюсь во время полученного из-за этого отгула. Собственно, поэтому этот текст сейчас и пишется: выспался, наелся, просрался, отмылся, простирался, проубирался - и, наконец-то, сожрал половину торта Baker House. А температура 37.6 - это так, мелочь. Завтра снова батрачить - чувствоваться не будет. Хочу медаль за отвагу, вручаемую при выполнении специальных заданий по обеспечению государственной безопасности, сопряжённых с риском для жизни. Только рабам такое не положено...

(добавлено 19.07.2023) Испытания закончились на 1 день раньше (последний день был резервным). Уйти с работы вовремя - бесценно.

Большая вероятность поехать в командировку в Питер на следующей неделе. Обнаружилась ошибка взаимодействия двух комплексов (заказчика не удовлетворил корректный результат, полученный на стыковочных испытаниях). Для его модернизации нужно объединить исходники двух комплексов - а у заказчика это сделать невозможно. Однако эта командировка будет короткой, около 3 дней. Да и бывавшие в Питере и правильной гостинице говорят, что номера просто классные - и больше такого треша как Екатеринбурге не будет.

Причина доработок: заказчик не хочет ждать 20сек, если объект не найден в соседнем комплексе (это время ожидания было записано в протоколе информационного взаимодействия). Соответственно, на одном комплексе нужно формировать мгновенный ответ, а моим комплексом этот ответ корректно отработать. Не исключено, что вся поездка будет из-за одного if'а вида "если длина пакета равна 4294967294 - объекта нет в базе".

Натурные испытания - проходят без участия разработчиков и сторонних организаций. Если не пройдут - влетит всем.

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

(добавлено 02.09.2023) Оказывается, это был только первый этап типовых испытаний. Когда наступил второй - срабатывает везение: людей с 3 формой секретности туда не допускают. А мне как раз вторую и не дали. Ну и ездили люди со второй формой, и не просто корячились - а уезжали в 23, 00 и 01 часы ночи за свой счет из Подмосковья.

В целом, отмечается скотское отношение к исполнителям работ. Человек приехал в часть получать диск с рабочими материалами, в заранее обговоренные день и час. А диск в части не сделали. И сотрудник проторчал весь рабочий день в части в ожидании этого диска. Еле-еле успел вернуться на работу в послерабочее время и положить диск на стол тому, кто будет с диском работать на следующее утро на сверхурочных. Если бы он не передал диск на работу - он передал бы его мне домой - и мне пришлось бы за свой счет переться к зданию работы в субботу, чтобы передать диск другому сотруднику. Потому что мне гораздо проще добраться до рабочего здания, чем тому, кого в часть отправили.
Обновлено ( 18.10.2023 17:27 )
 
 

Последние новости


©2008-2024. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Открыта карта ВТБ для донатов на дорогостоящие эксперименты: 5368 2902 0040 0838.

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru