🟩 Экспертиза мобильных приложений: технический метод доказательства несоблюдения ТЗ

🟩 Экспертиза мобильных приложений: технический метод доказательства несоблюдения ТЗ

Слушай, заказчик, инвестор, юрист или просто человек, который однажды вложил деньги в мобильное приложение, а получил вечно вылетающую, тормозящую, жрущую батарейку и теряющую данные поделку.  Знаешь, сколько к нам приходит людей с одинаковой историей? «Мы заплатили студии N миллионов, прошло полгода, а приложение работает как сырая бета.  Разработчики говорят:  «Это особенности платформы», «У вас телефон кривой», «Обновите прошивку», «Почистите кэш».  И ты сидишь, как дурак, с миллионными убытками и чувством собственного бессилия.  Хватит! Мы, Союз «Федерация судебных экспертов», устали от этого цирка.  Экспертиза мобильных приложений  — это наш тяжёлый артиллерийский снаряд, который мы запускаем по нерадивым разработчикам.  Сегодня будет три реальных кейса, в которых мы разорвали в клочья аргументы «профессиональных» студий и заставили их платить за несоблюдение технического задания.

Глава 1.  Что такое техническая экспертиза мобильного приложения и почему это не «тестирование» 🧩

Ваш штатный тестировщик  (или нанятая контора) проводит функциональное тестирование:  нажимает кнопки, смотрит, работает ли.  Это не экспертиза.  Это поверхностное обтирание.  Инженерная экспертиза мобильных приложений  — это комплексное исследование архитектуры, кода, сетевых взаимодействий, потребления ресурсов, безопасности, соответствия документации и, главное, скрытых дефектов, которые проявляются только при нагрузке или в особых условиях.  Мы не просто говорим «приложение тормозит».  Мы измеряем время отклика API, анализируем утечки памяти, декомпилируем бинарники  (в рамках закона), проверяем, как приложение хранит токены и пароли, и сравниваем реальное поведение с техническим заданием.  И если разработчик обещал загрузку за 1 секунду, а она грузится 10 секунд  — добро пожаловать в суд.  Экспертиза мобильных приложений в нашем понимании  — это комплексная диагностика:  функциональное тестирование, нагрузочные прогоны, статический анализ кода, проверка безопасности, юзабилити-оценка и криминалистический анализ.

Глава 2.  Почему 90% претензий к мобильным приложениям разбиваются о стену «это особенность платформы» 🔍

Типичный газлайтинг от разработчика:  «Это не баг, а фича», «У вас андроид фрагментированный», «В iOS обновили SDK, всё сломалось».  Друзья, запомните:  если в техническом задании  (ТЗ) написано «приложение должно корректно работать на iOS 15+ и Android 10+»  — значит, оно должно работать.  Без исключений.  Если разработчик использовал устаревшие библиотеки или не учел особенности версий  — это его проблема.  Наша экспертиза мобильных приложений фиксирует каждый сбой, каждый ANR  (Application Not Responding), каждую утечку памяти.  Мы создаем чек-лист из 300+ пунктов и проверяем приложение в десятках конфигураций.  И если выясняется, что разработчик сэкономил на тестировании  — он ответит рублем.

Глава 3.  Кейс №1:  Финансовое приложение с «потерянными» транзакциями на 8 миллионов рублей 💸

Фабула:  Банк заказал разработку мобильного приложения для управления инвестициями у крупной студии.  Студия отдала проект с задержкой в 4 месяца, а в продуктиве началось веселье:  транзакции удваивались, а иногда исчезали из истории.  Банк потерял доверие клиентов, общая сумма претензий  — 8 млн рублей.  Студия заявила:  «Это глюки серверной части, не наше приложение».

Что сделали мы:  Получили исходные коды  (по постановлению суда), IPA/APK файлы, логи с серверов, ТЗ и акты приемки.

Методика:

  • Декомпилировали iOS-приложение (через Hopper Disassembler и IDA Pro) и Android  (Jadx, Bytecode Viewer).  Нашли в коде класс TransactionManager, который при сбое сети не ставил транзакции в очередь, а просто терял их.
  • Провели нагрузочное тестирование в эмуляторах с эмуляцией плохой сети (Charles Proxy, Network Link Conditioner).  Воспроизвели потерю 247 транзакций.
  • Проанализировали локальную базу SQLite приложения: она хранила только последние 50 операций, хотя в ТЗ было требование «хранить историю за весь период».
  • Сравнили с требованиями безопасности ЦБ РФ (Положение № 719-П):  приложение не шифровало локальное хранилище, пароли лежали в SharedPreferences в открытом виде.  Критический дефект.

