Pull to refresh
10
0
Send message

Тестирование PHP проектов на примере Symfony

Reading time14 min
Views8.1K

Хочу описать свои наработки и устоявшиеся подходы к тестированию PHP проектов. Последние годы я работаю с Symfony и здесь будет достаточно моментов специфичных для этого фреймворка. Так же в этой статье термин функциональные тесты (functional) является синонимом End-to-End тестов. Статья рассчитана на разработчиков уже знакомых с PHPUnit и Symfony, структурой composer файла. Врочем, здесь есть и общеизвестные моменты, чтобы облегчить понимание тем, кто только начинает писать тесты. Статья призвана упорядочить знания и показать какие-то удобные подходы. Формат статьи не позволяет раскрыть все нюансы. Тем не менее, я постараюсь озвучить все основные моменты, применяемые в работе и которые лично мне помогают на практике. 

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments5

Почему мне так нравится использовать Python для автоматизации тестирования?

Reading time8 min
Views19K

Когда дело доходит до автоматизации тестирования, первый и самый сложный вопрос, который встает перед вами это какой язык выбрать, чтобы он имел хорошую поддержку автоматизации тестирования. Python, Java, C#, Ruby и т.д. – лишь некоторые из популярных языков, которые можно использовать с фреймворком для автоматизации Selenium. Несмотря на это, во всем мире QA-команды активно используют именно Python, особенно в связке с Selenium WebDriver.

У разработчиков и тестировщиков появляется несколько вариантов, когда дело доходит до использования языков программирования с фреймворком Selenium. Как у инженера по автоматизации, у меня была возможность пользоваться разными языками, начиная с С и заканчивая Java, Python, C++ в зависимости от проекта. Несмотря на то, что мне удобно использовать Java и C# с Selenium, Python все равно остается лучшим языком для написания скриптов для автоматизации тестирования с этим фреймворком.

В этой статье я расскажу о 12 основных причинах, по которым автоматизированное тестирование на Python в связке с Selenium WebDriver – это отличный вариант в моем случае. 

Начнём!
Total votes 10: ↑6 and ↓4+2
Comments5

CTF. Пароли в Firefox. Пароль Android. Атака Bit-Flipping. Решение задач с r0от-мi Crypto. Часть 3

Reading time3 min
Views3.7K
image

В данной статье ломаем шифры перестановки и Виженера, расшифруем сохраненный в браузере Mozilla Firefox пароль, расправляемся с блокировкой Android и разбираемся с атакой Bit-Flipping. Предыдущие части:

Часть 1 — Кодировки, шифр сдвига, брут хешей и создание картинки с помощью PIL python.
Часть 2 — Crypt, XOR, взлом нешифрованного ZIP и ГПСЧ.

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

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments5

Функциональное программирование с точки зрения EcmaScript. Чистые функции, лямбды, имутабельность

Reading time5 min
Views14K
Привет, Хабр!

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

Введение в функциональное программирование


Функциональное программирование(ФП) — способ организации кода через написание набора функций.

EcmaScript, являясь мультипарадигменным языком программирования, реализует наряду с прочими и функциональную парадигму. Это означает, что функции в ES являются данными и могут быть переданы в функции, возвращены из функций и могут сами принимать функции. Т.е. функции в ES являются функциями первого класса.

Отсюда следуют следующие определения:

Функциональный агрумент(Functional argument, фунарг) — аргумент, значением которого является функция.

Функция высшего порядка(ФВП, higher-order-funtion, hof) — функция, которая принимает функции в качестве аргументов.

Функции с функциональным значением(Function valued functions) — функция, которая возвращает функцию.

Все эти типы функций условно объединяют в функции первого класса, и, как следует из определения выше, в ES все функции являются объектами первого класса.
Читать дальше →
Total votes 19: ↑13 and ↓6+7
Comments35

Цена JavaScript в 2018 году

Reading time27 min
Views39K
Процесс работы пользователей с интерактивными веб-сайтами может включать в себя шаг отправки им JavaScript-кода. Часто — слишком большого объёма такого кода. Если на сайте используется очень много JavaScript, это особенно сильно сказывается на мобильных пользователях. Например, вам случалось бывать на мобильных веб-страницах, которые, вроде бы, выглядят как уже готовые к работе, но не реагируют на щелчки по ссылкам или на попытки прокрутить страницу?


JavaScript-код, который попадает в мобильные браузеры, всё ещё остаётся самым дорогостоящим ресурсом, так как он, многими способами, может задержать переход страниц в состояние, в котором с ними можно взаимодействовать. Какую нагрузку на системы создаёт JavaScript в наши дни? Как анализировать сайты? Как ускорить загрузку и обработку браузерами интерактивных веб-страниц? Эдди Османи, перевод материала которого мы сегодня публикуем, решил найти ответы на эти и на многие другие вопросы, встающие перед теми, кто пользуется JavaScript для разработки веб-сайтов в 2018 году.
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments47

Information

Rating
Does not participate
Registered
Activity