Доклад на hotcode.org о инструментах и методиках которые помогают нам повышать и следить за качеством PHP кода.
Среди затронутых тем:
- Стандарты в коде
- Средства для статического анализа кода.
- Git хуки
- Непрерывная интеграция
- IDE
- Code review
Egor Fedorov "Behavior-driven development in Python"Fwdays
The goal of the BDD technique is to establish successful communication between customers, business analysts, programmers, and testers for the whole life of the project.
That is why a language was created, in which the expected behavior of the application is described in simple text form, and then through the BDD framework, the text is translated into program code, which could already be used in testing the software product.
Where BDD is applied, software requirements turn into living code, and tests instead of a programming language are written in simple human language.
In this talk, using the automation of website testing as an example, the Behave framework for Python will be shown.
The talk will be about:
writing bdd files;
performing them in behave;
running BDD as tests in pytest;
integrating everything into the CI pipeline.
- почему PHP программисты снискали дурную славу;
- что делать, чтобы стать хорошим программистом;
- как писать идеальный код;
- что такое командная разработка проекта;
- учет позиции бизнеса при разработке проекта;
- основные задачи, который должен решать программист;
Доклад на hotcode.org о инструментах и методиках которые помогают нам повышать и следить за качеством PHP кода.
Среди затронутых тем:
- Стандарты в коде
- Средства для статического анализа кода.
- Git хуки
- Непрерывная интеграция
- IDE
- Code review
Egor Fedorov "Behavior-driven development in Python"Fwdays
The goal of the BDD technique is to establish successful communication between customers, business analysts, programmers, and testers for the whole life of the project.
That is why a language was created, in which the expected behavior of the application is described in simple text form, and then through the BDD framework, the text is translated into program code, which could already be used in testing the software product.
Where BDD is applied, software requirements turn into living code, and tests instead of a programming language are written in simple human language.
In this talk, using the automation of website testing as an example, the Behave framework for Python will be shown.
The talk will be about:
writing bdd files;
performing them in behave;
running BDD as tests in pytest;
integrating everything into the CI pipeline.
- почему PHP программисты снискали дурную славу;
- что делать, чтобы стать хорошим программистом;
- как писать идеальный код;
- что такое командная разработка проекта;
- учет позиции бизнеса при разработке проекта;
- основные задачи, который должен решать программист;
Краткая история автоматизации тестирования с использованием Selenium RC и Python. Выбор способа организации тестов (Selenium IDE, Page Object модель и ее модификация). Преимущества и недостатки от использования каждого из способов. Способы хранения локаторов и их сравнение. Описание фреймворка py.test, базовый пример интеграции тестов и их использования.
Опросный лист оценки знаний по соревновательной робототехникеAlexander Kolotov
Опросный лист оценки знаний по соревновательной робототехнике, содержащий матрицу компетенций, которыми рекомендуется овладеть потенциальным участникам робототехнических состязаний уровня World Robot Olympiad.
Краткая история автоматизации тестирования с использованием Selenium RC и Python. Выбор способа организации тестов (Selenium IDE, Page Object модель и ее модификация). Преимущества и недостатки от использования каждого из способов. Способы хранения локаторов и их сравнение. Описание фреймворка py.test, базовый пример интеграции тестов и их использования.
Опросный лист оценки знаний по соревновательной робототехникеAlexander Kolotov
Опросный лист оценки знаний по соревновательной робототехнике, содержащий матрицу компетенций, которыми рекомендуется овладеть потенциальным участникам робототехнических состязаний уровня World Robot Olympiad.
Слайды с одноименного доклада на IT Global Meetup 2015, прошедшего в Санкт-Петербурге 6 июля.
Тезисы:
* Контроль за качеством кода - это необходимая процедура при работе нескольких человек в одной команде над продуктом из более чем сотни строк. Зачем это нужно? Каждый пишет код по-своему, ожидает понимания от остальных участников команды, но в жизни этого не происходит.
* Недостатки разнобоя в стиле написанного кода: увеличивается время ревью, усложняется внесение правок кем-либо кроме автора кода, увеличивается вероятность пропустить глазами ошибку.
* Основные шаги к решению этой проблемы: создание единого свода правил по оформлению кода (style guide), согласование процедуры разрешения конфликтных ситуаций относительно разночтений этих правил, устранение человеческого фактора в процессе оценки через автоматизацию.
* Что из экосистемы Питона может помочь? При составлении style guide можно взять за основу PEP8 и PEP257, дополнив их принятыми в команде конвенциями (какие кавычки использовать для строк и докстрингов, и т.д. и т.п.). Автоматизировать проверки можно как с помощью уже готовых утилит (pep8, flake8, pylint), так и написав свои с помощью встроенного в язык инструментария (модули ast, tokenizer, сторонние библиотеки для работы с кодом).
* Где производить проверки? Есть несколько возможных этапов:
- IDE разработчика
- Локальная VCS (working copy)
- Общая VCS
- Сервер Continous Integration.
В идеале проверки должны быть на каждом этапе, но при этом как можно меньше затруднять обычный рабочий процесс. Здесь стоит задуматься, какая комбинация из этих этапов лучше всего впишется в стиль разработчки команды.
* Если же нет достаточных ресурсов или проект находится
The practical story telling how Devops changed the culture of quality in the Bank. Recently Devops became mainstream topic. But only few people have a deep understanding how to apply it to the process of software quality assurance. Some believe that the Devops kills manual testing.
I will talk about changes it makes to the role of QA engineers themself. The discussion main point is NOT about tools or technologies. It’s NOT about the “silver bullet” for your problems with the quality of products.
Instead, I will show you an integrated approach which we used for quality assurance. It allowed us to significantly reduce the cost of finding and fixing defects. This approach has also accelerated the development and delivery value to our customers and made the whole process more transparent and predictable.
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
Summary: Presentation on open source testing frameworks (improved version, more focus on real project example) at Software Engineering Forum 2009 (SEF-1) conference by Aliaksandr Ikhelis. Sponte framework developer and owner is Stanislaw Wozniak, Expedia Limited, UK. Sponte project homepage: http://rubyforge.org/projects/sponte/; http://github.com/swozniak/sponte/tree/master
2. TDD vs BDD
Для всех
Процесс
Высокий уровень
Что делать
Делать что правильно
Для разработчиков
Код
Низкий уровень
Как делать
Делать как правильно
Тестирование
Автоматизация
3. ● Пользовательские истории
● Gherkin
● Behat
ЧТО?
● Дизайн функциональности
● Общий язык общения для
бизнеса, тестеров и
разработчиков
● Спецификация описания
требований и функциональности
● Приемочное тестирование
КАК?
8. Что-то еще?
● Сюиты с отдельными наборами спецификаций (тестов)
● Контексты для разных сценариев:
○ для api
○ для фронтенда
○ для отдельных классов…
● Типовые сценарии для проверки по списку входных параметров
● Компоненты для интеграции с symfony и yii
● На базе codeception и может работать с ней параллельно