Результат:  Студия признана виновной в некачественной разработке.  Суд взыскал 8 млн рублей убытков, плюс штраф за нарушение сроков  — еще 2.4 млн.  Экспертиза мобильных приложений доказала, что проблема не в сервере, а в кривых руках программистов.

Глава 4.  Кейс №2:  Доставка еды, которая сожрала батарейку за 2 часа 🍕

Ситуация:  Сетевой ресторанный холдинг заказал мобильное приложение для доставки  (iOS + Android).  Заказчики жаловались:  после установки приложения телефон садился за 2-3 часа, грелся как утюг.  Разработчик  (дешевая студия из условного «аутсорса») сказал:  «Это у вас батарейки старые, покупайте новые».  Холдинг потерял 40% пользователей за месяц, убыток оценили в 15 млн рублей  (упущенная выгода).

Наша экспертиза:

  • Провели инструментальный анализ энергопотребления. На iOS использовали Instruments  (Energy Log), на Android  — Battery Historian от
  • Обнаружили, что приложение в фоне (в состоянии background) каждые 2 секунды посылало геолокацию через GPS  (не через Wi-Fi/соты, а именно GPS, самый жоркий режим).  Это было прописано в коде:  requestLocationUpdates(…, 2000, 0, …)  — минимальный интервал 2000 миллисекунд, точность 0 метров  (т.е.  максимальная).  В ТЗ было написано:  «Периодичность отправки геопозиции  — 1 раз в 5 минут только при активном использовании».
  • Декомпилировали код серверной части (бэкенд для приложения)  — нашли, что сервер не проверял флаги активности, просто принимал все запросы.  Это архитектурная ошибка.
  • Провели нагрузочное тестирование: 100 эмуляторов одновременно.  Батарея в тестовом телефоне  (iPhone 12) разрядилась с 100% до 0 за 1 час 53 минуты.

Результат:  Экспертное заключение признано неопровержимым.  Суд взыскал 12 млн рублей реального ущерба и 3 млн штрафа.  Экспертиза мобильных приложений показала, что жадность до геоданных убила бизнес.

Глава 5.  Кейс №3:  Медицинское приложение, которое потеряло результаты анализов пациентов 🏥

Фабула:  Стартап «Здоровье в кармане» разработал приложение для врачей и пациентов  (синхронизация анализов, рецептов, истории болезней).  Через месяц после запуска пациенты массово жаловались:  результаты анализов исчезали из приложения спустя 2 дня.  Врачи не могли вести историю, клиника получила несколько исков на общую сумму 9 млн рублей.  Разработчик заявил:  «Вы неправильно настроили сервер».

Как мы копали:

  • Получили билды приложения (Android APK) и дампы клиентских БД SQLite с устройств  (с согласия владельцев по решению суда).
  • Анализировали код: нашли класс DatabaseManager.java, который при синхронизации с сервером выполнял DELETE FROM results WHERE date < datetime(‘now’, ‘-2 days’).  То есть автоматически удалял записи старше 2 дней.  В ТЗ такого требования не было  — наоборот, было «хранить историю бессрочно».
  • Проверили серверную логику: сервер хранил копию анализов, но из-за бага в API мобильное приложение не загружало старые записи обратно, только новые.
  • Эмуляция: на 10 тестовых устройствах  (разные версии Android 11-14) через 48 часов записи исчезали в 100% случаев.
  • Дополнительно нашли уязвимость: приложение передавало данные пациента в открытом виде через HTTP  (не HTTPS), нарушая 152-ФЗ «О персональных данных».

Результат:  Разработчик признан виновным, суд взыскал 9 млн рублей ущерба.

Глава 6.  Инженерный протокол:  как мы работаем с ТЗ 📋

Анализ соответствия техническому заданию  (ТЗ)  — ядро любой судебной экспертизы по спорам с разработчиками.  Мы не просто смотрим, «есть ли функция».  Мы проверяем:

  • Реализован ли функционал в полном объеме. Часто разработчики «забывают» реализовать часть функций, особенно «неудобные» или ресурсоемкие.
  • Соответствует ли реализация описанию в ТЗ. Например, в ТЗ  — «кнопка должна быть синей», а в приложении  — «зеленой» и в другом месте.
  • Работает ли функция корректно во всех заявленных сценариях. Если в ТЗ сказано «работает при плохом интернете», а приложение падает  — это нарушение.
  • Соблюдены ли нефункциональные требования: производительность, безопасность, нагрузка.  Если в ТЗ написано «время загрузки < 2 секунд», а по факту  — 10 секунд  — это нарушение.

