Рейтинговые книги
Читем онлайн IT-рекрутмент. Как найти лучших специалистов, когда все вокруг горит - Егор Яценко

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 15 16 17 18 19 20 21 22 23 ... 50
Go переходят PHP-разработчики. Кстати, о них.

PHP («пэхэпэ») — язык для разработки веб-приложений. Многие старые сайты написаны на PHP. Например, такие проекты, как YouDo или VK. У PHP есть разные версии, поэтому у разработчика стоит спрашивать, с какой версией он работал. А еще у PHP много фреймворков, например Laravel, Zend, Yii, Symfony. О том, писал ли разработчик на нативном PHP или использовал какие-то фреймворки, тоже стоит уточнить.

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

Фронтенд-разработка

Переходим к фронтенд-разработке — той части работы программиста, которая затрагивает создание пользовательского интерфейса.

Разработка frontend-части состоит из HTML, CSS и JavaScript (естественно, как было сказано выше, могут применяться и другие технологии — мы делаем упор на эти как на наиболее распространенные).

Логически фронтенд-разработку можно разделить на верстку и логику (скрипты).

JavaScript («ДжаваСкрипт») — скриптовый, строго не типизированный язык. С его помощью разработчик может добавлять интерактивные элементы на сайт (например, игры, динамические стили, анимацию). Возможности JavaScript позволяют создавать много интересного, вплоть до серьезной 2D— и 3D-графики.

Как и любой язык программирования, JavaScript меняется и обрастает своими фреймворками, библиотеками и платформами, среди которых можно упомянуть Angular, React|Redux, Vue.js и Node.js.

Всегда стоит обращать внимание на то, какой фреймворк указан в вакансии, и спрашивать у заказчика, насколько критичен опыт работы именно с этим фреймворком. Среди айтишников вообще идет давний холивар о том, как много времени займет переход с одного фреймворка на другой. Одни говорят, что все фреймворки одного языка между собой похожи и освоить новый можно за пару недель. Другие возражают: чтобы разобраться в тонкостях работы каждого фреймворка, пары недель не хватит. Я бы сказал, что это спор, в который нам, рекрутерам, не стоит лезть, пока мы не «набьем руку», хотя мне ближе позиция, что за пару недель хорошо разобраться в инструменте все-таки невозможно.

В общении с JS-разработчиком есть смысл уточнять, насколько сложным был фронт, была ли на него вынесена какая-нибудь логика и какая именно, кто занимался версткой, был ли на проекте отдельный верстальщик.

Верстка. Чаще всего фронтенд-разработчики не хотят заниматься версткой, потому что для них это скучно. Как правило, они проходят этот этап на пути к разработке и в дальнейшем стараются его избегать. Поэтому версткой обычно занимается отдельный человек — верстальщик: он является связующим звеном между дизайнерами и фронтенд— и бэкенд-разработкой. Верстальщик получает макет от дизайнера и:

● с помощью языка HTML размечает элементы на странице;

● через язык CSS (Cascading Style Sheets) придает им внешний вид: задает цвета, шрифты, расположения отдельных блоков и т. д.

После этого работа отправляется фронтенд— и бэкенд-разработчикам, чтобы они прописали системы взаимодействия с сервером и настроили адаптивность сайта к разным браузерам.

Глава 11

Тестирование

Что такое тестирование на бытовом уровне — очевидно: это проверка того, как работает новое программное обеспечение. Однако не все так просто, как кажется. Тестирование каждой программы или системы включает в себя множество разных процессов: от обычного выявления ошибок до проверки поведения программы в специальных «экстремальных» условиях.

За этот этап работы отвечают Quality Assurance Engineer (специалисты/инженеры по качеству, сокращенно QA), или попросту тестировщики.

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

Manual Testing (ручное тестирование) происходит следующим образом: QA-специалист «изображает» поведение пользователя и регистрирует, где и что именно пошло не так.

Как QA узнает, что именно ему делать? С помощью системного аналитика или продакт-менеджера. Как правило, системный аналитик предполагает, как поведет себя пользователь, попав, например, на новый веб-сайт. На основе этого он составляет Use-case — пользовательский сценарий. Двигаясь по этому сценарию, тестировщик «прокликивает» продукт и описывает поведение программы в тест-кейсах и чек-листах.

У ручного тестирования есть неоспоримые плюсы:

● Это сравнительно недорогой способ найти самые грубые ошибки, причем сделать это максимально быстро: разработчики оперативно получат обратную связь и устранят все баги.

● Только с помощью ручного тестирования можно проверить такой параметр, как «юзабилити», то есть удобство софта для пользователя. Этот параметр не может оценить ни один автотест — только мы сами способны почувствовать, насколько нам интуитивно понятен интерфейс, быстро ли мы находим нужные кнопки, понимаем ли логику происходящего в программе.

● С помощью ручного тестирования можно проверять самые непредсказуемые пользовательские сценарии, в то время как писать автотесты под каждый маловероятный сценарий поведения пользователя невозможно или неоправданно дорого.

Несмотря на все перечисленные плюсы, у ручного тестирования есть один большой минус, и имя ему «человеческий фактор». Тестировщик может пропустить ошибку из-за невнимательности, отсутствия опыта или банальной усталости. И тогда нам на помощь приходят машины!

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

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

Казалось бы, есть только что написанная программа, есть программа-тестировщик: напустите их друг на друга — и получите результат. Человеческое участие больше не нужно! Однако без специалистов в данном случае также не обойтись. Причем эксперт по автоматизированному тестированию должен знать и уметь больше, чем ручной тестировщик.

Для работы авто-QA необходимо знать один, а лучше несколько языков программирования: чаще всего это Java и Python. Также они часто используют в своей работе такие инструменты, как PyTest или Selenium для написания тестировочных кодов. И по мере профессионального развития, как правило, становятся разработчиками. А начинают как раз с ручного.

Типы тестирований. Существует огромное разнообразие тестов, которые мы не будем рассматривать детально (мы же не собираемся учиться на тестировщиков — по крайней мере, по этой книге). Упомяну только основные виды тестирования, чтобы вы понимали, насколько масштабна эта сфера деятельности.

● Функциональное тестирование

1 ... 15 16 17 18 19 20 21 22 23 ... 50
На этой странице вы можете бесплатно читать книгу IT-рекрутмент. Как найти лучших специалистов, когда все вокруг горит - Егор Яценко бесплатно.
Похожие на IT-рекрутмент. Как найти лучших специалистов, когда все вокруг горит - Егор Яценко книги

Оставить комментарий