First Institute of Reliable Software
178 subscribers
62 photos
82 links
🎓Перший інститут надійного програмного забезпечення
👉Все про надійне IT тестування
🚀Підвищуємо кваліфікацію та навчаємо
Анонс курсу "QA Automation: Selenium+Python"
Download Telegram
Вышел очередной опрос Stack Overflow среди пользователей сайта. Из интересного: Site Reliability Engineers — специалисты-эксперты по надежному программированию — получают в 1,5 раза больше любого другого программиста. Site Reliability Engineers обеспечивают отказоустойчивость айти-систем, высокие аптаймы, низкие mean-time-to-repair. Т. е. напрямую влияют на заработок клиента. Источник: https://insights.stackoverflow.com/survey/2020
Доклад "Интеграция и тестирование Elasticsearch с нетривиальными запросами". В докладе рассматривается реализация модулей: индексации, построения запросов. А также важные вопросы модульного и интеграционного тестирования. Автор: Владимир Обризан, к. т. н. Дата записи: 16.05.2020. Онлайн-конференция Python Fwdays, 2020.

https://youtu.be/bBgtpYP9yH4

#видео #python
Статья Автоматическое модульное тестирование визуальных компонентов в iOS

Автор: Владимир Обризан, к. т. н.

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

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

Вторая проблема — тестопригодность: добиться изоляции визуального компонента от сетевых сервисов, аппаратных сервисов (например, геолокации), а также обеспечить легкость введения компонента в нужные состояния.

https://www.1irs.net/ru/articles/2020/06/22/automatic-unit-tests-for-ui-ios.html

#статья #ios #тестопригодность
Эксперт-лекция Автоматическое модульное тестирование визуальных компонентов в iOS

Автор: Владимир Обризан, к. т. н.

Выступление подготовлено по мотивам статьи: https://www.1irs.net/ru/articles/2020/06/22/automatic-unit-tests-for-ui-ios.html

Кроме этого, обсуждаются вопросы:

1. Как писать тесты на легаси-проектах?
2. Что делать, если заказчик сказал писать тесты?
3. Как оценивать время на написание тестов?

https://youtu.be/pnS-TQO2_Ik

#ios #тестопригодность #видео
Немного субботнего юмора. Такое можно встретить в любом проекте.
Онлайн эксперт-лекция “Типизация в Python: пишем надежнее, пишем быстрее!”

Владимир Обризан, к. т. н., директор DESIGN AND TEST LAB.

1. Что такое типизация, аннотации типов и зачем они нужны в языке, который по своей природе имеет динамическую типизацию?
2. Как типизация помогает допускать меньше ошибок, а тем самым быстрее закрывать задачи и уходить с работы раньше минимум на 1 час в день.
3. Как настроить автоматическую проверку типов на локальном компьютере, а также на CI-сервере.
4. Примеры и туториал по включению типизации в новом проекте, а также как поэтапно включить в существующий проект.

Регистрация свободная: https://forms.gle/qbwMutzbWVfMYd6z9

#python #питон #эксперт-лекция
Ждем сегодня в 19:00 на лекции “Типизация в Python!” 🙂

Мы создали группу в Telegram, где будем задавать вопросы, общаться и делиться опытом во время и после эксперт-лекции!
Вступайте в группу: https://t.me/reliable_python

Подключиться можно свободно без ожидания по ссылке в 19:00!
https://zoom.us/j/93832847208?pwd=My9vblJWcTVSTzBoeWpKOWQxMkI2Zz09
В классическом менеджменте организаций контроль — это процесс обеспечения достижения организацией 🏭 своих целей [Мескон, 1997]. Проект — это временное предприятие, направленное на создание уникального продукта, услуги или результата [PMBOK]. Инженер-программисты выполняющие проект являются сотрудниками временной организации, цель которой — успех проекта 🎯. Таким образом контроль инженер-программистов — это процесс обеспечения достижения успеха проекта по разработке программного продукта 🖥.

Инженеры-руководители (инжиниринг-менеджеры, engineering managers) осуществляют контроль различных аспектов проекта и производимого продукта с помощью множества метрик 🔢.

Среди различных аспектов:

— качество продукта;
— качество кода;
— качество архитектуры;
— качество архитектурного описания и документации;
— качество тестов;
— дисциплины ведения проектов;
квалификация и производительность инженер-программиста❗️.

Например, какими метриками можно оценивать квалификацию инженер-программиста 🧑‍💻? Следующими:

