- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Коллеги, добрый день.
Я за советом к опытным программерам, тим-лидам или просто успешно управляющим командами с веб-разработкой.
-
Систематически возникает следующая проблема:
1) Программисты внедряют что-то на сайт - например новую категорию на сайте (или правки по старой категории).
2) Проверка внедряемого (собственно по поставленному ТЗ) не выявляет каких - либо проблем.
3) В местах, которые согласно ТЗ не были затрагиваемы проверяющим начинаются проблемы. Отвалилось что-то здесь, что-то там. Что-то еще появилось там где не должно было и так далее.
В результате получается, что задача проходит проверку, но полученный результат, если что-то слетело просто катастрофичен.
-
Есть несколько напрашивающихся "простых" вариантов решения:
1) После любой правки проверять все.
- Катастрофически нерентабельно с точки зрения ресурсов. Можно сократить время проверки знанием условно "глобальных переменных", которые участвуют не только в проверяемом разделе, но и в других. И таким образом проверять только те места, где еще участвует эта глобальная переменная. Но проблема в том, что зачастую нет данных о том, переменная глобальная или нет (если касается веб-сайта). То есть нет понимания, что конкретно это меню выводится не только в этом разделе, но еще и в другом месте. В общем и целом путь нерентабельный как я его вижу. И непонятно кто должен отвечать за эту проверку (чьи ресурсы уйдут на проверку) - программиста или специалиста, который проверяет задачу. Т.к. проверяющий свою задачу должен только ее и проверить, а не все вокруг.
-
2) Дать на "ковровую проверку" всем заинтересованным участникам.
- То есть после выкладывания правок - просить всех заинтересованных "потыкать проект". В то время как это довольно логичное решение - оно не полное. Во первых нет спецификаций "потыканья". Во-вторых это не "задача" как таковая без спецификаций - это надежда на авось что "кто-нибудь что-нибудь найдет", а если нашлось потом, то "ну вы плохо ж тыкали". Это не совсем квалифицированная постановка задачи как я ее вижу.
-
3) Сложный механизм учета всех глобальных переменных до начала работ. Требует полного понимания программистом проекта до начала каких-либо работ (или же системы, которая будет "светить" об изменениях в конкретных местах проекта для учета). Слишком нерентабельно - требует огромного подготовительного периода, чтобы "что-то делать" - да и мне кажется так происходит только в случае если вся разработка была на одной команде. Если то один то другой подрядчик выполняет над проектом какие-то работы, то понять на этапе первых правок "что за что завязано" может быть крайне сложно. Если добавить сюда умельцев, которые делают мега-костыли, которые убивают собственно иерархию проекта, то путь вообще в никуда.
-
В общем проблема меня задолбала. Программисты, к которым я обращаюсь - разводят руками - "так все делают" - и либо одна правка вызывает 3 дополнительных косяка - либо тратят тонну ресурсов на перепроверку.
На форуме есть эксперты и опытные специалисты в боевых задачах - я взываю к вам, может быть вы нашли решение для избежания этой проблемы, когда программисты дай бог на 10 решение генерят 2 косяка и их надо исправлять. Но иногда программисты на 1 решении генерят 3 дополнительных проблемы. И это уже ну совсем плохо.
-
Вопрос:
Как правильно этот вопрос менеджерить?
Как правильно подготовиться к изменениям и внедрениям заранее?
Что предусмотреть, чтобы это было не слишком ресурсозатратно?
.
Спасибо
Программист -> тестировщик -> выкатка на боевой
Что то вы упустили в этой цепочке
Программист -> тестировщик -> выкатка на боевой
Что то вы упустили в этой цепочке
Тестировщик тестирует по тому заданию, которое поставлено. И там все ок.
А летит то, что находится вне ТЗ. Потому что никто не планирует, что полетят те вещи, на которые ТЗ не стоит.
О том, насколько реально проверять "все всегда и подряд, даже если это не относится к ТЗ" п.1 моего решения
Shlackbaum, чтобы таких косяков не было, нужно, чтобы одна команда вела проект с начала и дальше. А если заказывать проект у одних разработчиков, потом подгонять "под себя" у других, а потом заказывать надстройки у третьих - так и будет. Или внедрять какой-нить гит, документирование связей, и т.д., и т.п.
Или внедрять какой-нить гит, документирование связей, и т.д., и т.п.
Так то дорого, противно и неинтересно. Вот и мучаются 🤪
Как вариант автоматические тесты написать, как минимум на жизненно важный функционал.
koketkade, жопа...
сделать менее связанные сущности, писать и гонять автотесты, нанять архитектора
Либо надо более качественно понимать, что затрагивает данное изменение, либо тестировать все. В зависимости от того как вам будет проще.
Но первый вариант, как мне кажется, на практике не реален, невозможно сделать так чтобы проект все время поддерживали одни и те же люди, которые все помнят. Можно добиться чтобы дольше поддерживала одна команда, но все равно когда-то она поменяется. Потому мне кажется, что дешевле и правильнее - это автоматизация тестирования.
Shlackbaum, ваша проблема (не лично, а команды) в том, что у вас нет тестирования как бизнес-процесса, да и тестировщиков реально нет: есть "нажимальщики кнопок по расписанным кейсам"
Полностью все расписывать - долго и дорого, а если кратенько, то
- вам нужен нормальный профессиональный тестировщик, который поставит (и будет вести) процедуру сквозного тестирования
- вам (в идеальном случае) придется радикально менять процесс разработки, так как любой правильный test-pipe начинается с unit-тестов... а их правильнее писать тому, кто написал/пишет тестируемые юниты
- после юнит-тестов вам так же по-взрослому необходимо иметь всю цепочку тестов снизу вверх: юнит -> модульные -> интеграционные (где у вас сейчас, судя по описанию, и вылезают нежданчики) -> регрессионные -> производительности -> системные -> функциональные -> юзабилити
Из цепочки может быть исключен "системный" уровень (с осторожностью), если разработка неотчуждаемая и работает в известной стабильной внешней экосистеме. Стресс-тесты, тесты безопасности и тесты локализации (не перечисленные) также идут в категории "вам виднее", хотя любую поделку, которая имеет выход "в мир" и содержит информацию непубличную, я бы через security-тесты прогонял... но это уже - ваша зона ответственности решать, что делать: ограждаться от возможных хаков (неработающая система, утечка данных) или это не является болевой точкой
Самое главное (в идеале) - иметь по всей цепочке на каждом уровне 100% покрытие, чтобы не оставалось "слепых зон". Это долго, это дорого (потому что на чисто ручном тестировании "обезьянами" вы далеко не уедете или вся толпа обезьянок будут зашиваться в куче тестов, а разработка автотестов для автоматического тестирования - это примерно столько же по бюджету, как сам кодинг продукта), но это работающее решение
А скрам-спринты-агилька и прочий дрек - это оформления, это стиль, а не решение. У вас же сейчас - просто бардак, а "бардак автоматизировать нельзя"
Топик не читал, стартпоста осилил только картинку, но ответ (точнее причина) давно понятна:
Соответственно абсолютно логично, что я посмотрю предложения ваших коллег по цеху и отбросив (или даже не отбросив) специалистов, характеристики которых мне не понравятся (портфолио, отзывы и прочее) - я просто выберу специалиста с минимальной стоимостью из предложенных
Какие тут тестировщики, коллеги :)