0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Автоматизированное тестирование API с использованием Python. Работа с JSON и JsonPath</a></li>
1
<ul><li><a>Автоматизированное тестирование API с использованием Python. Работа с JSON и JsonPath</a></li>
2
<li><a>Расширенная шпаргалка по корутинам Kotlin</a></li>
2
<li><a>Расширенная шпаргалка по корутинам Kotlin</a></li>
3
<li><a>О сложности устранения нестабильности тестов</a></li>
3
<li><a>О сложности устранения нестабильности тестов</a></li>
4
<li><a>Чек-лист: проверяем веб-страницы на соответствие стандартам WCAG</a></li>
4
<li><a>Чек-лист: проверяем веб-страницы на соответствие стандартам WCAG</a></li>
5
<li><a>Виртуальные потоки Java: разбор тестовых сценариев</a></li>
5
<li><a>Виртуальные потоки Java: разбор тестовых сценариев</a></li>
6
<li><a>Руководство по нагрузочному тестированию для начинающих</a></li>
6
<li><a>Руководство по нагрузочному тестированию для начинающих</a></li>
7
<li><a>JavaScript Clean Code: руководство для начинающих разработчиков</a></li>
7
<li><a>JavaScript Clean Code: руководство для начинающих разработчиков</a></li>
8
<li><a>Тестирование исключений</a></li>
8
<li><a>Тестирование исключений</a></li>
9
<li><a>Разный подход к CI/CD: опыт Amazon и Google</a></li>
9
<li><a>Разный подход к CI/CD: опыт Amazon и Google</a></li>
10
<li><a>Обзор AI-ассистента Cursor для разработчиков</a></li>
10
<li><a>Обзор AI-ассистента Cursor для разработчиков</a></li>
11
<li><a>Функциональные тесты веб-приложений с Playwright: основы</a></li>
11
<li><a>Функциональные тесты веб-приложений с Playwright: основы</a></li>
12
<li><a>Locust: проводим нагрузочное тестирование</a></li>
12
<li><a>Locust: проводим нагрузочное тестирование</a></li>
13
<li><a>Smoke vs Sanity тестирование: в чём разница?</a></li>
13
<li><a>Smoke vs Sanity тестирование: в чём разница?</a></li>
14
<li><a>Создание эффективной команды QA: Рекомендации для лидеров</a></li>
14
<li><a>Создание эффективной команды QA: Рекомендации для лидеров</a></li>
15
<li><a>Тест-дизайн в автоматизации тестирования</a></li>
15
<li><a>Тест-дизайн в автоматизации тестирования</a></li>
16
<li><a>Сказ о слонах: Как я развивал инструмент, повлиявший на работу тысяч инженеров в Amazon</a></li>
16
<li><a>Сказ о слонах: Как я развивал инструмент, повлиявший на работу тысяч инженеров в Amazon</a></li>
17
</ul><p><em>Примечание ред.: подборка дополнена и обновлена 21 ноября 2024.</em></p>
17
</ul><p><em>Примечание ред.: подборка дополнена и обновлена 21 ноября 2024.</em></p>
18
<h2>Автоматизированное тестирование API с использованием Python. Работа с JSON и JsonPath</h2>
18
<h2>Автоматизированное тестирование API с использованием Python. Работа с JSON и JsonPath</h2>
19
<p>JSON - один из самых распространённых форматов данных, используемых для передачи и получения данных в современных API. Важно глубоко понять его. </p>
19
<p>JSON - один из самых распространённых форматов данных, используемых для передачи и получения данных в современных API. Важно глубоко понять его. </p>
20
<p>Здесь я дам краткий обзор: в основном это структура данных вида key: value, содержащая примитивные типы данных, такие как строка, логическое значение, числа, а также массивы. JSON очень похож на словарь в Python. </p>
20
<p>Здесь я дам краткий обзор: в основном это структура данных вида key: value, содержащая примитивные типы данных, такие как строка, логическое значение, числа, а также массивы. JSON очень похож на словарь в Python. </p>
21
<p><a>Читать далее</a></p>
21
<p><a>Читать далее</a></p>
22
<h2>Расширенная шпаргалка по корутинам Kotlin</h2>
22
<h2>Расширенная шпаргалка по корутинам Kotlin</h2>
23
<p>Предположим, что вы уже какое-то время работаете с Kotlin-корутинами и знакомы с базовыми концепциями, такими как приостанавливаемые (suspend) функции и билдер launch. Однако по мере усложнения проектов вы всё чаще сталкиваетесь с необходимостью искать решения для более продвинутых задач и обращаетесь к поисковым системам или искусственному интеллекту за помощью.</p>
23
<p>Предположим, что вы уже какое-то время работаете с Kotlin-корутинами и знакомы с базовыми концепциями, такими как приостанавливаемые (suspend) функции и билдер launch. Однако по мере усложнения проектов вы всё чаще сталкиваетесь с необходимостью искать решения для более продвинутых задач и обращаетесь к поисковым системам или искусственному интеллекту за помощью.</p>
24
<p>Эта шпаргалка создана как удобный справочник для сложных сценариев работы с корутинами и содержит ключевые идеи, накопленные мной за всё время работы.</p>
24
<p>Эта шпаргалка создана как удобный справочник для сложных сценариев работы с корутинами и содержит ключевые идеи, накопленные мной за всё время работы.</p>
25
<p><a>Читать далее</a></p>
25
<p><a>Читать далее</a></p>
26
<h2>О сложности устранения нестабильности тестов</h2>
26
<h2>О сложности устранения нестабильности тестов</h2>
27
<p>Автор, обладая более чем 25-летним опытом в области повышения производительности инженеров, делит источники нестабильности тестов на три категории:</p>
27
<p>Автор, обладая более чем 25-летним опытом в области повышения производительности инженеров, делит источники нестабильности тестов на три категории:</p>
28
<ol><li><strong>Нестабильность тестового кода</strong>: ошибки в самих тестах, такие как состояния гонки и проблемы многопоточности.</li>
28
<ol><li><strong>Нестабильность тестового кода</strong>: ошибки в самих тестах, такие как состояния гонки и проблемы многопоточности.</li>
29
<li><strong>Нестабильность продакшен-кода</strong>: недетерминированное поведение и другие дефекты в основном коде.</li>
29
<li><strong>Нестабильность продакшен-кода</strong>: недетерминированное поведение и другие дефекты в основном коде.</li>
30
<li><strong>Инфраструктурные проблемы</strong>: внешние факторы, не зависящие от разработчиков, включая сетевые сбои и нестабильность зависимостей.</li>
30
<li><strong>Инфраструктурные проблемы</strong>: внешние факторы, не зависящие от разработчиков, включая сетевые сбои и нестабильность зависимостей.</li>
31
</ol><p>Особое внимание уделяется третьей категории, поскольку она часто выходит за рамки контроля разработчиков. Автор подчеркивает, что даже небольшие проблемы в инфраструктуре могут приводить к значительным потерям времени и ресурсов. Он также отмечает, что нестабильные тесты подрывают доверие к процессу тестирования, что может скрывать реальные проблемы в продакшен-среде.</p>
31
</ol><p>Особое внимание уделяется третьей категории, поскольку она часто выходит за рамки контроля разработчиков. Автор подчеркивает, что даже небольшие проблемы в инфраструктуре могут приводить к значительным потерям времени и ресурсов. Он также отмечает, что нестабильные тесты подрывают доверие к процессу тестирования, что может скрывать реальные проблемы в продакшен-среде.</p>
32
<p><a>Читать далее</a></p>
32
<p><a>Читать далее</a></p>
33
<h2>Чек-лист: проверяем веб-страницы на соответствие стандартам WCAG</h2>
33
<h2>Чек-лист: проверяем веб-страницы на соответствие стандартам WCAG</h2>
34
<p>При создании этого чек-листа из 64 пунктов в качестве точки отсчёта использовался WCAG - Руководство по обеспечению доступности веб-контента (универсальный стандарт). Решение вопросов, указанных в этом чек-листе, поможет улучшить восприятие сайта для всех его пользователей.<a></a></p>
34
<p>При создании этого чек-листа из 64 пунктов в качестве точки отсчёта использовался WCAG - Руководство по обеспечению доступности веб-контента (универсальный стандарт). Решение вопросов, указанных в этом чек-листе, поможет улучшить восприятие сайта для всех его пользователей.<a></a></p>
35
<p><a>Читать далее</a></p>
35
<p><a>Читать далее</a></p>
36
<h2>Виртуальные потоки Java: разбор тестовых сценариев</h2>
36
<h2>Виртуальные потоки Java: разбор тестовых сценариев</h2>
37
<p>Виртуальные потоки вызвали большой интерес в сообществе разработчиков Java, включая такие фреймворки, как Open Liberty - модульное, облачное окружение с открытым исходным кодом для Java-приложений. Команда инженеров по производительности Liberty провела оценку, чтобы выяснить, может ли эта новая фича принести пользу пользователям или даже потенциально заменить текущую логику пула потоков, используемую в среде выполнения Liberty. Как минимум, мы хотели лучше понять технологию виртуальных потоков и её производительность, чтобы предоставить обоснованные рекомендации пользователям Liberty.</p>
37
<p>Виртуальные потоки вызвали большой интерес в сообществе разработчиков Java, включая такие фреймворки, как Open Liberty - модульное, облачное окружение с открытым исходным кодом для Java-приложений. Команда инженеров по производительности Liberty провела оценку, чтобы выяснить, может ли эта новая фича принести пользу пользователям или даже потенциально заменить текущую логику пула потоков, используемую в среде выполнения Liberty. Как минимум, мы хотели лучше понять технологию виртуальных потоков и её производительность, чтобы предоставить обоснованные рекомендации пользователям Liberty.</p>
38
<p>В этой статье представлены наши результаты, включая:</p>
38
<p>В этой статье представлены наши результаты, включая:</p>
39
<ul><li>Обзор реализации виртуальных потоков в Java</li>
39
<ul><li>Обзор реализации виртуальных потоков в Java</li>
40
<li>Обзор текущей технологии пула потоков в Liberty</li>
40
<li>Обзор текущей технологии пула потоков в Liberty</li>
41
<li>Оценку по ряду показателей производительности, включая некоторые неожиданные наблюдения</li>
41
<li>Оценку по ряду показателей производительности, включая некоторые неожиданные наблюдения</li>
42
<li>Сводный обзор наших выводов</li>
42
<li>Сводный обзор наших выводов</li>
43
</ul><p><a>Читать далее</a></p>
43
</ul><p><a>Читать далее</a></p>
44
<h2>Руководство по нагрузочному тестированию для начинающих</h2>
44
<h2>Руководство по нагрузочному тестированию для начинающих</h2>
45
<p>Из этого руководства узнаем: зачем проводить нагрузочное тестирование, что от него зависит, какова архитектура, какой подход обеспечит его успешное проведение, как настроить среду, лучшие практики, а также актуальные инструменты для нагрузочного тестирования, доступные на рынке.</p>
45
<p>Из этого руководства узнаем: зачем проводить нагрузочное тестирование, что от него зависит, какова архитектура, какой подход обеспечит его успешное проведение, как настроить среду, лучшие практики, а также актуальные инструменты для нагрузочного тестирования, доступные на рынке.</p>
46
<p><a>Читать далее</a></p>
46
<p><a>Читать далее</a></p>
47
<h2>JavaScript Clean Code: руководство для начинающих разработчиков</h2>
47
<h2>JavaScript Clean Code: руководство для начинающих разработчиков</h2>
48
<p>Мы часто сталкиваемся с тем, что многочисленные ресурсы и руководства по JavaScript предлагают свой уникальный подход к кодированию. И хотя они дают ценные знания, порой они также могут создавать проблемы с пониманием кода из-за непоследовательных соглашений об именовании и неясных структур.</p>
48
<p>Мы часто сталкиваемся с тем, что многочисленные ресурсы и руководства по JavaScript предлагают свой уникальный подход к кодированию. И хотя они дают ценные знания, порой они также могут создавать проблемы с пониманием кода из-за непоследовательных соглашений об именовании и неясных структур.</p>
49
<p>Это руководство посвящено написанию чистого и удобного кода на JavaScript и TypeScript. Мы рассмотрим лучшие практики работы с функциями, переменными и методами, чтобы ваш код был не только эффективным, но и понятным как вам, так и другим разработчикам. Статья будет полезна для новичков, которые хотят улучшить свои навыки кодирования.</p>
49
<p>Это руководство посвящено написанию чистого и удобного кода на JavaScript и TypeScript. Мы рассмотрим лучшие практики работы с функциями, переменными и методами, чтобы ваш код был не только эффективным, но и понятным как вам, так и другим разработчикам. Статья будет полезна для новичков, которые хотят улучшить свои навыки кодирования.</p>
50
<p><a>Читать далее</a></p>
50
<p><a>Читать далее</a></p>
51
<h2>Тестирование исключений</h2>
51
<h2>Тестирование исключений</h2>
52
<p>Разработка через тестирование (TDD) - это отличный метод, который позволяет быстро получать обратную связь по идеям дизайна и реализации, а также быстрее прийти к работающему решению.</p>
52
<p>Разработка через тестирование (TDD) - это отличный метод, который позволяет быстро получать обратную связь по идеям дизайна и реализации, а также быстрее прийти к работающему решению.</p>
53
<p>Однако упор на "идеальный сценарий"<em> </em>может заставить забыть обо всех возможных ошибках и непредвиденных ситуациях. Рано или поздно вы осознаете, что реализация может дать сбой по ряду причин, и, стремясь сделать её более надёжной, вы захотите протестировать код обработки ошибок с помощью автоматизированных тестов.</p>
53
<p>Однако упор на "идеальный сценарий"<em> </em>может заставить забыть обо всех возможных ошибках и непредвиденных ситуациях. Рано или поздно вы осознаете, что реализация может дать сбой по ряду причин, и, стремясь сделать её более надёжной, вы захотите протестировать код обработки ошибок с помощью автоматизированных тестов.</p>
54
<p>Это не обязательно должно быть сложно, но может вызвать интересные вопросы. В этой статье я постараюсь затронуть некоторые из них.</p>
54
<p>Это не обязательно должно быть сложно, но может вызвать интересные вопросы. В этой статье я постараюсь затронуть некоторые из них.</p>
55
<p><a>Читать далее</a></p>
55
<p><a>Читать далее</a></p>
56
<h2>Разный подход к CI/CD: опыт Amazon и Google</h2>
56
<h2>Разный подход к CI/CD: опыт Amazon и Google</h2>
57
<p>Ex-технический лидер инфраструктуры для интеграционного тестирования на уровне компании в Amazon и в Google рассказывает о различиях в подходах этих двух компаний к CI/CD.</p>
57
<p>Ex-технический лидер инфраструктуры для интеграционного тестирования на уровне компании в Amazon и в Google рассказывает о различиях в подходах этих двух компаний к CI/CD.</p>
58
<p><a>Читать далее</a></p>
58
<p><a>Читать далее</a></p>
59
<h2>Обзор AI-ассистента Cursor для разработчиков</h2>
59
<h2>Обзор AI-ассистента Cursor для разработчиков</h2>
60
<p>Вам когда-нибудь хотелось, когда вы активно погружались в сложный проект, чтобы ваш AI-помощник видел всю картину в целом? Например, понимал общую архитектуру, ваш стиль кодирования и специфические особенности проекта?</p>
60
<p>Вам когда-нибудь хотелось, когда вы активно погружались в сложный проект, чтобы ваш AI-помощник видел всю картину в целом? Например, понимал общую архитектуру, ваш стиль кодирования и специфические особенности проекта?</p>
61
<p>Вот тут-то и приходит на помощь Cursor.</p>
61
<p>Вот тут-то и приходит на помощь Cursor.</p>
62
<p><a>Читать далее</a></p>
62
<p><a>Читать далее</a></p>
63
<h2>Функциональные тесты веб-приложений с Playwright: основы</h2>
63
<h2>Функциональные тесты веб-приложений с Playwright: основы</h2>
64
<p>Функциональное тестирование стало неотъемлемой частью процесса обеспечения качества в веб-разработке. В этой статье рассмотрим возможности Playwright - мощного инструмента для автоматизации тестирования.</p>
64
<p>Функциональное тестирование стало неотъемлемой частью процесса обеспечения качества в веб-разработке. В этой статье рассмотрим возможности Playwright - мощного инструмента для автоматизации тестирования.</p>
65
<p>Playwright - это библиотека для автоматизации браузеров, разработанная командой Microsoft. Она позволяет взаимодействовать с веб-приложениями так, как это делает пользователь, поддерживая работу с несколькими браузерами, включая Chrome, Firefox и Safari. Главная фича Playwright заключается в его способности работать не только с браузерами, но и с мобильными приложениями.</p>
65
<p>Playwright - это библиотека для автоматизации браузеров, разработанная командой Microsoft. Она позволяет взаимодействовать с веб-приложениями так, как это делает пользователь, поддерживая работу с несколькими браузерами, включая Chrome, Firefox и Safari. Главная фича Playwright заключается в его способности работать не только с браузерами, но и с мобильными приложениями.</p>
66
<p><a>Читать далее</a></p>
66
<p><a>Читать далее</a></p>
67
<h2>Locust: проводим нагрузочное тестирование</h2>
67
<h2>Locust: проводим нагрузочное тестирование</h2>
68
<p>Автоматизация тестирования приложений является важным элементов в обеспечении процессов CI/CD. В этой статье мы поговорим о практическом использовании инструмента с открытым исходным кодом Locust для проведения нагрузочного тестирования приложений.</p>
68
<p>Автоматизация тестирования приложений является важным элементов в обеспечении процессов CI/CD. В этой статье мы поговорим о практическом использовании инструмента с открытым исходным кодом Locust для проведения нагрузочного тестирования приложений.</p>
69
<p><a>Читать далее</a></p>
69
<p><a>Читать далее</a></p>
70
<h2>Smoke vs Sanity тестирование: в чём разница?</h2>
70
<h2>Smoke vs Sanity тестирование: в чём разница?</h2>
71
<p>Тестирование, как неотъемлемый процесс жизненного цикла разработки программного обеспечения, обеспечивает функциональность, совместимость и производительность разрабатываемых приложений. Среди различных видов тестирования особое место занимают smoke-тесты и sanity-тесты, которые проверяют надёжность и стабильность программных приложений.</p>
71
<p>Тестирование, как неотъемлемый процесс жизненного цикла разработки программного обеспечения, обеспечивает функциональность, совместимость и производительность разрабатываемых приложений. Среди различных видов тестирования особое место занимают smoke-тесты и sanity-тесты, которые проверяют надёжность и стабильность программных приложений.</p>
72
<p><a>Читать далее</a></p>
72
<p><a>Читать далее</a></p>
73
<h2>Создание эффективной команды QA: Рекомендации для лидеров</h2>
73
<h2>Создание эффективной команды QA: Рекомендации для лидеров</h2>
74
<p>В данной статье мы рассмотрим:</p>
74
<p>В данной статье мы рассмотрим:</p>
75
<ul><li>Что такое команда и чем она отличается от просто группы людей.</li>
75
<ul><li>Что такое команда и чем она отличается от просто группы людей.</li>
76
<li>Какие цели ставятся при создании команды QA.</li>
76
<li>Какие цели ставятся при создании команды QA.</li>
77
<li>Как модель Такмана может помочь в понимании этапов развития команды и какие стратегии стоит применять на каждом из них.</li>
77
<li>Как модель Такмана может помочь в понимании этапов развития команды и какие стратегии стоит применять на каждом из них.</li>
78
</ul><p>Эти знания помогут лидерам более осознанно подходить к формированию и развитию своих команд, создавая условия для максимальной эффективности и удовлетворённости сотрудников.</p>
78
</ul><p>Эти знания помогут лидерам более осознанно подходить к формированию и развитию своих команд, создавая условия для максимальной эффективности и удовлетворённости сотрудников.</p>
79
<p><a>Читать далее</a></p>
79
<p><a>Читать далее</a></p>
80
<h2>Тест-дизайн в автоматизации тестирования</h2>
80
<h2>Тест-дизайн в автоматизации тестирования</h2>
81
<p>В данной статье мы затронем важную тему - тест-дизайн в автоматизации тестирования. Почему эта тема важна? Потому что качество автотестов и инструментов автоматизации тестирования напрямую зависит от того тест-дизайна, который будет заложен в ваш инструмент автоматизации тестирования. Но перед тем, как перейти к дизайну автотестов и инструментов автоматизации тестирования, рассмотрим основные показатели качества автотестов:</p>
81
<p>В данной статье мы затронем важную тему - тест-дизайн в автоматизации тестирования. Почему эта тема важна? Потому что качество автотестов и инструментов автоматизации тестирования напрямую зависит от того тест-дизайна, который будет заложен в ваш инструмент автоматизации тестирования. Но перед тем, как перейти к дизайну автотестов и инструментов автоматизации тестирования, рассмотрим основные показатели качества автотестов:</p>
82
<ol><li>Стабильность</li>
82
<ol><li>Стабильность</li>
83
<li>Скорость</li>
83
<li>Скорость</li>
84
<li>Стоимость</li>
84
<li>Стоимость</li>
85
</ol><p><a>Читать далее</a></p>
85
</ol><p><a>Читать далее</a></p>
86
<h2>Сказ о слонах: Как я развивал инструмент, повлиявший на работу тысяч инженеров в Amazon</h2>
86
<h2>Сказ о слонах: Как я развивал инструмент, повлиявший на работу тысяч инженеров в Amazon</h2>
87
<p>В этой статье автор рассказывает о концепции Switch на конкретном примере: как он (неосознанно) с её помощью создал и развил проект, превратив его из пет-проекта, которым занимался по выходным и вечерам, в масштабный инструмент, которым он является сегодня.</p>
87
<p>В этой статье автор рассказывает о концепции Switch на конкретном примере: как он (неосознанно) с её помощью создал и развил проект, превратив его из пет-проекта, которым занимался по выходным и вечерам, в масштабный инструмент, которым он является сегодня.</p>
88
<p><a>Читать далее</a></p>
88
<p><a>Читать далее</a></p>
89
<a></a>
89
<a></a>