Андрей Зайцев - TDD в кровавом энтерпрайзеElias Fofanov
Поговорим о том, когда, как и для чего писать тесты, а так же научимся проходить интервью на позицию junior test automation engineer. Подумаем над тем, почему TDD не взлетает, и может ли что-то быть хуже. Рассмотрим на примере использование таких инструментов, как NUnit, FluentAssertions, Moq, HttpMock.
Андрей Зайцев - TDD в кровавом энтерпрайзеElias Fofanov
Поговорим о том, когда, как и для чего писать тесты, а так же научимся проходить интервью на позицию junior test automation engineer. Подумаем над тем, почему TDD не взлетает, и может ли что-то быть хуже. Рассмотрим на примере использование таких инструментов, как NUnit, FluentAssertions, Moq, HttpMock.
Фофанов Илья - Лучшие практики проектирования и реализации API на C#Elias Fofanov
C# – мощный и красивый объектно-ориентированный язык. Но мощь сама по себе не гарантирует, что всё написанное вами на C# будет эталоном. "Кривой" код встречается даже у опытных программистов, особенно если они пришли с других языков и платформ . И ладно бы некрасивости были связаны с реальными сложностями. Нет же! Кривизна возникает и в таких простых вещах, как именование элементов в соответствии со спецификацией языка C#. Многие не умеют выбрать между структурой и классом, не отличают команду от запроса и так далее. Если хотите, чтобы коллеги любили ваш код – этот вебинар для вас! Мы разберем:
- Принципы именования классов, переменных и т.д.
- Как выбрать между классом и структурой.
- Как выбрать между абстрактным классом и интерфейсом.
- Как выбрать между методом и свойством.
- Чего не стоит делать в конструкторе.
- Когда фабрика лучше конструктора.
- Как реализовать паттерн Dispose.
- Признак «одержимости примитивами».
- Скрытые зависимости.
- Нарушения закона Деметры.
- ВременнАя связанность.
- Когда хорош Switch-Case.
В первую очередь вебинар будет полезен:
– начинающим со знанием основ C# (без минимального знакомства с языком не все будет понятно),
– тем, кто переходит на C# с другого языка.
В некоторых разделах даже middle-девелоперы могут найти для себя что-то новое.
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения Iosif Itkin
КГТУ - Костромской Государственный Технологический Университет
Курс Лекций:
Обеспечение Качества Программного Обеспечения
Лекция 6: Обзор методов создания тестовых сценариев
Максим Рудовский, Инновационные Трейдинговые Системы
Иосиф Иткин, Exactpro Systems
Поплоухина Елена, Руководитель отдела тестирования в Usetech
https://vk.com/lena_flower
Расскажу об опыте организации процесса внутреннего тестирования проекта со строго формализованным техническим заданием от момента получения технического задания для тестирования требований до момента передачи релиза на приемочное тестирование.
я рассматриваю 3 основных критерия выбора:
1. Эффективность модулей безопасности.
2. Производительность.
3. Общая стоимость владения.
А также отвечаю на 4 вопроса:
1. Какой план действий при выборе и тестировании NGFW?
2. Какой способ тестирования самый правильный?
3. Как анализировать результаты тестов производительности и эффективности NGFW от внешних лабораторий?
4. Что иногда говорят производители NGFW и их партнеры, чтобы показать свои устройства в лучшем свете и принизить устройства конкурентов?
TMPA-2013 Itsykson: Java Program AnalysisIosif Itkin
Tools & Methods of Program Analysis (TMPA-2013)
Andrianova, А., Itsykson, V., St. Petersburg State Polytechnic University
Automated Test Synthesis for Java Programs Based on Program Analysis and Contract Inventory
Фофанов Илья - Лучшие практики проектирования и реализации API на C#Elias Fofanov
C# – мощный и красивый объектно-ориентированный язык. Но мощь сама по себе не гарантирует, что всё написанное вами на C# будет эталоном. "Кривой" код встречается даже у опытных программистов, особенно если они пришли с других языков и платформ . И ладно бы некрасивости были связаны с реальными сложностями. Нет же! Кривизна возникает и в таких простых вещах, как именование элементов в соответствии со спецификацией языка C#. Многие не умеют выбрать между структурой и классом, не отличают команду от запроса и так далее. Если хотите, чтобы коллеги любили ваш код – этот вебинар для вас! Мы разберем:
- Принципы именования классов, переменных и т.д.
- Как выбрать между классом и структурой.
- Как выбрать между абстрактным классом и интерфейсом.
- Как выбрать между методом и свойством.
- Чего не стоит делать в конструкторе.
- Когда фабрика лучше конструктора.
- Как реализовать паттерн Dispose.
- Признак «одержимости примитивами».
- Скрытые зависимости.
- Нарушения закона Деметры.
- ВременнАя связанность.
- Когда хорош Switch-Case.
В первую очередь вебинар будет полезен:
– начинающим со знанием основ C# (без минимального знакомства с языком не все будет понятно),
– тем, кто переходит на C# с другого языка.
В некоторых разделах даже middle-девелоперы могут найти для себя что-то новое.
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения Iosif Itkin
КГТУ - Костромской Государственный Технологический Университет
Курс Лекций:
Обеспечение Качества Программного Обеспечения
Лекция 6: Обзор методов создания тестовых сценариев
Максим Рудовский, Инновационные Трейдинговые Системы
Иосиф Иткин, Exactpro Systems
Поплоухина Елена, Руководитель отдела тестирования в Usetech
https://vk.com/lena_flower
Расскажу об опыте организации процесса внутреннего тестирования проекта со строго формализованным техническим заданием от момента получения технического задания для тестирования требований до момента передачи релиза на приемочное тестирование.
я рассматриваю 3 основных критерия выбора:
1. Эффективность модулей безопасности.
2. Производительность.
3. Общая стоимость владения.
А также отвечаю на 4 вопроса:
1. Какой план действий при выборе и тестировании NGFW?
2. Какой способ тестирования самый правильный?
3. Как анализировать результаты тестов производительности и эффективности NGFW от внешних лабораторий?
4. Что иногда говорят производители NGFW и их партнеры, чтобы показать свои устройства в лучшем свете и принизить устройства конкурентов?
TMPA-2013 Itsykson: Java Program AnalysisIosif Itkin
Tools & Methods of Program Analysis (TMPA-2013)
Andrianova, А., Itsykson, V., St. Petersburg State Polytechnic University
Automated Test Synthesis for Java Programs Based on Program Analysis and Contract Inventory
Презентация к докладу - работа с потоками в .net
* Основе работы с потоками
* Средства блокирующей синхронизации
* Неблокирующая синхронизация
* Асинхронная модель программирования
* Пул потоков
* Класс BackGroundWorker
* Задачи
* Модель поставщик-потребитель
* Блокировка с двойной проверкой
John Sullivan from DMC presented on WinCC Open Architecture (OA) and how it can be applied to oil and gas projects. Key features of WinCC OA include its distributed architecture, scalability, ability to auto-generate configurations for new sites, remote monitoring capabilities including GIS viewing, integrated data collection, custom configuration tools, support for multi-user development, and ultralight web and mobile clients. Case studies were presented on how WinCC OA has been used for distributed generator management and how its features translate well to applications in upstream, midstream, and downstream oil and gas.
В докладе будет:
- что такое F.I.R.S.T
- организация кода приложения для повышения его тестируемости, поддерживаемости и производительности
- какой тест-фреймворк выбрать для решения какой задачи?
- какие виды тестирования бывают и за какие из них отвечают разработчики?
- как тратить больше времени на код, а не на тесты
- как и какие метрики тестирования собирать
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.
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
В своем докладе я расскажу, как мы внедряли devops в банке, а конкретнее какую роль в этом процессе сыграло тестирование. Также расскажу с какими проблемами столкнулись, и как мы их устраняли. И да, каких результатов смогли добиться уже через полгода. А самое интересное, покажу как мы смогли добиться того, чтоб у нас pull request долетал до боя за 3 часа со всеми этапами тестирования.
Доклад будет содержать большое количество лайфхаков и обзоров инструментария, который мы использовали.
Практический доклад о том, как мы внедряли devops в банке, а конкретнее какую роль в этом процессе сыграло тестирование.
В докладе рассмотрены основные проблемы, с которыми команда столкнулась при внедрении и способы их устранения.
Продемонстрированы результаты, которых смогли достичь в течении полугода.
Доклад содержит большое количество лайфхаков и обзоров инструментария, который использовался для достижения цели.
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Mail.ru Group
Существует мнение, что от разработчиков системы автоматизированных тестов требуется высокая квалификация в области разработки программного обеспечения и солидный багаж знаний. Обычно таких людей в команде тестирования не много. Но можно начать работы по качественной автоматизации тестирования, даже не имея такого опыта. В докладе речь пойдет о:
отборе рекрутов в программу обучения автоматизации тестирования;
первичном пороге для вхождения в рекруты;
составлении учебной программы;
промежуточном контроле и испытаниях;
начале работы над реальными проектами;
подводных камнях и ошибках, которые можно допустить.
Применение этих знаний на собственном опыте позволило компании получить высокое покрытие проекта тестами и достичь результатов, когда каждый из команды разрабатывает и поддерживает автотесты, а также самостоятельно автоматизирует новые проекты.
Использование Mock-объектов в TDD на платформе .NET
1.
2. Пару слов про TDD
Рекомендации по написанию тестов
Что такое моки
Когда и каким образом использовать моки
Пример тестов с использованием
фреймворков
NUnit + NBehave
Moq
TestDox
3.
4. Разработка через тестирование (test-driven
development, TDD) — техника разработки
программного обеспечения, которая основывается
на повторении очень коротких циклов разработки:
1. сначала пишется тест, покрывающий желаемое
изменение
2. затем пишется код, который позволит пройти
тест
3. и под конец проводится рефакторинг нового
кода к соответствующим стандартам.
5.
6.
7.
8.
9. Тест должен «говорить» какой сценарий
он проверяет
Наименование теста пишется в нотации
pascal-case
Пример:
Message_Should_Be_Deleted_After_Send
10. Один тест проверяет один короткий
сценарий работы класса/набора
взаимодействующих классов
В одном тесте содержится только одна
проверка assert
11.
12.
13.
14. Моки – это автоматически генерируемые
заглушки для интерфейсов и классов.
Моки позволяют моделировать поведение
объекта:
Результаты работы методов
Генерацию событий, обратный вызов
методов
Обращение к методам и свойствам класса
16. Возврат определенных значений метода
объекта.
Генерацию событий объекта.
Верификацию количества вызовов
методов.
17. Виды unit-
тестов
Тесты Тесты
состояния взаимодействия
18.
19. Генератор отчетов умеет создавать отчет
на выбранную дату
Отчеты могут быть созданы как за текущие
сутки, так и за прошлые
Формирование отчетов за будущее
недоступно
Отчеты сформированный в нечетные дни
должны отправляться по почте
20. Быстрый старт по библиотеке Moq –
http://code.google.com/p/moq/wiki/QuickStart
Александр Бындю «TDD для начинающих»
– http://vimeo.com/9541997
Андрей Бибичев «Быстрое введение в TDD
от А до Я» – http://www.slideshare.net/biBIGine/fast-intro-into-tdd
21. Написание unit-тестов
Рекомендации по оформлению тестов
Тестирование генерации исключений, событий
Использование фреймворка Moq
Имитация работы объекта в зависимости от
параметра
Верификация вызовов
22. Трёшников Павел
Ведущий разработчик СМС-ИТ
▪ www.sms-automation.ru
e-mail: treshnikov@gmail.com
twitter: @treshnikov