Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «phpmd»
Тестирование параллельных процессов 2017-04-25 09:07:47
+ развернуть текст сохранённая копия
Вы встречались с ошибками, которые возникают время от времени в продакшне, но никак не воспроизводятся локально? Бывает, изучаешь такой баг и вдруг понимаешь, что он проявляется только при одновременном параллельном выполнении скриптов. Изучив код, понимаешь как это исправить, чтобы такого больше не повторялось. Но на такое исправление хорошо бы написать тест…
В статье я расскажу о своем подходе к тестированию таких ситуаций. А также приведу несколько наглядных (и наверное даже классических) примеров багов, которые удобно протестировать с помощью этого подхода. Все примеры багов живые — то, что встречается в работе.
Забегая вперед сразу скажу, что в конце статьи будет ссылка на github, куда я выложил готовое решение, позволяющее тестировать параллельные консольные процессы легко и просто.
Читать дальше →
Тэги: deadlock, it-систем, php, phpunit, sql, вычисления, параллельное, параллельные, приложений, программирование, тестирование
PHP-Дайджест № 102 – интересные новости, материалы и инструменты (1 – 12 февраля 2017) 2017-02-13 01:30:16
+ развернуть текст сохранённая копия
Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать дальше →
Тэги: group, laravel, php, phpunit, symfony, wordpress, yii, zfort, блог, веб-разработка, веб-сайтов, дайджест, компании, новости, подборка, разработка, ссылки
Объединяем Code Coverage от PHPUnit и phpspec 2016-11-27 01:25:21
Сегодня та или иная библиотека на Github, у которой нет тестов, уже не воспринимается серьезно. ...
+ развернуть текст сохранённая копия
Сегодня та или иная библиотека на Github, у которой нет тестов, уже не воспринимается серьезно. Тесты помогают нам смело делать рефакторинг и быть уверенными, что модуль, класс или функция работают так, как это задумывалось. Они позволяют нам тестировать наш код на разных версиях PHP и выявлять ошибки заранее. Это гарант качества и стабильности вашего кода.
Стремиться к стопроцентному покрытию кода нет никакого смысла, однако понимать в среднем какой процент кода покрыт вашими тестами — хорошая метрика при непрерывном интегрировании.
Мы можем настроить оповещения при падении процента покрытия, например, ниже 50, можем добавлять автоматические комментарии от ботов в пул реквестах, показывать тенденцию изменения Code Coverage на графиках с течением времени и т.д.
Но что делать, если вы используете несколько библиотек для тестирования? Как получить общее покрытие кода?
Читать дальше →
Тэги: code, codecov, coverage, php, phpspec, phpunit, simpleweek, testing, travis-ci, unit, блог, компании
[Из песочницы] Настройка окружения для PHP разработчиков 2016-10-31 15:41:04
В данной статье мы рассмотрим настройку окружения для PHP разработчиков с использованием ...
+ развернуть текст сохранённая копия
В данной статье мы рассмотрим настройку окружения для PHP разработчиков с использованием Vagrant, Docker, Xdebug, PHPUnit, и интеграцию с IDE PHPStorm.
+
Требования
- Окружение должно развертываться на Windows, MacOS, Linux
- Установка должна быть максимально простой
- Быстрая работа с файловой системой
- Интеграция с IDE PHPStorm
- Несколько версии PHP интерпретаторов (5.6, 7.0)
Читать дальше →
Тэги: docker, php, phpstorm, phpunit, vagrant, xdebug
Тестирование рекурсии 2016-08-17 08:40:37
Есть пара весомых поводов не использовать рекурсию, но это не повод не использовать рекурсию ...
+ развернуть текст сохранённая копия
Есть пара весомых поводов не использовать рекурсию, но это не повод не использовать рекурсию вообще. Программы, во-первых, создаются программистами для программистов, и лишь во-вторых — программистами для компьютеров. В итоге, некоторыми годными программами могут пользоваться неподготовленные люди. Рекурсия имеет одно безусловное преимущество перед итерацией — читабельность. Когда программист создает программы для себе подобных, рекурсия имеет право на существование до тех пор, пока не докажет обратного (т.е. — не будет запущена на компьютере и не поперхнется реальными данными).
Тестирование — это, по сути, создание программ для программ, позволяющее программистам отодвигать порог непреодолимой сложности в разрабатываемых приложениях. Столкнувшись на днях с необходимостью написать юнит-тест для рекурсивного метода я был неприятно удивлен необходимостью мокировать сам тестируемый метод. Альтернатива — создавать такие входные данные, которые бы позволяли протестировать все ветки рекурсии в одном тестовом методе. В перспективе вырисовывалось не снижение сложности, а наоборот — ее увеличение. Порывшись в интернетах, я обнаружил кучу информации о том, чем нехороша рекурсия, массу советов, как перейти от рекурсии к итерации, но так и не нашел на русских формах того, что искал — как тестировать рекурсивный метод. Решив, что подготовить тестовые данные для трех проходов по коду — не такая уж непреодолимая сложность, отложил эту задачу до утра. Под катом решение, пришедшее в голову за ночь, позволяющее разбивать тестирование рекурсивных методов на части. Читать дальше →
Тэги: it-систем, php, phpunit, программирование, рекурсия, тестирование
Страницы: 1 2 3 4 5 6 7 8 9 10 11
Главная / Главные темы / Тэг «phpmd»
|
Взлеты Топ 5
Падения Топ 5
|