Сайт сдан, а акт не подписан. Заказчик пишет, что корзина не передаёт заказы в CRM, мобильная версия разваливается, а половины разделов из технического задания нет. Разработчик отвечает, что всё сделано по ТЗ, а остальное — новые пожелания. Спор быстро уходит в общие слова, и вернуть его к фактам можно только так: взять конкретную версию сайта и пройти по пунктам задания, фиксируя условия каждой проверки.
В экспертизе сайта требования из ТЗ, приложений и макетов сопоставляют с тем, как работает исследуемая версия, и по каждому пункту указывают результат. До полного исследования можно получить предварительный прогноз.
В каких спорах нужна проверка сайта по ТЗ
Заказчик описывает, чего не хватает, исполнитель — что сделал. Типичные поводы для проверки:
- заказчик отказывается подписать акт и требует доработок либо возврата аванса;
- заказчик хочет до подписания акта получить независимый перечень расхождений;
- вёрстка расходится с макетами, а на телефоне страницы выглядят иначе, чем было согласовано;
- не работает обещанная интеграция: оплата, передача заявок в CRM, обмен остатками и заказами с 1С, расчёт доставки;
- в панели управления сайтом нельзя сделать обещанное: редактировать блоки, управлять каталогом, разграничить права менеджеров;
- ТЗ задавало требования к скорости, браузерам или SEO-настройкам, а стороны спорят, выполнены ли они;
- по договору заказчику должны были передать исходный код, базу данных и доступы, а передано не всё или не то;
- после сдачи сайт дорабатывал другой подрядчик, и нужно понять, каким сайт был на дату приёмки.
Что эксперт устанавливает и чего не решает
Предмет экспертизы — техническое соответствие исследованной версии сайта конкретным требованиям. Отвечая на поставленные вопросы, эксперт может установить:
- реализована ли функция из пункта ТЗ в исследованной версии и при каких условиях она работает;
- совпадают ли страницы с макетами по измеримым признакам: составу блоков, порядку элементов, виду на заданных ширинах экрана;
- выполняется ли сценарий в браузерах и на устройствах, перечисленных в задании;
- передаёт ли сайт данные во внешнюю систему в оговорённом формате и что происходит при ошибке обмена;
- что входит в архив, который признан переданным, есть ли в нём исходные тексты и запускается ли из него сайт;
- чем различаются версии сайта, если сохранились копии, история репозитория или журналы развёртывания;
- какие требования проверить нельзя и почему.
По каждому условию вывод бывает одним из четырёх: соответствие подтверждено в проверенных сценариях и средах; выявлено расхождение; проверить нельзя, потому что у требования нет проверяемого содержания; проверить нельзя, потому что не хватает версии, материалов или доступа. Если расхождение не воспроизвелось, это значит лишь, что его нет в проверенных сценариях: утверждать, что функция работает при любых условиях, эксперт не может.
Нарушил ли разработчик договор, существенны ли недостатки, должен ли заказчик платить и каков размер убытков — вопросы правовые, ответ на них даёт суд по всем доказательствам. Вопросы об объёме и стоимости работ по разработке сайта можно поставить в той же экспертизе, сделав её комплексной: денежные величины рассчитывает эксперт-экономист или оценщик. Если же задание не даёт критериев и спорят о том, пригоден ли сайт к работе, в ту же экспертизу ставят вопросы о воспроизводимых дефектах, совместимости, производительности и работоспособности сайта.
Требования без проверяемого содержания
Во многих ТЗ на сайт встречаются слова «современный дизайн», «удобная навигация», «стильно». Это оценки, а не требования: без измеримого признака эксперт их не проверяет и не подставляет собственный вкус вместо договорённости сторон.
Технические термины — другое дело. У «адаптивной вёрстки» есть общепринятое минимальное содержание: страница перестраивается под ширину экрана, на узком экране нет горизонтальной прокрутки и текст читается без масштабирования. Эксперт проверяет такое требование, называет источник, по которому определил его содержание, и даёт вывод с этой оговоркой. Часто критерий находится и в другом документе: в приложении перечислены ширины экрана, к ТЗ есть мобильные макеты, в протоколе названа метрика скорости. Лучше, если редакцию требований назовёт суд в определении; это можно предложить в ходатайстве. Если суд её не определил, а стороны спорят, стал ли критерий из переписки частью договора, вывод дают в двух вариантах.
Какую версию сайта сравнивают с заданием
Самая частая ошибка — сравнивать с ТЗ сегодняшний сайт. За месяцы после сдачи сайт могли доработать или обновить его CMS — систему управления сайтом, — а внешний сервис оплаты мог поменять протокол обмена. Дефект, найденный сегодня, не обязательно был на дату приёмки, и наоборот.
В судебной экспертизе исследуемую версию указывает суд. Если стороны спорят, какая копия была принята по акту, эксперт исследует каждую из переданных ему и описывает различия, а какую считать принятой, определит суд. Во внесудебном исследовании версию называет заказчик, и в заключении указывают, откуда она получена. Опознать версию помогают:
- архивы, приложенные к акту, и их контрольные суммы;
- история репозитория — хранилища кода — с датами изменений и метками выпусков;
- резервные копии файлов и базы данных у хостинг-провайдера;
- журналы развёртывания и сведения панели управления хостингом;
- сохранённые копии страниц и записи экрана, сделанные при приёмке.
Даты в истории репозитория записывает компьютер разработчика, их можно изменить, а автором можно указать кого угодно. Поэтому их сверяют с журналами сервера репозитория (если он их ведёт и они ещё хранятся), развёртывания и копиями хостинга и указывают, насколько надёжно удалось датировать версию. Веб-архивы сохраняют вид отдельных страниц, но не работу форм и не панель управления, а стили и картинки часто сохранены не в тот день, что текст. Если нужной версии нет, вывод ограничивают тем, что подтверждают уцелевшие источники.
Как сохранить сайт до экспертизы
Первым делом проверьте, на кого оформлены хостинг, домен и репозиторий и до какой даты они оплачены: неоплаченный хостинг через какое-то время удалит сайт вместе с историей. Затем сохраните то, к чему у вас есть законный доступ:
- резервные копии, которые хостинг уже хранит, — прежде всего ближайшие к дате акта, пока хостинг не удалил их по расписанию (скачивайте, не перемещая и не удаляя на хостинге);
- журналы веб-сервера и сайта, журналы обмена с CRM и 1С, журнал отправки писем с форм, историю платежей из личного кабинета платёжной системы — их хранят ограниченный срок;
- полную копию репозитория со всеми ветками и метками и журнал событий его сервера — или письменно попросите разработчика сохранить этот журнал;
- архивы, полученные при сдаче, вместе с письмом, к которому они были приложены, или страницей, откуда их скачали;
- записи экрана спорных сценариев — без ввода паролей, без экранов с данными покупателей и без настоящих заказов и платежей.
Перед созданием архива в панели хостинга проверьте, хватит ли на хостинге места: переполнение остановит сайт и почту. Готовый архив не оставляйте в каталоге сайта, доступном из интернета, — в нём персональные данные покупателей и пароли из настроек. Скачайте его на защищённый носитель и удалите с хостинга. Если этап принимали на тестовом стенде разработчика, письменно попросите сохранить стенд без изменений. То, чего у вас нет, после начала процесса можно попросить суд истребовать.
Контрольная сумма SHA-256 — «отпечаток» файла: изменится хоть один байт, изменится и сумма. Её считает тот, кто снимает копию, сразу при снятии, а разработчику сообщает, когда сняты все копии и его доступ к хостингу и панели сайта ограничен, или вписывает в акт: с этого момента по сумме можно проверить, что копия не менялась, а сумма, оставшаяся только у вас, этого не подтверждает. Время на записи экрана берётся из часов вашего компьютера; закрепить дату помогают фиксация содержимого интернет-страниц и нотариальное обеспечение доказательств, к которому можно прибегнуть и тогда, когда дело уже в суде.
Если сайт взломан, смена паролей доступ не закрывает: внедрённый код паролей не требует. Найдены чужие файлы, перенаправления или вставки на странице оплаты — сайт сразу закрывают заглушкой средствами хостинга, веб-сервера или DNS, не правя файлы сайта: перенаправления часто прописаны в .htaccess и index.php. Если иначе нельзя, изменяемые файлы сначала копируют с сохранением дат. Пароли и ключи меняют с чистого устройства, пароль к базе — вместе с настройками сайта; список пользователей выгружают до того, как отключить чужие учётные записи. Хостинг просят не «лечить» и не удалять файлы автоматически, а резервную копию не разворачивают поверх взломанного сайта, пока не сняты копии файлов, базы и журналов; каждое действие записывают со временем. Если установлен факт неправомерной или случайной передачи (предоставления, распространения, доступа) персональных данных, повлёкшей нарушение прав людей, оператор уведомляет Роскомнадзор: в течение 24 часов с момента выявления — об инциденте, в течение 72 часов — о результатах внутреннего расследования.
Как сопоставляют сайт с пунктами ТЗ
Результат работы — таблица соответствия. Каждый пункт задания раскладывают на проверяемые условия; для каждого из них указывают источник требования и его редакцию, сценарий проверки, среду (браузер, устройство, роль пользователя, тестовые данные), фактический результат и вывод. В заключении перечисляют программы и их версии, исходные данные и шаги, чтобы другой специалист мог повторить проверку.
На рабочем сайте выполняют только сценарии, которые не меняют данные. Заказы, оплату, загрузку товаров проверяют на копии сайта или тестовом стенде, а любую восстановленную копию запускают только в изолированной среде, закрытой от посторонних: без доступа к рабочим системам, с отключёнными обменами с CRM и 1С, отправкой почты и SMS и фоновыми заданиями, с тестовыми ключами платёжного сервиса. Иначе тестовый заказ попадёт в настоящий учёт, а покупатели получат письма с копии. Проверку рабочего сайта эксперт фиксирует записью экрана, сетевым журналом браузера и сведениями о версии. В гражданском и арбитражном процессе стороны вправе присутствовать при экспертизе, если это не мешает работе эксперта, поэтому он заранее извещает всех участников о времени и месте проверки.
Вёрстка и макеты
Сравнение с макетом имеет смысл, когда понятно, какой макет взят за эталон: файл в Figma, PDF, приложенный к акту, или ссылка из письма с согласованием. На бесплатных тарифах Figma история версий хранится ограниченное время, поэтому согласованное состояние лучше сразу сохранить — копией файла в своём аккаунте и в PDF. Эксперт сопоставляет состав и порядок блоков, сетку, шрифты, цвета, вид элементов при наведении и при ошибке в поле формы на ширинах экрана, заданных в ТЗ. Попиксельное совпадение проверяют, только если оно было условием: макет рисуют с текстами-заполнителями, и с реальным контентом страница выглядит иначе. Различия из-за контента, который заказчик загрузил сам, отделяют от расхождений вёрстки.
Браузеры и устройства
Если ТЗ перечисляет поддерживаемые браузеры и устройства, каждый сценарий выполняют во всех перечисленных средах, записывая версии; ключевые сценарии, проверенные в эмуляторе браузера, повторяют на реальных устройствах. Если перечня нет, эксперт выбирает браузеры по критерию, который называет в заключении, — например, по их доле на дату приёмки; ошибка в таком браузере — наблюдение, а не расхождение с ТЗ.
Панель управления и CMS
Эксперт проверяет роли и права, редактирование разделов и каталога, загрузку товаров, работу модулей, перечисленных в ТЗ, — на копии, если проверка меняет данные. Если задание требовало определённой CMS или её редакции, устанавливают, какая работает на сайте и какие сведения о лицензии видны в системе.
Формы, оплата и интеграции
Сайт может правильно сформировать запрос, а внешняя система — отклонить его из-за своих настроек. Поэтому проверяют, что именно отправляет сайт, в каком формате и как он обрабатывает ответ, а работу на стороне CRM, 1С или платёжного сервиса — при доступе к их тестовой среде или журналам. Без такого доступа вывод ограничивается поведением сайта. Если внешний сервис после сдачи поменял протокол обмена, это отделяют от свойств исследуемой версии. А если обмен работал и потом перестал, ищут причину сбоя по журналам за период до и после остановки.
Скорость, SEO-настройки и доступность
Требования к скорости проверяемы, если названы метрика, порог и условия: какая страница, какой тип соединения, с кешем или без. Замеров делают несколько; если порог задан баллом сервиса оценки скорости, фиксируют версию инструмента. Влияние хостинга и скриптов, добавленных после сдачи, учитывают отдельно. SEO-требования проверяют по тому, что настраивает разработчик: метатеги, карта сайта, файл robots.txt, адреса страниц, перенаправления, микроразметка. Позиции в поиске и посещаемость мерилом соответствия ТЗ не служат, если стороны прямо не договорились об этом. Требования к доступности для людей с инвалидностью проверяют, когда ТЗ называет стандарт или конкретные признаки: подписи к изображениям, управление с клавиатуры, контрастность.
Исходный код, доступы и домен
Был ли архив передан и что должно было в него входить, устанавливают по акту и договору. Эксперт описывает содержимое архива, который признан переданным или направлен ему судом, и проверяет две разные вещи. Первая — запускается ли из комплекта сайт и какие сценарии в копии работают; это не доказывает полноты: фоновые задания и редкие модули могут отсутствовать незаметно. Вторая — переданы ли исходные тексты: архив с хостинга часто содержит только собранные файлы оформления и скриптов, и сайт из него развернётся, но дорабатывать его нельзя. Поэтому проверяют, можно ли из переданных исходников заново собрать работающие файлы, и, если есть доступ к рабочему серверу, сверяют переданный код с работающим. Если развернуть не удаётся, эксперт устанавливает, почему: не хватает компонента или нужна другая среда. Администратора домена показывают данные регистратора, в том числе по запросу суда.
Изменения требований по ходу разработки
Редкий сайт делают строго по первой редакции ТЗ. Требования меняются в дополнительных соглашениях, письмах, задачах трекера и комментариях к макетам. Эксперт выстраивает эти изменения по датам и сопоставляет их с версиями сайта: какое требование действовало, когда собирали исследуемую версию.
Какие изменения стороны согласовали в порядке, предусмотренном договором, решает не эксперт. Если, например, исполнитель ссылается на письмо, в котором заказчик отказался от личного кабинета, а тот считает письмо не имеющим силы, пункт проверяют в обоих вариантах. Позднее требование не применяют к более ранней сборке, а задачу в трекере не считают согласованной только потому, что она там есть.
Какие материалы понадобятся
Точный комплект определяют после уточнения вопросов, но почти всегда нужны:
- договор, ТЗ со всеми приложениями и редакциями, дополнительные соглашения;
- макеты и документ, которым их приняли, — письмо, протокол, отметка в сервисе для работы с макетами;
- акты, замечания заказчика и ответы исполнителя, протоколы тестирования;
- адрес сайта и тестового стенда, архивы сборок, доступ на чтение к репозиторию или его копия;
- учётные записи для проверяемых ролей — созданные специально для экспертизы, а не рабочие пароли сотрудников;
- описание спорных сценариев: что нажимали, что ожидали увидеть, что получили.
В базе интернет-магазина почти всегда есть персональные данные покупателей, поэтому до передачи копии договариваются о канале, сроке хранения и о том, как копию вернут или уничтожат. Без макетов нельзя сравнить вёрстку, но можно проверить функции; без доступа к CRM нельзя подтвердить приём заявки, но можно установить, что сайт её отправил. Если судебная экспертиза уже назначена, недостающее эксперт запрашивает через суд, а не получает напрямую от стороны.
Предварительный прогноз
Работа может идти в три этапа, и второй — по желанию. Первый — бесплатный организационный разбор: какой вид исследования нужен, есть ли явные пробелы в комплекте, каковы ориентировочные срок и стоимость; по существу материалы на этом этапе не изучают. Второй — платная консультация: специалист изучает ТЗ, макеты и доступную версию сайта по нескольким ключевым пунктам и в письменном ответе даёт предварительный прогноз — наиболее вероятный результат, насколько он определён и что может его изменить. Условия и стоимость консультации согласуют заранее. Третий — полное исследование с заключением.
Прогноз бывает неблагоприятным. Он может показать, что спорные пункты ТЗ не дадут однозначного ответа или что версию на дату приёмки восстановить нельзя. Узнав это до суда, можно изменить вопросы, найти недостающие копии или пересмотреть позицию.
Если вы собираетесь предложить нас суду в качестве экспертного учреждения, скажите об этом до консультации. Для ходатайства достаточно информационного письма: возможность исследования, кандидатура эксперта, нужные материалы, ориентировочные срок и стоимость. Консультация по существу и прогноз для одной стороны могут дать другой стороне основание заявить эксперту отвод. Если судебная экспертиза уже назначена, эксперт частного прогноза сторонам не даёт и не обсуждает с ними объект — всё идёт через суд или другой назначивший экспертизу орган.
Примеры вопросов на экспертизу
При судебной экспертизе окончательный круг вопросов определяет суд, в иной процедуре — назначивший экспертизу орган. Эксперт отвечает в пределах специальных знаний и представленных материалов и не меняет поставленные вопросы по своей инициативе. Если вопрос неясен, выходит за пределы компетенции эксперта или материалов недостаточно, эксперт сообщает об этом в порядке, установленном процессуальным законом.
До назначения стороны могут предложить суду свои формулировки. Объект и эталон в вопросе называют по реквизитам — имени файла, контрольной сумме, листу дела, номеру приложения, — а не словами «принятая версия» или «утверждённый макет»: это оценивает суд. Для вёрстки указывают ширины экрана. Широкий вопрос о соответствии всему ТЗ лучше разбить на группы требований, иначе исследование растянется на сотни пунктов, многие из которых никто не оспаривает. Примеры формулировок:
- Реализованы ли в версии сайта, содержащейся в архиве «…» (SHA-256 …, т. …, л. д. …), функции, предусмотренные пунктами 4.1–4.6 технического задания?
- По каким из перечисленных пунктов ТЗ соответствие исследованной версии подтверждено в проверенных сценариях, по каким выявлено расхождение и по каким представленных материалов недостаточно для вывода?
- Соответствуют ли страницы каталога и карточки товара макетам из приложения № … к договору на ширинах экрана, указанных в этом приложении, и в чём состоят различия?
- Выполняется ли сценарий оформления заказа в браузерах и на устройствах, перечисленных в ТЗ?
- Передаёт ли сайт данные заявок во внешнюю CRM в формате, предусмотренном спецификацией интеграции, и как он обрабатывает ошибку передачи?
- Позволяет ли панель управления сайтом выполнять действия, перечисленные в разделе ТЗ о ролях и правах пользователей?
- Каковы значения показателей скорости загрузки указанных страниц при условиях измерения, установленных в ТЗ?
- Какие файлы содержатся в архиве «…», есть ли в нём исходные тексты, из которых собираются файлы работающего сайта, и выполняются ли в развёрнутой из него копии сценарии, перечисленные в ТЗ?
- Различаются ли копии сайта из архивов «…» и «…», представленных истцом и ответчиком, и если да, то в чём?
- Какие изменения внесены в код сайта после указанной даты и под какими учётными записями они отправлены в репозиторий и на сервер?
Учётная запись и IP-адрес показывают, от чьего имени и с какого сетевого адреса пришло соединение, но не то, кто сидел за компьютером и с каким намерением. Нарушил ли исполнитель договор, по чьей вине сорваны сроки, существенны ли недостатки и делают ли они результат непригодным для предусмотренного договором использования, оценивает суд, опираясь в том числе на таблицу соответствия.
Судебная экспертиза, заключение специалиста, рецензия и консультация
Судебную экспертизу назначает суд, как правило, по ходатайству стороны. В арбитражном процессе — по ходатайству или с согласия сторон, а по своей инициативе — в случаях, прямо указанных в законе, например для проверки заявления о фальсификации, для дополнительной или повторной экспертизы. Поэтому, если экспертиза нужна для вашей позиции, заявите ходатайство сами и предложите в нём экспертную организацию и вопросы; выбор остаётся за судом. Материалы эксперт получает от суда, заключение направляет туда же, а для ответов на вопросы его могут вызвать в судебное заседание. Порядок оплаты определяет суд; обычно деньги вносят на его депозитный счёт.
До суда или уже в ходе процесса сторона может заказать внесудебное исследование у специалиста; объекты для него передаёт заказчик. В гражданском деле заключение специалиста представляют как письменное доказательство, в арбитражном — как иной документ; суд оценивает его вместе с другими доказательствами и вправе назначить по тем же вопросам судебную экспертизу. В уголовном деле заключение специалиста — его суждение по вопросам, поставленным сторонами; если для ответа нужно исследовать объекты, назначают судебную экспертизу. В деле об административном правонарушении его можно представить как иной документ. Если в деле уже есть заключение, которое кажется вам ошибочным, проверить его метод и обоснование поможет рецензия на заключение экспертизы сайта.
С заключением специалиста или рецензией сторона может ходатайствовать о приобщении документа к делу, о назначении экспертизы, о вызове эксперта для пояснений, о дополнительной или повторной экспертизе. Удовлетворить ли эти ходатайства, решает суд, и исход спора ни один из документов не предрешает.
От чего зависят стоимость и срок
Ориентиры такие: судебная экспертиза — от 100 000 ₽ и от 10 рабочих дней; внесудебное исследование — от 100 000 ₽ и от 10 рабочих дней; рецензия — от 80 000 ₽ и 10 рабочих дней; консультация — от 20 000 ₽, обычно 2–3 рабочих дня.
Точная цена и срок зависят от числа пунктов ТЗ и сценариев, количества сравниваемых версий, от того, нужно ли разворачивать копию из архива, проверять интеграции и повторять сценарии на нескольких устройствах. Если оставить в вопросах только спорные пункты, исследование станет заметно дешевле и короче. Цена определяется объёмом работы, а не тем, чью позицию подтвердит результат.
Для оценки задачи позвоните по номеру 8 (800) 333-24-09: назовите спорные пункты ТЗ и скажите, сохранилась ли версия сайта на дату акта.
Проведение экспертизы по уголовному делу
Судебная экспертиза по уголовному делу производится государственными судебными экспертами и иными экспертами из числа лиц, обладающих специальными знаниями.
Согласно постановлению Пленума Верховного Суда Российской Федерации от 21 декабря 2010 г. № 28 «О судебной экспертизе по уголовным делам», негосударственными судебно-экспертными учреждениями признаются некоммерческие организации, созданные на основании Гражданского кодекса Российской Федерации и Федерального закона «О некоммерческих организациях» и ведущие судебно-экспертную деятельность согласно своим уставам.
По сведениям организации, проведение судебных экспертиз предусмотрено её уставом (см. действующую редакцию в разделе «Документы организации»). Это само по себе не означает автоматического поручения любой экспертизы. Возможность поручить конкретное исследование определяет назначающий орган.
В случаях, перечисленных пунктом 5 постановления № 28, когда экспертизу по уголовному делу назначает суд, ему следует мотивировать в определении или постановлении поручение исследования учреждению либо конкретному лицу. Пункт 5 постановления № 28 связывает выбор негосударственного учреждения с невозможностью провести исследование в государственном учреждении, обслуживающем соответствующую территорию: например, из-за отсутствия нужного специалиста, материально-технической базы или специальных условий, либо с отводом компетентных государственных учреждений. Дополнительно учитываются квалификация эксперта, основания для отвода и действующий перечень экспертиз, выполняемых только государственными судебно-экспертными организациями.