Как показал небольшой опрос, есть люди, которые были бы не прочь почитать после истории о суровых буднях админа байки про суровые будни простого тестировщика.
Начать мое первое (ну и, дай бог, не последнее) повествование о суровых буднях простого московского тестировщика я бы хотела с чего-нибудь простого и понятного. Но не всегда, увы, желания совпадают с возможностями, поэтому начну я со сложного и заумного.
Бритва Оккама
«Бритва Оккама» - это, как вы, я полагаю, знаете, такой чудесный методологический принцип, который позволяет потенциально свести к минимуму загаживание человеческого межушного нервного узла лишними допущениями. В некоторой степени, ограничение степеней свободы.
Этот принцип применим всегда и везде. Практически без каких-либо исключений. Но пользоваться им отчего-то забывают, поэтому иной раз, когда я гляжу на отечественного производства софт, мне становится как-то не по себе. Как-то дурно. В качестве запоздалого эпиграфа к этой части, хочется здесь вспомнить дивный анекдот - «Я тебя не знаю, но я тебя побрею».
Практически в любой работе действуют два правила – гласное и негласное. Гласное звучит как «Клиент всегда прав», а негласное – «Клиент в первую очередь урод». Прав – потому что он не может быть не прав, если он хорошо заплатит за исполнение своей прихоти. Урод – потому что прихоти подчас бывают такие, что не знаешь, плакать или смеяться. На моей предыдущей работе был период, когда я всерьез задумывалась над тем, что компания пошла по какому-то очень странному и скользкому пути, когда у нас стали появляться проекты, связанные с тюрьмами и моргами. Поскольку компании уже не существует, никакие коммерческие тайны нарушены не будут, если я вкратце расскажу, что почем.
Проект, который съел больше всего моих сил, времени и нервов, заключался в том, чтобы разработать (для меня - протестировать) программное и аппаратное средства для улавливания сигналов мобильных телефонов и последующего их гашения. Собственно говоря, был разработан эмулятор, который кагбэ дает сигнал на различных частотах. К слову сказать, он был непрограммируемый: то есть один раз девелоперы его худо-бедно сконфигурировали, затем бросили на произвол судьбы и его, и меня вместе с ним. Впрочем, врать грешно. Они приложили краткую инструкцию по тому, как настраивать этот эмулятор, но забыли сам эмулятор с ней ознакомить. Посему, он не настраивался и сигналил только на одной исходно заданной частоте. Это был нежизнеспособный придаток №1. Он был не только непонятно для чего вообще сделан, но сделан еще и криво. Нежизнеспособным придатком №2 было очень трогательное приложение, которое вызывало на клиентском компьютере Visio. В нем мы рисовали схему помещения и тыкали не то датчики, которые должны были улавливать сигнал, не то сами источники сигнала. Сейчас память меня, увы, подводит, но уже тогда целесообразность сего вызывала изрядное количество недоумения: во-первых, что мне делать, когда у меня нет Visio? Во-вторых – закономерный вопрос: а что мы, собственно, с этой штуковиной дальше делаем? Ну да ладно, это были мои личные проблемы – разбираться в хитроумном сочленении двух нежизнеспособных придатков и его влиянии на работу непосредственно клиентской части, которая сама по себе была неимоверно проста. Проста настолько, что вызывала у меня едва ли не материнские чувства. Было даже как-то жалко на нее смотреть: функционал был довольно примитивен, но у нее расползался весь интерфейс, а еще она вылетала после каждой второй «прослушки»: хитроумное сочленение нежизнеспособных придатков №1 и №2 сжирало подчистую всю память, хотя виноват был больше Visio, без которого ничего не работало. Сколько я разработчиков ни тормошила, они моментально прикидывались шлангами и уходили в подполье. Они вообще были какими-то редкостными аутистами. Опуская лишние подробности, скажу лишь, что проект сдан не был.
Мораль же у всей этой басни довольно проста: стремление все бесконечно усложнять приводит к плачевным, печальным результатам. Здесь же, однако, была вина разработчиков, это другая история. А песня наша о заказчике.
Стой, стрелять буду!
Представьте себе, что к вам в офис приходит дама… ну, дама. Вся такая – и тут, и там, и сям, и бантик сбоку. Безымянная сферическая гражданка в вакууме. И просит вас разработать для нее рогатку. Эксклюзивно. Обещает денег.
В зависимости от бюджета, вы:
- Берете топор, идете в ближайший лес, там находите дерево, наиболее подходящее вам по форм-фактору и цинично его рубите. Дома потрошите старые трусы на предмет резинки на тяги.
- Берете цельную деревяшку, выпиливаете из нее рогачок. Дома ищете бельевую резинку.
- Находите железный рогачок, жгут и кожаное седло.
- Идете в магазин покупать рогатку по дешевке и продавать за заявленную стоимость.
…Проще говоря, в итоге вы даете заказчице то, что она просила – рогатку.
А заказчица вместо того, чтобы отдать деньги, начинает верещать и едва ли не ломает эту же рогатку о вашу же голову.
Дело у нас в чем? Вот в жизни не догадаетесь. Первая претензия – то, что рогатка не самострельная. Вам доплачивают, вы перерабатываете рогатку так, чтобы она стреляла по нажатию на спусковой крючок. Дальше – у рогатки нет прицела. Дальше – пуля не туда летит. Дальше – не по феншую вообще все. И вы, набрав денег за переработки, разрабатываете мушку, противовес, меняете полностью конструкцию рогатки, и рано или поздно после множественных пертурбаций с обеих сторон, мы приходим к тому, что наша рогатка медленно, но верно превращается в… автомат. И когда уже все сделано точь-в-точь так, как велел заказчик, когда всеми правдами и неправдами мы исполнили все требования, нас этим же автоматом и застрелят на месте. А все потому, друзья мои, что автомат, гадина такая, не помещается в сумочку.
Согласовывая дальнейшие переработки, мы приходим к тому, с чего начали – а именно к рогатке, у которой нет противовеса, мушки, лазерного прицела, стрельбы очередями, режима ночного видения, открывашки для пива и автоподогрева. Заказчица наконец получает то, чего она хотела (ой ли?), и уходит от нас, громко хлопнув дверью, потому что мы сцуко медленные и ничего не умеем делать.
В общем, это опять все лирика. Просто есть ряд вещей, с которыми я никогда не смогу смириться. Тестировщик – работа нервная.
«Ну ты жирная? Жирная. Кучерявая? Кучерявая. Ну и фигле тогда?»
Главный вопрос, который мне чаще всего приходится задавать – «зачем». Зачем, в самом деле, нужны все эти лишние сущности?
Важное и первоочередное – работоспособность основного функционала. Если это телефон – то он должен в первую очередь звонить. Чтобы, когда я звоню Ивану Петровичу, меня не соединяло с тетей Грушей, потому что кнопки «2» и «3» перепутаны местами. Чтобы я, отвечая на звонок, слышала в трубке голос собеседника, а не сбрасывала вызов, потому что опять-таки какое-то сцуко перепутало кнопки. А то, что звонок телефона не поет всеми голосами симфонического оркестра, а пищит на двух-трех нотах, это не ошибка. Он ведь звонит? Звонит. Я собеседника слышу? Слышу. А он меня слышит? Тоже вроде бы слышит. За сим все прекрасно. Фотокамера в телефоне тоже не должна давать на выходе качество, как у лучшей зеркалки. Если она заявлена – ладно, так и быть, проверим. Она снимает? Снимает. Значит претензия не принята. Что, она не снимает? А что вы делаете? Понятно, раз ничего не делаете, то и снимать не будет. Там, знаете, в меню телефона надо пунктик выбрать… Что, вместо снимка черный квадрат? А что вы снимали? А-а-а, Малевича… Ну, это в корне, конечно, меняет дело!
Да, смею сказать, это все рождает во мне нездоровые иронию и скепсис.
В идеале, я вообще не должна задумываться над тем, ЗАЧЕМ и ПОЧЕМУ. Меня должно только интересовать ДА или НЕТ.
У нас была софтина по типу почтового клиента с простейшим (на словах) и понятнейшим функционалом: берем адресата, отправляем ему письмо с архивом и получаем подтверждение благополучной установки содержимого этого архива. Пока она выполняла одну только эту простейшую функцию «отправил-получил», она отлично работала.
А потом ее решили допилить. И, естественно, все сломали. Софт у нас такой, он у нас хитрый. По голове ударишь – шнурки развяжутся. Еще на первой работе, помню, наша ебипетская программистка частенько устраивала нам интересную акцию: за один старый баг мы получали четыре новых. Совершенно безвозмездно. То есть даром.
Так вот, здесь же, к этой же программе прикрутили еще функции сбора лог-файлов, проверки списков отзыва сертификатов, мониторинга, рассылки выписок из единого государственного реестра, а еще мини-холодильник для плавленых сырков и цветомузыку. Тоже, естественно, даром.
Я обросла фейспальмами и выпала в осадок.
На мой справедливый вопрос «Зойчем здесь это фсе?» мне ответили метко, но неприлично. Говоря печатным языком, «эта !@#$ так захотела, ^*&#@ть ее поперек». Разговор на этом был закончен. С разработчиком я в итоге поругалась, потому что (по секрету) он невоспитанный хам, и свитер у него воняет, и с проекта свалила. Теперь пытаюсь бороться с чужим желанием добровольно «допилить» еще пару проектов, в которых я занята. Борьба это тяжелая, обе стороны терпят кровавые потери.
ЧТО хотел сказать автор?
Это вечный вопрос, на который мы никогда не найдем ответа. Что хотел сказать автор?
Почему-то, я так заметила по жизни, автору никто не верит, и если его о чем-то спрашивают, то сами же за него и отвечают и уходят домой довольные, словно конфетку в кармане нашли. А это все потому что авторы, насчет которых все так часто задаются вышеозначенным вопросом, уже столетиями портятся в земле.
А якщо автор ще не вмер? Авторы – это вообще такие ужасные сцуки, которые только и стремятся обмануть уважаемого читателя.
Вы не думайте, в общем, я не такая. Я не буду терзать вас необходимостью в лишний раз задумываться над тем, зачем это все. Это, так скажем, моя личная прихоть, мой личный гайд по тестированию жизни и по тому, как не надо делать. Проще говоря – да, я опять учу всех жить :3
Для тех, кто не смог осилить три страницы простейшего и ненапряжного повествования, short summary: