С днём тестировщика!
Автор: ДмитрийСегодня праздник людей, которые профессионально ломают то, что другие с любовью строили
.
Если вы читаете этот текст и приложение при этом работает — поздравьте ближайшего тестировщика. Именно благодаря этим людям цифровой мир не рассыпается, как карточный домик при каждом втором клике.
Но сегодня поговорим не о подвигах, а о языке. Потому что тестировщики, как настоящие обитатели фэнтезийного мира, придумали себе терминологию, достойную отдельной книги заклинаний.

Возьмём для начала баг (bug — жук). Слово, которое сегодня знает каждый пользователь компьютера или смартфона. И кнопка для отправки сообщения об ошибке часто имеет форму жука. Но мало кто догадывается, что это было самое настоящее насекомое. В 1947 году инженеры, разбираясь с неисправностью компьютера Harvard Mark II, обнаружили внутри мотылька, застрявшего в реле. Грейс Хоппер аккуратно вклеила насекомое в отчёт. По сути, это и был самый первый баг-репорт (bug-report), то есть отчёт об ошибке. С тех пор жуки стали цифровыми, но название осталось.

Дальше начинается настоящая магия. Тестировщики работают с ящиками. Чёрный ящик — это когда ты смотришь на систему снаружи, не зная, что у неё внутри, как путник, стучащийся в ворота замка и понятия не имеющий о том, что творится за стенами. Белый ящик — полная противоположность: ты видишь каждую шестерёнку механизма, каждую строчку кода. Серый ящик — нечто среднее, полузакрытое, полупрозрачное, как туман над болотом.

Есть дымовое тестирование. Звучит почти алхимически, правда? Термин пришёл из электроники: если после включения устройство не задымилось и не загорелось, считай, базовую проверку оно прошло. В программировании это самый первый, самый поверхностный прогон: не рушится ли всё с первой же минуты, запускается ли вообще, не полыхает ли виртуальным огнём при открытии. Если дыма нет — можно копать глубже.

А потом есть исследовательское тестирование, и вот здесь тестировщик окончательно превращается в героя фэнтезийного романа. Никаких карт, никаких заранее написанных сценариев. Берёшь приложение как незнакомый лес и идёшь куда глаза глядят. Тыкаешь, жмёшь, вводишь то, что вводить не следовало бы, пробуешь зайти через чёрный ход, проверяешь каждую тёмную комнату. Это одновременно искусство и интуиция — умение чувствовать, где система слабее всего, где разработчик торопился, где логика дала трещину.

Без всего этого наши приложения, сервисы, игры и рабочие инструменты были бы населены цифровыми жуками куда гуще, чем любое фэнтезийное подземелье. Каждый поход в интернет-магазин грозил бы сюрпризом. Каждое обновление несло бы загадку. Каждая кнопка была бы актом веры.
Так что тестировщики — это не те, кто ищет ошибки. Это те, кто не даёт ошибкам добраться до вас.
С праздником!