Мир мобильных телефонов очень сильно изменил нашу жизнь. В наше время невозможно представить современного человека, без этого чудо устройства. На рынке появляется все больше устройств и приложений. И чтобы удобнее пользоваться этими приложениями пользователи выбирают “умные” телефоны, или как их еще принято называть смартфоны. В своем докладе я хочу поделиться своим опытом автоматизации приложений под Android и iOS. Я расскажу о том, какие инструменты автоматизации я использовал. Поговорим о недостатках этих инструментов и какие из них стоит использовать у себя на проекте.
Мир мобильных телефонов очень сильно изменил нашу жизнь. В наше время невозможно представить современного человека, без этого чудо устройства. На рынке появляется все больше устройств и приложений. И чтобы удобнее пользоваться этими приложениями пользователи выбирают “умные” телефоны, или как их еще принято называть смартфоны. В своем докладе я хочу поделиться своим опытом автоматизации приложений под Android и iOS. Я расскажу о том, какие инструменты автоматизации я использовал. Поговорим о недостатках этих инструментов и какие из них стоит использовать у себя на проекте.
Андрей Стахиевич - Appium Mobile Automation ToolQA Club Minsk
Презентация со встречи QA Club Minsk (адаптированная под Confet QA) 4 декабря 2013 г. "Appium Mobile Automation Tool", автор и докладчик Андрей Стахиевич
Михаил Левин: Автоматизация в мобильном тестированииYandex
Задача автоматизации тестирования мобильных приложений сейчас очень актуальна. Это точка приложения усилий многих команд, которые занимаются мобильными приложениями и разрабатывают фреймворки. В докладе я расскажу о предпосылках возникновения интереса к этой теме и о том, какие инструменты мобильного тестирования сейчас существуют и какие использует Яндекс. Вы узнаете также о проблемах, с которыми мы столкнулись на пути к удобной и дешёвой автоматизации тестирования и о том, какие из них нам ещё предстоит решить.
Презентация с Харьковского QA Talk: Автоматизация мобильных приложений на базе Appium. Специфика и подходы в автоматизации Web/Native/Hybrid приложений
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
Дмитрий Лукьяненко, QA Automation рассматривает:
- Selenium IDE;
- Selenium WebDriver;
- Page Obgect Pattern;
- Page Factory Pattern;
- локаторы;
- как построить фреймворк и куда его можно дальше развивать.
Зубович Вадим, Минск. Опыт в IT более 5 лет, работает в компании ISSoft, специализация: разработка (.NET C# ASP\MVC, WPF, WinForm, Java) и автоматизация функционального тестирования програмного обеспечения (Web, Desktop, Mobile) и тестирования производительности (Web).
«Сравнительный анализ инструментов для автоматизации тестирования мобильных приложений». Development секция. Отделение тестирования.
Мобильные платформы уже набрали огромную популярность, и продолжают наращивать обороты. Ни один разработчик уже не обходит стороной мобильные приложения и автоматизация тестирования в этой сфере актуальна как никогда.
В настоящем докладе мы рассмотрим наиболее популярные и перспективные инструменты для автоматизации тестирования приложений для мобильных операционных систем iOS, Android и WindowsPhone, проведем анализ их особенностей и возможностей, основываясь на опыте их использования в рамках реальных проектов, а также подведем общий итог с рекоммендациями по выбору того или иного инструмента.
«Централизованное управление тестами с помощью TestLink». Development секция. Отделение тестирования.
Эффективное управление тестами это не только грамотный тим-менеджмент, это еще и правильный учет, контроль результатов и своевременное и централизованное обновление информации о тестах для всех участников процесса и силами всех участников процесса.
Достичь этого невозможно без системы управления тестами, позволяющей эффективно распределить права и обязанности участников и обеспечить постоянное поддержание информации о тестах в актуальном состоянии.
TestLink – бесплатный инструмент, предназначенный именно для выполнения этой задачи.
В рамках до
Андрей Стахиевич - Appium Mobile Automation ToolQA Club Minsk
Презентация со встречи QA Club Minsk (адаптированная под Confet QA) 4 декабря 2013 г. "Appium Mobile Automation Tool", автор и докладчик Андрей Стахиевич
Михаил Левин: Автоматизация в мобильном тестированииYandex
Задача автоматизации тестирования мобильных приложений сейчас очень актуальна. Это точка приложения усилий многих команд, которые занимаются мобильными приложениями и разрабатывают фреймворки. В докладе я расскажу о предпосылках возникновения интереса к этой теме и о том, какие инструменты мобильного тестирования сейчас существуют и какие использует Яндекс. Вы узнаете также о проблемах, с которыми мы столкнулись на пути к удобной и дешёвой автоматизации тестирования и о том, какие из них нам ещё предстоит решить.
Презентация с Харьковского QA Talk: Автоматизация мобильных приложений на базе Appium. Специфика и подходы в автоматизации Web/Native/Hybrid приложений
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
Дмитрий Лукьяненко, QA Automation рассматривает:
- Selenium IDE;
- Selenium WebDriver;
- Page Obgect Pattern;
- Page Factory Pattern;
- локаторы;
- как построить фреймворк и куда его можно дальше развивать.
Зубович Вадим, Минск. Опыт в IT более 5 лет, работает в компании ISSoft, специализация: разработка (.NET C# ASP\MVC, WPF, WinForm, Java) и автоматизация функционального тестирования програмного обеспечения (Web, Desktop, Mobile) и тестирования производительности (Web).
«Сравнительный анализ инструментов для автоматизации тестирования мобильных приложений». Development секция. Отделение тестирования.
Мобильные платформы уже набрали огромную популярность, и продолжают наращивать обороты. Ни один разработчик уже не обходит стороной мобильные приложения и автоматизация тестирования в этой сфере актуальна как никогда.
В настоящем докладе мы рассмотрим наиболее популярные и перспективные инструменты для автоматизации тестирования приложений для мобильных операционных систем iOS, Android и WindowsPhone, проведем анализ их особенностей и возможностей, основываясь на опыте их использования в рамках реальных проектов, а также подведем общий итог с рекоммендациями по выбору того или иного инструмента.
«Централизованное управление тестами с помощью TestLink». Development секция. Отделение тестирования.
Эффективное управление тестами это не только грамотный тим-менеджмент, это еще и правильный учет, контроль результатов и своевременное и централизованное обновление информации о тестах для всех участников процесса и силами всех участников процесса.
Достичь этого невозможно без системы управления тестами, позволяющей эффективно распределить права и обязанности участников и обеспечить постоянное поддержание информации о тестах в актуальном состоянии.
TestLink – бесплатный инструмент, предназначенный именно для выполнения этой задачи.
В рамках до
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
В своем докладе я расскажу, как мы внедряли devops в банке, а конкретнее какую роль в этом процессе сыграло тестирование. Также расскажу с какими проблемами столкнулись, и как мы их устраняли. И да, каких результатов смогли добиться уже через полгода. А самое интересное, покажу как мы смогли добиться того, чтоб у нас pull request долетал до боя за 3 часа со всеми этапами тестирования.
Доклад будет содержать большое количество лайфхаков и обзоров инструментария, который мы использовали.
Практический доклад о том, как мы внедряли devops в банке, а конкретнее какую роль в этом процессе сыграло тестирование.
В докладе рассмотрены основные проблемы, с которыми команда столкнулась при внедрении и способы их устранения.
Продемонстрированы результаты, которых смогли достичь в течении полугода.
Доклад содержит большое количество лайфхаков и обзоров инструментария, который использовался для достижения цели.
XP Days Ukraine 2014 - Refactoring legacy codeDmytro Mindra
Every programmer has to face legacy code day after day. It might be ugly, it might look scary, it can make a grown man cry. Some will throw it away and try rewriting everything from scratch. Most of them will fail.
Refactoring legacy code is a much better idea. It is not so scary when you take it in very small bites, introduce small changes, add unit tests. When code is refactored and unit tests are added, changes to functinality can be introduced.
We will take an open source C# project and will refactor it showing step-by-step examples of the techniques. This session is full of tips and tricks you can start applying immediately. Although the code is in C#, the same principles can be applied in any language.
Презентация на комплексную тему Continious integration-Automated Testing-Agile, показывается связи между этими темам, обоснование автоматического тестирования , и вложения ресурсов для развертывания автоматического тестирования и непрерываной интеграциия. Все темы тесно связаны между собой , хотя бы появились независимос друг от друга.
Слады для выступления на GDG DevFest Бишкек, 2014.
https://plus.google.com/events/cgschph5k60ua1ldq0b06i3o3r8
Выступление сделано по книжке "Как тестируют в Google"
«Scrapy internals» Александр Сибиряков, Scrapinghubit-people
- Scrapy is a framework for web scraping that allows for extraction of structured data from HTML/XML through selectors like CSS and XPath. It provides features like an interactive shell, feed exports, encoding support, and more.
- Scrapy is built on top of the Twisted asynchronous networking framework, which provides an event loop and deferreds. It handles protocols and transports like TCP, HTTP, and more across platforms.
- Scrapy architecture includes components like the downloader, scraper, and item pipelines that communicate internally. Flow control is needed between these to limit memory usage and scheduling through techniques like concurrent item limits, memory limits, and delays between calls.
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrainsit-people
The document discusses debugging in Python 3.6. It describes tracing and frame evaluation debuggers. Tracing debuggers slow code execution significantly by calling the tracing function on every line. Python 3.6 introduced a new frame evaluation API that allows evaluating frames directly, avoiding the performance issues of tracing. The document demonstrates how to build a debugger using this approach, including setting breakpoints and stepping through code by inserting temporary breakpoints on each line. Frame evaluation allows building a debugger that is faster than tracing debuggers without significant performance penalties.
«Gevent — быть или не быть?» Александр Мокров, Positive Technologiesit-people
Gevent is a concurrency library for Python that uses greenlets, or lightweight coroutines, to provide asynchronous operations and non-blocking I/O. It allows developing highly concurrent applications using a simple and familiar synchronous style. The document compares gevent to other concurrency options like asyncio and discusses how it provides features like asynchronous task execution, event loops, and inter-greenlet communication using queues and callbacks.
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...it-people
The document discusses what serverless computing is and how it can be used for building applications. Serverless applications rely on third party services to manage server infrastructure and are event-triggered. Popular serverless frameworks like AWS Lambda, Google Cloud Functions, Microsoft Azure Functions, and Zappa allow developers to write code that runs in a serverless environment and handle events and triggers without having to manage servers.
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologiesit-people
The document describes a talk on optimizing Python performance through just-in-time compilation. It discusses how the CPython interpreter works by evaluating bytecode through an evaluation loop. It then talks about how PyPy achieves faster performance through jit compilation of hot loops detected via tracing. The talk dives into the RPython language used to implement PyPy and shows an example of compiling a small Python program to C with RPython. It also discusses using partial evaluation to specialize an interpreter for constant inputs.
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn Systemit-people
The document appears to be a transcript of Python code being executed in an interactive Python shell. It contains examples testing the behavior of built-in functions and operators like sorted(), reversed(), isinstance(), sum(), float("nan"), is, min(), and comparisons like ==, <, on various data types including lists, tuples, and dictionaries.
«(Без)опасный Python», Иван Цыганов, Positive Technologiesit-people
The document discusses various security vulnerabilities in Python web applications. It begins with an overview of the OWASP Top 10 security risks, with sections focusing on risks related to using components with known vulnerabilities (A9) and insufficient attack protection (A7). For A9, it provides examples of vulnerabilities in popular Python packages and recommends checking changelogs and vulnerability databases. For A7, it recommends implementing attack protections like login attempts logging, rate limiting, and use of a web application firewall. The document also covers security misconfiguration (A5), giving examples like using default settings in production and exposing tracebacks.
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...it-people
The document discusses best practices for writing tests in Swift, including recommendations to:
- Write clean, readable tests that focus on asserting a single truth
- Use a domain-specific language in tests for clarity
- Structure tests with "given-when-then"
- Mock dependencies through protocols to enable test isolation
- Favor partial mocks over fully mocking to limit complexity
2. Для менеджеров.
- Нужно найти специалистов по автоматизированному
тестированию или выучить существующих
разработчиков.
+ Разработчики, покрывающие код тестами, никогда не
вернуться к грехам прошлого
+ Точность сроков сдачи повышается с качеством кода.
- Около 40% времени нужно добавить на написание и
поддержку тестов.
+ Большая часть времени ручного тестирования и
исправления багов убирается.
3. Для разработчиков. Преимущества.
● Вы пишите чистый код на чистой, модульной, слабо-
связной архитектуре.
● Повышается ваша уверенность в правильной работе
вашего кода.
● Описывая тестовые кейсы, вы структурируете в
голове и в IDE работу вашего модуля.
● Легче разобраться, что делает тот или иной модуль,
всегда можно посмотреть тесты для него.
4. История тестирования. Что можно было вчера.
● JUnit 3 тесты, которые прогоняются на устройстве.
● Monkey и MonkeyRunner. Предки Espresso.
● Roboelectric. Переход на локальную JVM.
● Robotium. Полноценные автоматизированные тесты
UI.
5. История тестирования. Espresso. Преимущества.
Espresso по сравнению с Robotium:
● Более читабельное и удобное для расширений API
● Меньшая завязанность на Android фреймворке
● Быстрота выполнения
● Легкочитаемые ошибки
● Синхронизация в много-поточном приложении
6. История тестирования. Testing support library.
http://developer.android.com/intl/ru/tools/testing-support-library/index.html
7.
8. MVP. Конкретнее некуда
● Вы можете не следовать S.O.L.I.D.
● Вы можете не отделять полностью слои и делать
вертикальную архитектуру
● Вы можете даже не внедрять Dependency Injection
● Но вы должны отделять вашу бизнес логику от UI.
10. MVP. Presenter, ты наше все.
● Не держите ничего зависимого от контекста в классе
Presenter.
● Покрывайте каждый метод тестами.
● Мокайте внешние зависимости и утилиты, зависимые
от Android SDK и контекста.
11.
12. Test Driven Development.
● Вы пишете тест для вашего метода, в котором нет
обращений к Android SDK.
● Он выполняется на JVM мгновенно.
● Пока вы пишете тест, вы формализуете в голове, как
должен работать ваш метод, моделируете
нормальное поведение и поведение в граничных
условиях.
● Вы пишите чисто, разбиваете на большее число
методов и уверены в каждом из них, благодаря
высокой степени покрытия.
14. Мокирование.
● Mockito - для подмены ответов при вызовах методов
мокируемого класса и проверки, что методы
мокируемого класса были вызваны.
● PowerMock - для работы с приватными и статичными
полями и методами.
● OkHttpMockServer - для мокирования обращений к
серверу при использовании OkHttp в качестве http-
клиента.
20. Автоматическое тестирование.
Мы не пишем ни одного теста, сценария, скрипта.
Тестовый фреймворк сам нажимает на различные кнопки
и переходит между экранами. Создает скриншоты,
замеряет производительности на разных окружениях.
● NimbleDroid - бесплатный сервис, загрузив в него apk
мы смотрим результаты запуска нашего приложения и
прохода по его экранам.
22. Google Cloud Test Lab
Стоит денег, но при этом позволяет:
● осуществлять автоматическое тестирование на
реальных девайсах через облако,
● запускать из Android Studio/консоли/CI любые
тесты на реальных устройствах через облако,
● просматривать результаты тестов в том числе со
скриншотами с реальных устройств на различных
конфигурациях.
36. UI тестирование. Тесты на разных экранах.
Espresso - только для одного Activity! В нем не стоит
тестировать переходы.
Для проверки переходов и взаимодействия с другими
приложениями - UI Automator!
http://d.android.com/
intl/ru/tools/
testing-support-library/
40. Задание на дом.
Сегодня написать новую Activity, выделив Presenter и покрыть
его тестами.
Завтра написать тест, проверяющий работу UI с помощью
Espresso.
На следующей неделе добавить в CI запуск всех тестов.
...