HTML Diff
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>