Pull to refresh

Comments 2

Имхо, проблема идеи полной замены ручного тестирования на автотесты в том, что никто не готов полностью и на всех уровнях ставить задачи формально и так же формально их исполнять. Начиная от процессоров (!) и операционной системы, заканчивая JS кодом который вертит колесико отправки сообщений в чате в вебвью приложения. В этом случае уже возможно написать требования к системе в том виде, чтобы их выполнение соответствовало безопасности, а невыполнение — возможным уязвимостям.


Например, капчи ("Если взять ту же форму на сайте, то обязательно нужно сделать капчу, чтобы запретить перебор пароля.") вообще не приводят к запрету перебора пароля, но находится разработчик, который реализует авторизацию и думает что-то вроде "Блин, чтобы ввести пароль 10 раз, я искал автобусы 5 раз, как же я задолбался, никто в здравом уме не будет перебирать пароль тут", поэтому он считает, что этого достаточно. Например, дофига популярных приложений не смогли настроить защиту от перебора паролей и авторизационных кодов так, чтобы данные пользователей были защищены.


Другой пример: непонимание разработчиками и безопасниками функционирования систем, которые связаны с их сервисами. Сколько безопасников (я не говорю о разработчиках, это вообще почти нереально) знают, как работает телеком в их стране (а если говорить о компаниях, работающих в нескольких странах, там вообще ад), какие есть актуальные проблемы и уязвимости? Кто из операторов дырявый, у кого текут СМС и звонки, чьих сотрудников можно подкупить за меньшие деньги, чем принесет взлом одного аккаунта в этом сервисе? Кодер радостно бежит к менеджеру и говорит, что нашел способ сэкономить деньги, безопасник кивает головой, так как не знает, в чем проблема их решения, а злоумышленник говорит "спасибо" и забирает аккаунт. Думаете, это глупые разработчики в мелких конторах? Нет, это Яндекс и ВК (эти красавчики вообще перепрыгнули из одной реализации уязвимой системы в другую), крутые олимпиадники и гении. Есть смысл покрывать кучей тестов систему, если из нее вылетает СМС и влетает на сервер хакеру, а не бедной жертве мобильного оператора? Кто знает…


Более того, в таких ситуация куча автотестов расслабляет безопасников и разработчиков, какой смысл думать, когда умная программа покажет зеленые галочки на миллионе проверок? Если при этом не объяснять всем, что это значит, команда постепенно превращается в самоуверенный элитарный клуб, который все сам знает и ни в чем не нуждается.


И еще один актуальный вопрос, насколько сложно компании нанять внешнего эксперта, если возникают сомнения? Или своим можно легко фигачить стотысячные премии, но для найма внешнего эксперта приходится проводить невероятно сложные бухгалтерские схемы? И может ли разработчик, если он сидит в сомнениях, прийти к кому-то в компании и сказать "Знаете, я не уверен, что могу реализовать вот этот функционал безопасно, он слишком сложный и комплексный, возможно ли привлечь помощь и консультации?" Сколько существует компаний, где после этого его не обвинят в тупости ("Еще и мидлом назвался, клоун, е-мое, сам не смог, сказал, что сложно") и не порежут премию за невыполнение плана? И он напишет, что смог, и будет сидеть с мыслями "Я хоть и мудак, но не дурак, премия карман греет, а конфликты с менеджером — нет". А если покрыть этот код тестами и руководствами компании, то и мудаком можно себя не считать.

Sign up to leave a comment.