Глава 7.  Какие данные нужны для проведения экспертизы мобильного приложения? 📋

Для проведения полноценной экспертизы мобильных приложений потребуется предоставить комплекс материалов:

  • Само мобильное приложение (установочные файлы APK/IPA или ссылки на магазины).
  • Исходный код приложения (при его наличии и доступе).
  • Техническое задание и договор на разработку.
  • Серверная часть приложения, API-интерфейсы и базы данных (при необходимости).
  • Журналы событий (логи) работы приложения, серверные логи, отчёты о сбоях  (Crashlytics, AppMetrica).
  • Скриншоты и видеозаписи, демонстрирующие проблему.
  • Переписка между заказчиком и разработчиком, связанная с проектом.
  • Определение суда о назначении экспертизы (для судебной экспертизы).

Чем полнее будет пакет документов, тем более обоснованным окажется экспертное заключение.

Глава 8.  Какие вопросы ставит суд перед экспертом мобильных приложений? ❓

Для эффективного проведения экспертизы суд или сторона должны чётко сформулировать вопросы:

  • Соответствует ли функционал мобильного приложения требованиям технического задания (указать дату и номер)?
  • Имеются ли в мобильном приложении критические ошибки, препятствующие его нормальному функционированию или выполнению ключевых задач?
  • Производительность приложения соответствует заявленным в документации требованиям? Если нет, в чём выражается несоответствие?
  • Является ли приложение оригинальным продуктом или содержит блоки кода, элементы дизайна, заимствованные из других источников без указания авторства?
  • Какова стоимость устранения выявленных недостатков и дефектов?

Глава 9.  Эксперт vs.  Тестировщик:  в чём разница? 👨💻

Часто слышу:  «У нас есть тестировщики, они всё проверили».  Тестировщик находит баги.  Эксперт устанавливает юридически значимые факты.  Разница принципиальная:

  • Цель: тестировщик  — найти ошибки и помочь их исправить.  Эксперт  — установить истину и дать заключение для суда.
  • Методы: тестировщик  — функциональные тесты.  Эксперт  — комплексный анализ  (код, логи, безопасность, нагрузка).
  • Ответственность: тестировщик  — внутренняя.  Эксперт  — уголовная  (ст.  307 УК РФ за дачу заведомо ложного заключения).
  • Результат: тестировщик  — отчёт об ошибках.  Эксперт  — заключение, принимаемое судом как доказательство.

Только экспертиза мобильных приложений даёт вам процессуальный документ, который суд обязан рассмотреть как доказательство.

Глава 10.  Заключение 🔏

Экспертиза мобильных приложений является незаменимым инструментом для разрешения судебных споров, связанных с качеством разработки ПО.  Она позволяет заглянуть за пределы интерфейса и увидеть истинную картину:  ошибки в коде, нарушение требований безопасности, несоответствие техническому заданию.  Союз «Федерация судебных экспертов» обладает многолетним опытом, квалифицированными кадрами и современным инструментарием для проведения таких исследований на высочайшем, научно-обоснованном уровне.

Подробнее с услугами по экспертизе мобильных приложений вы можете ознакомиться на нашем официальном сайте:  https://patexp.ru

Похожие статьи

Новые статьи

🟥 Почерковедческая экспертиза расписок

Слушай, заказчик, инвестор, юрист или просто человек, который однажды вложил деньги в мобильное приложение, а получил ве…

🆘 Независимая экспертиза канализационного насоса

Слушай, заказчик, инвестор, юрист или просто человек, который однажды вложил деньги в мобильное приложение, а получил ве…

🆘 Экспертиза электрооборудования

Слушай, заказчик, инвестор, юрист или просто человек, который однажды вложил деньги в мобильное приложение, а получил ве…

🟩 Экспертиза ударного шума: судебный инструмент защиты прав на тишину с применением шумотопательной машины

Слушай, заказчик, инвестор, юрист или просто человек, который однажды вложил деньги в мобильное приложение, а получил ве…

🆘 Допуск к истине: кто имеет право проводить судебную строительную экспертизу

Слушай, заказчик, инвестор, юрист или просто человек, который однажды вложил деньги в мобильное приложение, а получил ве…

Задавайте любые вопросы

4+9=