— количество задач выполненных в единицу времени ;
— % покрытия кода тестами;
— % принятых задач;
— количество обнаруженных ошибок в коде;
— количество написанных тестов.

Зачем нужен контроль этих метрик? Потому что важнейший мотивационный и маркетинговый показатель — рейтинг программистов: кто самый лучший, а кто самый худший, а кто вообще вредитель. Кого повышать 👨‍✈️, продвигать и премировать 💵, а с кем нужно плотно поработать (🧑‍🎓 учить, 💉 лечить, 🔪 мочить).

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

#метрики #engineering_management #контроль
Channel name was changed to «First Institute of Reliable Software»
Метрика “Покрытие кода тестами”.

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

100% покрытие кода тестами не говорит о том, что в коде нет ошибок. За это отвечает другая метрика — качество теста, которая определяется как отношение проверяемых ошибок тестом к общему количеству ошибок в коде.

Тем не менее, процент покрытия кода тестами прямо пропорционален квалификации программиста, и обратно пропорционален количеству ошибок в коде.

Начинающие инженеры-программисты должны покрывать код минимум на 50%. Опытные инженер-программисты покрывают код тестами на 99-100%.

Покрытие кода тестами — это та метрика, которую обязательно нужно измерять регулярно.

#метрики #engineering_management #контроль
Приглашаем вас на онлайн эксперт-лекцию “Тесты в Python: легкий старт, кто еще не начал!”

Эксперт:
Владимир Обризан, к. т. н., директор DESIGN AND TEST LAB

Для кого: Python-программисты, которые хотят начать писать качественный код, а также начинающие программисты.

Описание темы:
1. Почему тесты важны для инженер-программиста? Это и проверка своего кода, сокращение ошибок, ускорение работы, да и вообще тесты — признак опытного инженера.
2. С чего начать? Пошаговая инструкция на примерах: чем тестировать, что тестировать, как тестировать.
3. Как настроить и запустить тесты в PyCharm.
4. Как настроить проверку тестов на CI/CD сервере на примере BitBucket Pipelines.
5. Быстрый мастер-класс по Test-Driven Development. Это не так сложно как кажется!
6. А что дальше? Описание других видов тестов, инструментов и методов.

Регистрация свободная: https://forms.gle/tw4Sr4A8GNAwAPq26

#python #питон #tdd #лекция
На днях опубликовали записи конференции iOS Ukraine, которая прошла осенью прошлого года.

Запись доклада “Автоматическое тестирование интеграции со стандартными фреймворками” (Владимир Обризан, к. т. н.) доступна по ссылке на канале iOS Ukraine:

https://youtu.be/UAsXcnNWss0

#ios #tdd
– We don't write tests.
– Why?
– Because we don’t have time for it.
– Why?
– Because there is too much work and pressure.
– Why?
– Because we don’t move fast enough.
– Why?
– Because changing software has become difficult and risky.
– Why?
– Because we don’t write tests.
В среду 28.04.2021 в 19:00 (Харьков) состоится онлайн эксперт-лекция “Острая боль автоматизации тестирования на Python — ТЕСТОПРИГОДНОСТЬ”!

Эксперт: Владимир Обризан, к. т. н., директор DESIGN AND TEST LAB

Если бы тесты было так легко писать, то покрытие тестами было бы 100%, не так ли?

Важная теория:
1. Почему программисты отказываются писать автоматические тесты и как на это влияет тестопригодность?
2. Что такое тестопригодность и какими способами можно существенно упростить тестирование Python-кода?
3. Python-библиотеки для повышения тестопригодности: unittest.mock, freezegun, factory_boy

Мастер-класс:
1. Разработка теста проверяющего работу приложения с интернетом.
2. Разработка теста проверяющего работу приложения с базой данных.

Для кого: опытные Python-программисты, которые хотят начать писать качественный код и повысить свою квалификацию до Senior-уровня.

Онлайн-трансляция на YouTube (нужно подписаться, чтобы не пропустить): https://www.youtube.com/c/1IRS-reliable/videos
First Institute of Reliable Software pinned «В среду 28.04.2021 в 19:00 (Харьков) состоится онлайн эксперт-лекция “Острая боль автоматизации тестирования на Python — ТЕСТОПРИГОДНОСТЬ”! Эксперт: Владимир Обризан, к. т. н., директор DESIGN AND TEST LAB Если бы тесты было так легко писать, то покрытие…»
Трансляция эксперт-лекции “ТЕСТОПРИГОДНОСТЬ — острая боль автоматизации тестирования на Python” уже через час на канале Института: https://www.youtube.com/watch?v=MNDCCTht1E0