© Мария Александровна Осина, 2023
© Роберт Азатович Гадеев, 2023
ISBN 978-5-0060-4798-3
Создано в интеллектуальной издательской системе Ridero
Задумывались ли вы, как часто даже опытные тестировщики, изучая новые рабочие инструменты, думают про себя: «Если бы я только знал это раньше…»?
Авторы книги – Мария Осина и Роберт Гадеев – в процессе развития по пути инженеров по тестированию и сами постоянно сталкивались с этой проблемой: если полезная информация по тестированию где-то и есть, то она или разрознена по разным материалам, курсам, учебникам и статьям, или находится под закрытым доступом.
Наше искреннее убеждение заключается в том, что информация хочет быть свободной – так однажды сказал американский писатель Стюарт Бранд на The Hackers Conference в 1984 году, и мы полностью разделяем это мнение. Систематизируя знания, которыми мы сами овладели за время работы в топовых IT-компаниях, мы хотели, чтобы и другие инженеры по тестированию смогли применять полученные умения и улучшать процессы в своих компаниях, и в конечном результате менять целую индустрию к лучшему. Мы снабдили книгу как солидной базой по теории тестирования, так и большим количеством практических примеров из собственного профессионального опыта – теория без практики мертва, практика без теории слепа.
Эта книга предназначена для профессионалов в сфере тестирования и содержит всю самую необходимую информацию об инструментах и лучших практиках, которые использует каждый инженер по тестированию iOS в своей работе. Благодаря этой книге, вы не только лишь сможете начать тестировать значительно быстрее, эффективнее и качественнее, но и повысите свою цену на рынке труда – согласитесь, в такие времена всегда важно владеть самыми актуальными хард-скиллами, чтобы не остаться за бортом IT-индустрии.
В первой главе мы обобщили важнейшие знания и умения, которыми должен обладать любой тестировщик – без этой базы не получится выстроить качественные процессы тестирования в компании и невозможен дальнейший профессиональный рост. Как правильно составлять баг-репорты, чтобы разработчики могли потратить как можно меньше времени на вникание в суть ошибки; как вести качественную тестовую документацию; как подбирать девайсы для тестирования, чтобы не пропустить ни один критический баг, и многие другие навыки и знания вы получите, изучив эту главу.
Инженеры по тестированию также обязательно оценят главу про тестирование на watchOS с уникальным содержанием – несмотря на то, что эта платформа идет рука об руку с iOS, по сей день не было выпущено ни одной книги, в которой были бы представлены методики тестирования приложений на часах от Apple. Также вы узнаете об уникальной методике тестирования RADIUS, которая гарантирует обширное покрытие тестируемой функциональности приложения на Apple Watch, удовлетворенность пользователей, а также своевременное нахождение багов в приложении, что значительно сократит время на тестирование и разработку функциональности, позволив сэкономить финансовые и временны́е ресурсы компании.
Особое место в книге мы выделили инструменту Charles – программе-анализатору сетевого трафика, настоящему «швейцарскому ножу» в области тестирования, которым вы, без сомнения, будете пользоваться буквально каждый день. Мы свели воедино все инструменты, умение пользоваться которыми поможет решать рабочие задачи в разы эффективнее и быстрее.
Опытных тестировщиков, желающих и дальше углубляться в процессы тестирования и релизного цикла в целом, заинтересуют главы про Xcode (главный инструмент разработки и отладки мобильных приложений на iOS, iPadOS и watchOS), инструменты дистрибуции мобильных приложений и постепенной раскатки функциональности. Теоретическая база и значительный опыт, полученный в топовых российских IT-компаниях ВКонтакте и Яндекс, а также в международных компаниях, дает авторам возможность делиться с коллегами самым передовым и обширным опытом в использовании этих инструментов и связанных с ними лучших практиках.
Несмотря на большое количество бесплатных и платных курсов по освоению профессии инженера по тестированию, которые гарантируют освоение компетенций вплоть до уровня middle+ после прохождения трехмесячных курсов, есть кое-что, чему они научить не могут. Существуют некоторые черты характера, благодаря которым работа идет продуктивнее и кажется легче. Для начала попробуем их сформулировать.
Этот список не означает, что без этого хорошим инженером по качеству не стать. Все возможно, просто вам потребуется чуть больше упорства и времени. Джордж Бернард Шоу говорил «То, что мы называем успехом, в действительности является компенсацией всякого человека, который обделен талантом.» Так что в любом случае дерзайте и стремитесь.
Когда идет работа с продуктом, который увидят пользователи, любая ошибка может стоить компании ресурсов. Маленькая ошибка, к примеру, неверно покрашенная кнопка, может повлиять на UX и уводить пользователей не туда, куда его должен вести интерфейс. Критическая ошибка может вообще понести за собой инцидент или стоить кому-то жизни, в такой ситуации умение отстоять отмену релиза или безотлагательное исправление ошибки, умение отметать любой процент риска дорогого стоит. История знает такие случаи.
28 января 1986, мыс Канаверал
Огромное облако в небе появилось после взрыва двух миллионов литров ракетного топлива. На земле в этот момент еще никто не понимал, что произошло. Персонал НАСА был в шоке. Сотрудники еще долго не могли объяснить произошедшее, и только два человека могли адекватно объяснить, что произошло, мало того, они предполагали до запуска, что он может обернуться трагедией. Они оба наблюдали за запуском по телевидению из штата Юта.
Роджер Бойсджоли работал старшим инженером компании «Мортон-Тиоколь», которая выступала подрядчиком по части проектирования шаттла, а также непосредственной разработки твердотопливных ракетных ускорителей. Вместе со своим начальником, Бобом Эбелингом, они находились в офисе компании. Боб позвал Роджера понаблюдать за запуском по ТВ, тот отказался – «Нет, я не хочу на это смотреть». Позже он признался, что отказался потому, что знал, чем это может закончиться.
За день до запуска Боб и Роджер шесть часов по телемосту убеждали инженеров НАСА отложить запуск корабля из-за того, что температура во Флориде опустилась ниже нуля, на что конструкция корабля не была рассчитана. Но топ-менеджмент «Мортон-Тиоколь» не беспокоился об этом. Они разрешили запуск и порекомендовали подопечным не паниковать. В общем, сказали то, что очень хотели услышать их коллеги из НАСА.
В день запуска, 28 января 1986 года Эбелинг все же уговорил Бойсджоли вместе посмотреть запуск. Во время обратного отчета инженеры взялись за руки, но когда они увидели, что шаттл оторвался от стартового стола и начал набирать высоту, они расслабились. «К счастью, пронесло!» – сказал Бойсджоли. Однако их спокойствие длилось чуть больше минуты – на экране показалось огромное белое облако дыма, что нельзя было назвать штатной ситуацией. «Потом настала тишина, – вспоминает Бойсджоли. – Казалось, все в этом мире замолкло. Я пошел в свой кабинет и долго стоял, уставившись в стену, пытаясь прийти в себя…».
Весной 1986 года Роджер выступил свидетелем перед следствием, которое изучало причины трагедии. Его показания обескуражили топ менеджмент «Мортон-Тиоколь», потому что он обнародовал документы, о которых внутри предпочли бы забыть, а снаружи не хотели бы знать. Чуть позже начальство намекнуло ему, что его карьерный путь в этой компании завершен.
Что же стало причиной трагедии «Челленджера»? Конструкторский просчет. Проблемной деталью были резиновые кольца, герметизирующие швы деталей боковых ускорителей. Во время запуска шаттла одно из таких колец вблизи соединения с внешним топливным баком разрушилось. В баке находятся кислород и водород в жидком виде, и когда он разрушился, вещества смешались, и произошел взрыв. Хотя проблема была еще на стартовом столе, при начале работы двигателей стык сегментов разгерметизировался, открыв путь горящим газам вовне. Из-за холодной погоды резиновое кольцо уплотнения уже не было эластичным и не обеспечило изоляцию, как в предыдущих запусках. Утечка прожгла место соединения ускорителя и топливного бака. У шаттла был шанс пережить запуск, потому что продукты горения топлива закупорили пробоину, но сильный порыв ветра выбил пробку, и газ начал бить во внешний топливный бак, пробив его стенку. Никто из персонала не заметил, что работа двигателей изменилась. Когда двигатели включились на полную мощность в верхних слоях атмосферы, ускоритель провернулся на верхнем креплении, ударил по баку, и его содержимое воспламенилось. Сам шаттл разрушился не от огня, а от колоссальных перегрузок в 20 атмосфер, в 4 раза превышающих максимально допустимое значение. Шаттл буквально разорвало, а твердотопливные ускорители продолжили лететь сами по себе.
За год до рокового дня Роджер прибыл на мыс Канаверал, чтобы провести рабочую инспекцию, и уже тогда обнаружил, что эти заслонки могут стать проблемой. Изучая части ракетоносителя, примененные в предыдущем запуске, он понял, что только благодаря второму, страховочному кольцу уплотнителя все произошло без проблем, первое не сработало.
На схеме показано, где началась проблема с повреждением уплотнительного кольца правого твердотопливного ускорителя при старте. Повреждение кольца стало причиной прогорания отверстия в боку ускорителя.
«Ведь тогда только чудом не произошло взрыва», – вспоминал потом Бойсджоли. Свои сомнения он высказал инженерам НАСА, те задокументировали его выводы, однако все было забыто. Пока Бойсджоли пытался добиться от начальства реакции, народу показали экипаж новой миссии «Челленджера», которая полетит следующей зимой. В многонациональную компанию впервые попал гражданский пассажир, учительница Криста Маколифф, которая одержала победу в большом конкурсе, обойдя 11 тысяч других участников.
Запуск шаттла откладывали дважды – сначала он должен был стартовать 25 января, но тем утром была нелетная погода. Во второй раз, когда экипаж занял свои места, персонал НАСА обнаружил, что основной люк не может закрыться из-за сорванной резьбы шурупа, удерживающего ручку люка. Запуск снова отложили. В третий раз, с полудня 28 января на мысе Канаверал начало заметно холодать, и пусковой команде нужна была консультация с инженерами. В шесть вечера после внутренних совещаний НАСА обратились с «Мортон-Тиоколь» с вопросом «Можно ли осуществлять запуск при температуре пять градусов ниже нуля по Цельсию?» Начальство подрядчика подтвердило, однако по регламенту нужно связаться с инженерами космического центра в Хантсвилле, штат Алабама.
Криста Маколифф во время тренировки в условиях невесомости
Те перезвонили уже руководству «Мортон-Тиоколь», чтобы обсудить текущее положение дел, и в этом обсуждении участвовал и Роджер Бойсджоли. Он твердо настаивал на отмене полета, поскольку уплотнители не были рассчитаны на температуру ниже +12 градусов, однако его доводы не выглядели исчерпывающе для его коллег, к тому, же, все уже устали переносить запуск по разным причинам и мечтали, чтобы он наконец состоялся. НАСА выразили сомнения по поводу обоснованности аргументов Роджера, однако согласились отложить полет. Но в этот момент в переговоры вступает один из четырех вице-президентов компании «Мортон-Тиоколь», который попросил еще пять минут на обсуждение вопроса и принятие окончательного решения. Эти пять минут превратились в тридцать, и, к сожалению, менеджеры-оптимисты согласовали запуск в этот же день. НАСА запросили документальное подтверждение решения, и получили факс.
Всё остальное – уже известная всем печальная история.
Роджер до сих пор не может забыть ужасные события, связанные с катастрофой «Челленджера». Он сожалеет, что не предпринял больше мер, чтобы предотвратить запуск. Бойсджоли думает, что даже если бы он обратился к специалистам или СМИ, трудно было бы убедить их остановить запуск. Все равно они бы связались с НАСА, и там им, вероятно, сказали бы, что нет причин для паники.
Боб Эбелинг скончался в 2016 году. Его дочь, которая также работала в НАСА, говорит, что в день трагедии отец был очень расстроен. Он заявил, что мог бы остановить запуск только угрожая пистолетом и взяв в заложники руководство. Эбелинг, который работал в НАСА около 20 лет, ушел из организации через несколько месяцев после катастрофы. Дочь также отметила, что за несколько недель до смерти Боб перестал обвинять себя в катастрофе после радиопередачи, посвященной 30-летию трагедии.
В деле обеспечения качества, как и во всей сфере информационных технологий, поговорка «Век живи – век учись» является правилом игры, а не просто присказкой. Помимо техник тест-дизайна, которые непосредственно являются рабочим инструментом тестировщика, мы должны постоянно держать руку на пульсе обновлений операционных систем, которые тестируем и в которых работаем, языков программирования, библиотек и фреймворков, которые используем для написания автотестов, TMS (test management system), в которых храним свою тестовую документацию, CI/CD платформы и сервера, которые позволяют нам разгружать локальные мощности от постоянных сборок и прогонов автотестов.
В нашей команде есть традиция собираться и смотреть две ежегодные презентации Apple – WWDC (Worldwide Developers Conference) и Keynote, на котором показывают новый iPhone. Для нас эти события похожи на финал кубка мира по футболу, Евровидение или Superbowl, или даже празднование Нового Года. После WWDC обычно идет неделя воркшопов для разработчиков от инженеров команды Apple, на которых они более подробно рассказывают о новшествах своей платформы. Мы также не пропускаем эти мероприятия, потому что они дают нам возможность узнать о самых последних тенденциях и инструментах, которые помогут нам повысить качество нашей работы, а также подготовить наши продукты к обновлению операционки, а наши CI/CD сервера к сборке на новом SDK.
Все в компании работают над развитием и процветанием продукта. Для эффективной работы постоянно придумываются, внедряются, переосмысливаются, оптимизируются и уничтожаются процессы – регламенты, позволяющие всем работать максимально продуктивно и слаженно. Процессы можно сравнить с производственной линией на фабрике – там из сырья спустя несколько манипуляций получается продукция, так и в IT-сфере – из идеи получается готовая фича, радующая пользователей. Процессы с изменением вводных (новые инструменты для работы, новые люди пришли, старые ушли, etc.) могут страдать, и каждый специалист может что-то сделать для их улучшения – иногда даже простой чат-бот, который присылает результаты прогона автотестов, экономит огромное количество человеко-часов всем участникам релиза.
Теперь рассмотрим более приземленные пункты, которым довольно просто обучиться – это та необходимая матчасть, которая облегчает работу тестировщикам в любом проекте.
Pulsuz fraqment bitdi.