Спор возник при приёмке работ по разработке мобильного приложения для электронной торговли. Для суда требовалось определить, соответствует ли переданная программа техническому заданию, и проверить, меняли ли её в обозначенный период. Компьютерно-техническая экспертиза охватывала 9 разделов задания, пользовательские функции, внутреннюю структуру установочного пакета, сведения о сборке и условия обращения к сетевому сервису.
Эксперты компьютерно-технического профиля работали по материалам дела в Москве. Они изучили один цифровой носитель, установочный пакет для Android, техническое задание и документы о сдаче разработки, которые определяли рамки поставленных вопросов. Программный объект развернули в изолированной виртуальной среде, где воспроизводили предусмотренные заданием действия. Этапы проверки фиксировали снимками экрана и сверяли с соответствующими разделами технического задания.
Проверку построили как последовательное воспроизведение функций, перечисленных в техническом задании. В Parallels Desktop 12 эксперты создали виртуальную машину с Android, установили приложение и прошли пользовательские сценарии. Каждый элемент интерфейса они сопоставили с соответствующим пунктом задания, а состав пакета изучили отдельно. Реакцию программы проверяли после каждого перехода между экранами и обращения к онлайн-сервису. Отдельно эксперты проверяли категории, поиск, переходы и порядок формирования заказа.
- Интерфейс — проверка меню, главной страницы и карточки товара.
- Каталог — воспроизведение поиска, сортировки и переходов между разделами.
- Заказ — проверка корзины, оформления покупки и личного кабинета.
- Сборка — анализ ресурсов пакета и служебных данных Crashlytics.
Сборка из переданных материалов разработки отсутствовала, поэтому их связь с приложением проверяли сопоставлением отдельных программных элементов пакета с воспроизводимым поведением установленной мобильной программы. Эксперты распаковали установочный пакет, отделили ресурсы приложения от скомпилированной части и изучили служебные сведения. Для вопроса об изменениях они отдельно анализировали метаданные, которые Crashlytics формировал при сборке Android-приложения.