Книга. Книга о GeekBrains — Путь в IT — v.2_compressed (1). Путь в it
Скачать 6.94 Mb.
|
Типы тестировщиков Быстро войти в IT можно с ручного, или, как его еще называют, monkey testing, то есть «обезьяньего тестирования». Ручной тестировщик проверяет приложения на ошибки с помощью моделирования ситуаций, которые могут возникнуть у пользователя во время работы. Второй тип тестировщика — это специалист по автоматическому тестированию. Он пишет код программы, которая имитирует 50 Бэкдор, тайный вход (от англ. back door — «черный ход») — дефект алгоритма, который намеренно встраивается в него разработчиком и позволяет получить несанкционированный доступ к данным или удаленному управлению операционной системой и компьютером в целом. Раздел 67 ПУТЬ В IT действия человека. Например, каждые 5 минут отправляет заявку со всех страниц сайта, а потом проверяет, все ли данные сошлись. Если нет, то программа сообщает об ошибке. На примере нашего сайта gb.ru расскажем об автоматизированном тестировании. Специалисты не могут проверить вручную все варианты использования: как работают формы, кнопки, меню, переходы, все ли письма отправляются, все ли СМС доходят, все ли заявки попадают в CRM- систему. Чтобы проверить, работают ли сценарии корректно, тестировщик пишет код в специальной программе с огромным количеством скриптов 51 Эта программа выполняет тестирование за человека. Каждые 5 минут алгоритм прогоняет сценарий по страницам сайта и таким образом проверяет, отправляются ли заявки, сходятся ли данные. Если данные не сходятся, алгоритм автоматически отправляет отчеты тестировщикам, например в Telegram. Они обрабатывают ошибки и передают их в отдел разработки на исправление. Если сайт работает некорректно, его отдают разработчикам, чтобы они проверили работоспособность системы. Такие программы по автоматизации пишут инженеры по тестированию — это специалисты высокого уровня, которые понимают, как устроен продукт. Они знают, как использовать программное обеспечение или приложение, как его тестировать, какие есть подходы, методы, как описывать документацию. Что делает тестировщик Перед тем как приступить к работе, тестировщик получает: Техническое задание или проектную документацию. Это документы, которые описывают функционал программного обеспечения или оборудования. Специалист изучает их, чтобы понимать, как работает продукт и какие задачи он выполняет. Техническое решение. Его пишет разработчик тестируемого продукта. Он предоставляет сведения о продукте, описывает задачи, которые перед ним стояли, и решение этих задач. 51 Скрипт (сценарий) — последовательность действий, описанных с помощью скриптового языка программирования (JavaScript, PHP, Perl, Python). Раздел 68 ПУТЬ В IT На основании технического задания и решения тестировщик понимает возможные сценарии будущего использования продукта. Он формирует документы: юнит-тесты 52 или тест-кейсы 53 С их помощью тестировщик сначала описывает сценарии: какую работу будет делать и какой результат ожидает получить. Затем он выполняет тесты, после чего документирует результаты: какие тесты провел, какие результаты получил, какие отклонения от ожидаемого результата обнаружил. По итогу тестирования специалист выдает баг-репорт 54 — отчет, в котором по разным сценариям использования указывает, какой баг 55 появился и как он воспроизводится. Дальше тестировщик отдельными тикетами 56 выгружает ошибки в отдел разработки. Разработчики фиксируют задачи на доработку и выпускают новый релиз продукта с багфиксом 57 , в котором указывают, какие ошибки были исправлены. Это повторяется до тех пор, пока все баги не будут устранены. И опять все повторяется: разработка, тестирование, доработка. Помимо того, что тестировщик исправляет обнаруженные ошибки, ему нужно проверить, не появились ли новые. Он прогоняет сценарий пользователя до тех пор, пока все баги не будут устранены. СБОР ИНФОРМАЦИИ Что тестируем? • Изучение продукта • Понимание его цели • Ожидаемый результат АНАЛИЗ РЕСУРСОВ • Анализ собранной информации • Оценка времени тестирования НАПИСАНИЕ СЦЕНАРИЕВ Как тестируем? • Составление тест-кейсов • Выбор методики и инструментов тестирования ТЕСТИРОВАНИЕ • Проверка продукта по подготовленным сценариям • Поиск ошибок, багов и уязвимостей ПОДГОТОВКА ОТЧЕТА Какие результаты? • Составление отчета о проблемах • Описание найденных ошибок ПОВТОРНАЯ ПРОВЕРКА Все исправили? • Проверка на исправление всех ошибок • Запуск продукта 52 Юнит-тест (unit test), или модульный тест, — программа, которая проверяет работу небольшой части кода. 53 Тест-кейс (test case) — документ для проверки работоспособности программы или проекта по четкому алгоритму. 54 Баг-репорт (bug report) — документ, который содержит полное описание бага. 55 Баг (bug) — программная ошибка. 56 Тикет — это виртуальная карточка с описанием ошибки, которую требуется исправить. В тикете прописаны атрибуты: автор тикета, заголовок, тип тикета, ошибка, требование, задача. 57 Багфиксинг (bug fixing) — процесс устранения неисправностей в программном обеспечении. Раздел 69 ПУТЬ В IT Виды тестирования В мире ежедневно создается огромное количество IT-продуктов — сервисов, оборудования, программного обеспечения — и все это перед выходом тестируется. При этом некоторые компании выпускают продукцию без тестирования, из-за чего пользователи сталкиваются с проблемами. Чем больше система, тем больше у нее пользователей, тем чаще она видоизменяется и тем больше в ней ошибок. Это абсолютно нормально — есть система, есть ошибки, есть апдейты 58 Сегодня благодаря интернету разработчики крупного софта выпускают обновления быстро. А 20 лет назад было так: купили диск, с него установили программу на компьютер. Если не было интернета, то создатели не могли сообщить об ошибке и предложить апдейт. Люди годами работали в одной версии программы и даже не подозревали, что есть обновление. А сегодня наши телефоны присылают уведомление, что вышел апдейт. Внутри — список баг-репорта и описание исправленных ошибок, о которых мы и не знали. То же обновление произошло и с видами тестирования. За последние годы их стало гораздо больше. Мы в начале главы немного затронули их. Например, полный список видов на примере того же карандаша НА СЛЕД СТРАНИЦЕ. Это примеры тестирования простого товара. Что говорить о сложном программном обеспечении или системе, которая связана с жизнью людей? Вариаций тестов, юзкейсов и деталей множество. Поэтому тестирование считается интересной и в то же время сложной работой. Задание. Изучив список видов тестирования, попробуйте проверить любой предмет, который находится рядом с вами. Например, кружку или чехол для телефона. Так вы поймете, как много действий необходимо выполнить, чтобы убедиться в исправности чего-либо. 58 Апдейт (update) — обновление, новая версия IT-продукта. Раздел 70 ПУТЬ В IT / Validation • Достать новый карандаш из коробки и проверить, что он пишет, а резинка стирает / Security Testing • Глаз не выколем? • Если съедим, то не отравимся? / Entry Point Testing • Писать заточенным карандашом • Писать затупленным карандашом / Component Testing • Отдельно точим грифель • Отдельно точим деревяшку • Отдельно стираем резинкой / UI-testing • Проверить, что шрифт на карандаше читаемый • Есть название фирмы • Красивый дизайн • Цвет резинки соответствует брендбуку / Functional Testing • Проверить, что карандаш пишет • Проверить, что написанное можно стереть резинкой • Проверить, что карандаш можно заточить / Verification Взять новый карандаш из коробки и проверить, что: • стержень на месте, • резинка прикреплена к правильному концу • карандаш заточен • твердость грифеля соответствует маркировке / Stress Testing • Писать карандашом, сильно надавливая • Писать много и быстро • Зарисовать весь А4. Карандаш должен выдержать / Negative Testing • Писать карандашом на стекле • Стирать резинкой написанное ручкой • Пожевать корпус • Гнуть карандаш. Он должен выдержать / Black-Box Testing Устройство карандаша неизвестно, пробуем писать на разных поверхностях, исследуем возможности /Usability Testing • Удобно писать? • Удобно точить? • За ухом держится? /Beta Testing Раздать коллегам: пусть пишут и дают обратную связь / Automated Testing • Сделать робота и научить его писать • Затачивать карандаши на автоматической точилке / Performance Testing • Разрисовать карандашом весь блокнот: хватит ли грифеля • Заточить карандаш 30 раз: выдержит ли он / Documentation Testing • Проверить инструкцию • по использованию карандаша / Component Testing • Собрать карандаш из запчастей • Проверить, что он пишет, и все надежно держится / Compatibility Testing Поверхности: • на бумаге • на картоне • на заборе Инструменты заточки: • точилка • ножик • наждачка Места хранения: • пенал • стакан • коробка Раздел 71 ПУТЬ В IT Что должен уметь тестировщик Задача инженера по тестированию — проверить соответствие картинки на экране, которую видят пользователи, техническому заданию. Тестировщик заходит в базу данных, смотрит, какие данные были выбраны, формирует выборки, проверяет исходные данные, наблюдает за тем, какой получился результат: соответствует он желаниям заказчика или нет. Устройство современных программ состоит из трех слоев: • Слой, где хранятся данные, которые содержат первичную информацию. • Слой, отвечающий за логику программы. • Слой, который выводит информацию на экран. Каждый слой проверяет специалист по тестированию. Тестировщик погружается внутрь программы, изучает, как она устроена. Он должен понимать, как выгрузить версию из системы управления. Должен уметь работать с серверами, например с The Apache 59 , и писать запросы. Всему этому нужно учиться, но начинают все с простого: вам дают тесты, и вы начинаете тестировать. Потом понимаете, как они устроены, обучаетесь тому, как они правильно пишутся, как составляется баг-репорт, сколько на это уходит времени. Затем учитесь работать с более сложными решениями, переходите в процесс автоматизации, идете вверх по уровню сложности. Компетентные инженеры по тестированию общаются с менеджером по продукту, менеджером проектов, программистом, предлагают свои решения. Тестировщик должен быть погружен в продукт и разбираться в нем. Ему необходимо понимать клиента, что и как нужно использовать, чтобы предусмотреть разные варианты. 59 The Apache HTTP Server — бесплатное программное обеспечение веб- сервера с открытым исходным кодом. Раздел 72 ПУТЬ В IT Есть мнение, что инженер-тестировщик — это QA-инженер, специалист по обеспечению качества разработки ПО (программного обеспечения) и его функционального тестирования. Сейчас найти такого профессионала крайне сложно, потому что люди, начиная разбираться в тестировании, даже автоматизированном, часто уходят в программирование, не доходя до высокого уровня. Поэтому спрос на тестировщиков с каждым годом только растет. Компании часто набирают тестировщиков начального уровня. А что такое начальный уровень? Это люди без опыта, которые только получили знания. Им дают понятный сценарий, с которым те будут работать. И, находясь в этой работе, они постепенно определяются с развитием: расти в тестировании до QA-инженера или идти в программирование. Если вы тестируете системы, которые связаны с автоматизацией (ERP-системы 60 , 1С 61 ), вы также можете работать консультантом. Это специалист, который умеет тестировать, находить различные ошибки, может давать ценные советы бизнесу. А это совсем другие перспективы и более высокая зарплата. 60 ERP (Enterprise Resource Planning — планирование ресурсов предприятия) — класс систем для управления производством, трудовыми ресурсами, финансами и активами, ориентированных на оптимизацию ресурсов предприятия. 61 1С — программа, предназначенная для автоматизации предприятий. Раздел 73 ПУТЬ В IT Инструменты тестировщика Как и в любой другой профессии, в тестировании предполагается использование специфических рабочих инструментов. Их очень много, мы назовем наиболее популярные. Специалисты также могут использовать: • Word 62 , Excel 63 — в этих программах можно писать юзкейсы, тест-кейсы. • Jira 64 или Trello 65 — в них можно выкладывать баги, чтобы разработчики это видели. Примеры инструментов специалиста по тестированию GIT Программа для совместной работы над кодом. SQL Язык программирования, предназначенный для управления данными в СУБД 66 Selenium Инструмент для автоматизации действий веб-браузера Allure Инструмент для построения отчетов автотестов, упрощающий их анализ 62 Microsoft Word (часто — MS Word, WinWord или просто Word) — текстовый редактор, предназначен- ный для создания, про- смотра и редактирования текстовых документов. 63 Microsoft Excel — программа для работы с электронными таблицами. 64 Jira — инструмент управления проектами, который помогает оптимизировать работу команды. 65 Trello — система управления проектами в режиме онлайн. 66 СУБД — комплекс программ, позволяющих создавать базы данных и управлять ими. Раздел 74 ПУТЬ В IT Подходит ли вам профессия тестировщика Вы можете уже сейчас примерить на себя характеристики, свойственные тестировщикам, и, возможно, предопределить выбор будущей профессии. Специализация для вас, если: • Вам нравится выискивать ошибки и уязвимости. • Интересно смотреть на IT-продукт со всех сторон. • Хочется продумывать сценарии пользователя. • Нравится улучшать продукт своими руками. • Интересно погружаться в продукты и изучать их изнутри. • У вас аналитический склад ума. • Вы усидчивы и внимательны. • У вас системный подход к решению проблем. • Вам интересно смотреть на одно программное обеспечение с разных точек зрения. • Вы любопытны. • Смотрите на работу критически. • Вам нравится решать прикладные задачи, связанные с реальным миром. • Нравится автоматизировать процессы вокруг себя. • В беспорядочном наборе информации вы видите последовательность. • Умеете выстраивать структуру. Тестировщик должен уметь смотреть на любую задачу нестандартно, иметь свое мнение, задавать вопросы. Это люди вдумчивые, кропотливые, терпеливые, усидчивые, которые готовы много раз повторять, добиваться того, чтобы все было идеально. Специалист в тестировании должен быть педантичным. Любая неучтенная мелочь может привести к серьезным проблемам для компании. У тестировщика должно быть желание развивать продукт. Он отвечает за то, чтобы люди, которые будут пользоваться продуктом, были довольны. Почему Александр Волчек и Александр Сагун постоянно что-то тестируют? Им важно, как вы пользуетесь нашим сайтом, какие письма получаете и многое другое. Раздел 77 ПУТЬ В IT Кто такой аналитик Раздел 78 ПУТЬ В IT Кто такой аналитик Это специалист, который собирает и обрабатывает информацию, формирует отчеты и прогнозы. Главная задача — подготовить данные, которые помогут бизнесу принять взвешенное решение. В задачи аналитиков входит сбор и обработка данных, их визуализация и дальнейший анализ. Родители девочек и мальчиков от 13 до 17 лет часто спрашивают об образовании для своих детей. Например: «На кого лучше учиться в IT?». Мы отвечаем, что хорошо было бы получить образование аналитика. Вы наверняка спросите: «Почему не на программиста, например? Это же более популярное направление». Именно в этом и кроется суть. Программист в русскоязычном пространстве и в мире — это устоявшаяся профессия, которая Примеры задач аналитика Визуализация данных в Power BI Подготовка отчётов в различных форматах Работа с базами данных Создание запроса в SQL Создание инфраструктуры хранения данных Раздел 79 ПУТЬ В IT была известна еще 30 лет назад. А аналитик — это нечто новое, что сформировалось в наше время и будет популярно в будущем, когда молодежь вырастет. В современных компаниях, даже если они не занимаются информационными технологиями, аналитика присутствует на всех уровнях. Популярные темы будущего — искусственный интеллект, машинное обучение — построены на анализе данных. На огромном количестве чисел, изучении статистики, на выводе и сборе данных. |