http://techtalks.nsu.ru
Видеозапись: http://www.youtube.com/watch?v=9sWD3RBwz30
23 сентября 2014. Проходим тест Джоэла (Семён Факторович и Олег Годовых, Noveo)
«Вот уже 14 лет как Джоэл Спольски придумал свой Joel test, но до сих пор далеко не все компании успешно проходят его. Мы поговорим о самых важных частях этого теста: о сервисах и инфраструктурных инструментах разработки (к ним относятся системы контроля версий, багтрекеры, continuous integration...) Принципы, о которых мы расскажем, одинаково применимы и для крупных компаний, и для стильных молодежных стартапов, и для студенческих курсовых проектов.»
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Джоэл Спольски много лет назад придумал тест на качество и адекватность IT-компании, но ценности он не теряет и по сей день.
Сентябрь 2014, TechTalks NSU, Новосибирск
http://techtalks.nsu.ru
Видеозапись: http://www.youtube.com/watch?v=9sWD3RBwz30
23 сентября 2014. Проходим тест Джоэла (Семён Факторович и Олег Годовых, Noveo)
«Вот уже 14 лет как Джоэл Спольски придумал свой Joel test, но до сих пор далеко не все компании успешно проходят его. Мы поговорим о самых важных частях этого теста: о сервисах и инфраструктурных инструментах разработки (к ним относятся системы контроля версий, багтрекеры, continuous integration...) Принципы, о которых мы расскажем, одинаково применимы и для крупных компаний, и для стильных молодежных стартапов, и для студенческих курсовых проектов.»
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Джоэл Спольски много лет назад придумал тест на качество и адекватность IT-компании, но ценности он не теряет и по сей день.
Сентябрь 2014, TechTalks NSU, Новосибирск
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.
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
Матерый enterprise проект с "зоопарком" из разнообразных технологий. Часто меняющаяся команда и требовательный заказчик. Менеджер, активно пытающийся вытянуть проект... Все составляющие для сюжета, достойного Титаника.
Было перепробовано множество практик для улучшения процесса разработки, и больше всего это влияло на нас, разработчиков. В одночасье рушились привычные устои, а новые, не успев прижиться, менялись снова. Разве возможна нормальная работа в такой нервной обстановке?
Автор критически оценит парное программирование, тестирование, code review и прочие практики из мира улучшения разработки, а также расшарит набитые шишки и обнаруженные грабли.
В этом докладе вы услышите историю о том, как можно построить процесс автоматизированного тестирования и непрерывной интеграции за короткий период времени. Мы поговорим о точках роста, развития и внедрения автоматизированного тестирования на уже существующем проекте. Вы узнаете, что с чего начинать автоматизированное тестирование и как выбрать "работающую" стратегию. После доклада вы захотите избавиться или значительно сократить ручное тестирование и ручной труд у себя на проекте. Вы откроете для себя целую систему, элементы который можно будет внедрять у себя, и которые будут работать.
Доклад будет интересен всем тестировщикам, разработчикам и менеджерам проектов.
Тестирование — это способ узнать о разнообразных проблемах, которые могут возникнуть во время разработки вашего проекта. В лекции рассмотрены различные виды тестирования и различные практики, которые позволят вам узнавать о проблемах заранее.
Современный мир ускоряется, и от тестирования требуется быстрые и стабильные тесты. В этом мастер-классе предлагается уйти от UI автоматизации и перейти на уровень ниже "пирамиды тестирования", на уровень WEB API. Не обещаю теорию, но будет много практических кейсов. В качестве примера я возьму популярный веб сайт с открытым API и покажу как за относительно небольшое время можно создавать хорошие тесты! Причем тесты мы будем создавать совместно, и особых навыков программирования от участников здесь не потребуется, достаточно включить логику и желание освоить что-то новое.
QA Fest 2019. Андрей Солнцев. Десять причин моей ненавистиQAFest
Меня часто спрашивают, за что я не люблю в тестах Page Objects, TestNG, ReportPortal, try/catch, циклы и условия, неявные ожидания, явные ожидания, Dependency injection, Spring и т.д.
Расскажу коротко и быстро. На каждую тему 5 минут.
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Ontico
РИТ++ 2017, AppsConf
Зал Найроби + Касабланка, 5 июня, 16:00
Тезисы:
http://appsconf.ru/2017/abstracts/2807.html
- Как мы решили связаться с автоматизацией тестирования и что из этого вышло.
- Наша инфраструктура для тестирования. Что тестируем, как тестируем и как следим за результатами.
- Как получать пользу от автоматизации, если продукт сильно меняется минимум раз в год.
- Особенности текущего инструментария. Что стоит учитывать и на что обратить внимание.
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.
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
Матерый enterprise проект с "зоопарком" из разнообразных технологий. Часто меняющаяся команда и требовательный заказчик. Менеджер, активно пытающийся вытянуть проект... Все составляющие для сюжета, достойного Титаника.
Было перепробовано множество практик для улучшения процесса разработки, и больше всего это влияло на нас, разработчиков. В одночасье рушились привычные устои, а новые, не успев прижиться, менялись снова. Разве возможна нормальная работа в такой нервной обстановке?
Автор критически оценит парное программирование, тестирование, code review и прочие практики из мира улучшения разработки, а также расшарит набитые шишки и обнаруженные грабли.
В этом докладе вы услышите историю о том, как можно построить процесс автоматизированного тестирования и непрерывной интеграции за короткий период времени. Мы поговорим о точках роста, развития и внедрения автоматизированного тестирования на уже существующем проекте. Вы узнаете, что с чего начинать автоматизированное тестирование и как выбрать "работающую" стратегию. После доклада вы захотите избавиться или значительно сократить ручное тестирование и ручной труд у себя на проекте. Вы откроете для себя целую систему, элементы который можно будет внедрять у себя, и которые будут работать.
Доклад будет интересен всем тестировщикам, разработчикам и менеджерам проектов.
Тестирование — это способ узнать о разнообразных проблемах, которые могут возникнуть во время разработки вашего проекта. В лекции рассмотрены различные виды тестирования и различные практики, которые позволят вам узнавать о проблемах заранее.
Современный мир ускоряется, и от тестирования требуется быстрые и стабильные тесты. В этом мастер-классе предлагается уйти от UI автоматизации и перейти на уровень ниже "пирамиды тестирования", на уровень WEB API. Не обещаю теорию, но будет много практических кейсов. В качестве примера я возьму популярный веб сайт с открытым API и покажу как за относительно небольшое время можно создавать хорошие тесты! Причем тесты мы будем создавать совместно, и особых навыков программирования от участников здесь не потребуется, достаточно включить логику и желание освоить что-то новое.
QA Fest 2019. Андрей Солнцев. Десять причин моей ненавистиQAFest
Меня часто спрашивают, за что я не люблю в тестах Page Objects, TestNG, ReportPortal, try/catch, циклы и условия, неявные ожидания, явные ожидания, Dependency injection, Spring и т.д.
Расскажу коротко и быстро. На каждую тему 5 минут.
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Ontico
РИТ++ 2017, AppsConf
Зал Найроби + Касабланка, 5 июня, 16:00
Тезисы:
http://appsconf.ru/2017/abstracts/2807.html
- Как мы решили связаться с автоматизацией тестирования и что из этого вышло.
- Наша инфраструктура для тестирования. Что тестируем, как тестируем и как следим за результатами.
- Как получать пользу от автоматизации, если продукт сильно меняется минимум раз в год.
- Особенности текущего инструментария. Что стоит учитывать и на что обратить внимание.
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidDevGAMM Conference
Unity для платформы Android решает за разработчика огромное количество проблем. Что впрочем не отменяет умелое использование этого мощного инструментария. Приходите и узнайте секреты и хитрости разработки от участника команды Unity Android.
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Fwdays
Как искать и выбирать оптимальные решения? Для одной задачи подойдет React, для другой - Zepto. Сегодня вы пишите для браузера, завтра думаете, как использовать native-ресурсы iOS.
Не все технологии, которые удобны разработчику, могут дать удобство конечному пользователю.
Я расскажу о балансе, который позволяет бизнесу получать результат, а разработчику - решение.
Yandex Mobile Camp в Санкт-Петербурге, 30 мая 2012
Юрий Василевский, ведущий разработчик EPAM Systems, Mobile Solutions
Тема: Автоматизация в XCode
Тезисы:
Xcode — основной инструментарий разработки приложений под Mac OS X и Apple iOS. Он обладает широкими возможностями как для редактирования кода, так и для автоматизации задач.
Мы рассмотрим некоторые из аспектов автоматизации (Code Sense, Targets, Services, Help), связанные с нумерацией сборок билдов, форматированием и контролем стиля кода, анализом дублированных участков кода, управлением внешними библиотеками.
Юрий Василевский «Автоматизация в XCode»
Yandex Mobile Camp в Санкт-Петербурге 2012
http://events.yandex.ru/events/yamobcamp/spb-may-2012/
Xcode — основной инструментарий разработки приложений под Mac OS X и Apple iOS. Он обладает широкими возможностями как для редактирования кода, так и для автоматизации задач. Мы обсудим некоторые из аспектов автоматизации (Code Sense, Targets, Services, Help), связанные с нумерацией сборок билдов, форматированием и контролем стиля кода, анализом дублированных участков кода, управлением внешними библиотеками.
Есть ли жизнь после релиза мобильного приложения?Alexander Khozya
1. Отличия заказной и продуктовой разработки
2. Какие инструменты для сбора краш логов и аналитики есть на рынке?
3. Какие используем мы
4. Воспроизводим найденные краши
5. Использование обезьянок вместе со средствами аналитики
6. Перевыкладка
7. Внутреннее бета-тестирование
8. A/B тестирование
Доклад Александра Хози и Николая Козлова на Mobile ConfetQA. "Есть ли жизнь п...Badoo Development
Мобильные тестировщики компании Badoo рассказывают об опыте тестирования нативных приложений, о сервисах сбора статистики и анализа данных, организации внешних и внутренних бета-релизов и о многом другом.
Introduction to Mobile applications testingOleg Nikiforov
Видео презентации: http://www.youtube.com/watch?v=pdWYmxbTgYw
Ссылка на iOS specifications map: https://www.dropbox.com/s/40eb09lvlsn8flm/ios_testing.png
ребров андрей - Автоматизация QA это модноMagneta AI
В последнее время все большее внимание уделяется процессу автоматизации QA, так что мне захотелось немного рассказать о том, что же для меня QA и почему его хочется как можно больше автоматизировать. Все, о чем я буду писать, касается agile процессов, но по идее может быть перенесено и на традиционные методологии.
В докладе я постараюсь рассказать о тех инструментах и практиках, которые помогут автоматизировал процессы continuous delivery, создания отчетов и прочей скучной рутины.
Инструменты разные нужны, инструменты разные важныRoman Dvornov
В мире фронтенда уже существует большое количество инструментов: как браузерных, так и консольных. Но достаточно ли этих инструментов? Мне кажется, что нет. Веб-приложения становятся все больше и сложнее, и многое остается вне нашего поля зрения. Потому фреймворки и приложения должны предоставлять дополнительные инструменты, упрощающие разработку и улучшающие понимание того, что же происходит у них там — «под капотом». В ходе доклада я расскажу о таких инструментах: какими они могут быть, какие задачи могут решать, что необходимо для их создания.
CodeFest, Новосибирск, 28 марта 2015
http://www.youtube.com/watch?v=HMTc3DERw5c
Similar to 5 oleg nikiforov - automating routine tasks for mobile apps testing (20)
5 hans van loenhoud - master-class the 7 skills of highly successful teamsIevgenii Katsan
The document describes the 7 skills that are important for effective teamwork: communicate, empathize, explore, collaborate, ideate, tell, and sell. It provides examples and exercises for each skill, such as creating personas to understand customers, exploring problems and goals, identifying team roles using Belbin's model, brainstorming ideas through divergent and convergent thinking, and using storytelling to present solutions. The overall message is that soft skills are critical for team and project success in addition to technical skills.
7 hans van loenhoud - the problem-goal-solution trinityIevgenii Katsan
The document discusses the problem-goal-solution trinity, which refers to the relationship between problems, goals, and solutions from the perspective of stakeholders. It defines a problem as an undesirable current state that inhibits desired behavior, a goal as a desirable future state that requires action to achieve, and a solution as a roadmap or plan to remove the problem and enable reaching the goal. It notes that problems and goals can only be identified through stakeholder elicitation, and that one stakeholder's problem may be another's goal. The document also discusses how problems, goals, and their relationships are not static and can change over time and context.
Digital disruption is defined as an effect that changes fundamental expectations and behaviors in a culture, market, industry or process through digital capabilities. It is an innovation that uses digital technologies to create change in our society and can threaten existing market players. Successful digital disruption satisfies a higher goal in a completely new way that is better, easier and cheaper, often through digital means. Design thinking is a light-weight approach using methods like prototyping to develop practical solutions to ill-defined problems, focusing on building quick prototypes to fail fast and succeed sooner through techniques like empathy mapping and the double diamond model. The lean startup approach emphasizes building minimal viable products to collect maximum learning from customers with minimum effort through pivoting based on testing and metrics.
5 victoria cupet - learn to play business analysisIevgenii Katsan
The document discusses how games can be used to support business analysis activities. It provides examples of different types of games that can be used for requirements gathering, prioritization, discovery, and innovation. Some key games discussed include Speed Boat to identify customer pain points, Spider Web to understand relationships between products, and Buy a Feature to prioritize features based on customer willingness to pay. The document advocates that games create structured activities that allow free and playful thinking to generate insights. It also provides tips for facilitating different games.
3 karabak kuyavets transformation of business analyst to product ownerIevgenii Katsan
The document discusses the transformation of a business analyst to a product owner role. It notes that hierarchical management modes are no longer suited for modern business challenges. Product modes were developed to allow teams to build, run, and iterate solutions continuously rather than separating these stages. A business analyst focuses on requirements gathering, while a product owner sets vision and priorities and makes decisions to support the team. The document advises business analysts to adopt a product owner mindset by focusing more on business objectives and outcomes rather than just requirements. It provides five recommendations for when and how to shift one's mindset to that of a product owner.
3 zornitsa nikolova - the product manager between decision making and facil...Ievgenii Katsan
The document discusses the role of the product manager and describes them as being like a "mini-CEO" who must lead by example. It defines the ideal product manager as being DRIVEN, which stands for decisive, ruthless, informed, versatile, empowering, and negotiable. Each of these traits is then further explained, with examples of how a product manager can demonstrate being decisive by prioritizing important decisions, informed by verifying assumptions, and negotiable by seeking consensus or consent from stakeholders. The document concludes by having product managers assess themselves on how well they embody these DRIVEN traits in their daily work.
9 natali renska - product and outsource development, how to cook 2 meals in...Ievgenii Katsan
Natali Renska discusses cooking two meals in one pan by presenting steps such as cooking proteins or vegetables for one meal first before adding ingredients for a second meal to the same pan. The document provides tips on saving time and money by using one pan to cook multiple ingredients sequentially for two separate meals. Various techniques are proposed, such as cooking pasta or rice as a base before adding protein and sauce components for another meal.
7 denis parkhomenko - from idea to execution how to make a product that cus...Ievgenii Katsan
The document provides tips on how to make a product that customers will love. It discusses focusing on the problem and solution, targeting a specific market, and building a strong brand. It also outlines the typical stages a startup goes through, from creating an idea to releasing a minimum viable product to scaling up and harvesting returns. The overall message is that developing a deep understanding of customers, focusing efforts, iterating based on feedback, and having a clear business model are keys to success.
Anton Vitiaz has over 10 years of experience in business analysis, custom software development, and Microsoft CRM/SharePoint implementation. He discusses creating a minimum viable product (MVP) in 3 days by focusing on key features, keeping things very simple, and ensuring it works. The process involves planning simple implementations, cutting unnecessary elements, conducting micro 2-3 hour iterations with quick demos, adding demo data, presenting key concepts, and running simple tests. Motivating participants, having expertise, providing the right support tools, and limiting the timeframe to 3 days or less are important to success, while distractions, overcomplicating the task, and unrealistic deadlines can lead to failure.
5 mariya popova - ideal product management. unicorns in our realityIevgenii Katsan
The document discusses product management and how to transform unrealistic expectations ("unicorns") into practical realities. It defines product management and what product managers do, including developing strategy, managing releases, conducting research, and more. However, unrealistic expectations can cause problems if customer and product requirements do not align, or if "nice-to-have" features are prioritized over product improvements. The presentation provides tips on how to take a more realistic approach by understanding customer needs, conducting market research, determining requirements, and developing a product roadmap to guide the process. Templates are also shared for SWOT analysis, development charters, requirements documents, timelines, and roadmaps.
The document outlines a process for homework fieldwork that involves brainstorming ideas, exploring customer needs through interviews, prototyping potential solutions through storyboards and mockups, testing prototypes with customers to co-create, implementing a solution by 25% each assignment period and rolling a dice, and delivering the final solution to validate it and get feedback.
4 anton parkhomenko - how to make effective user research with no budget at...Ievgenii Katsan
The document discusses how to conduct effective user research with no budget and limited time. It provides recommendations for free or low-cost tools to conduct remote interviews and usability testing, including Zoom, OBS, Screencastify, Loom, and Lookback. It also recommends using YouTube to store recordings, Google Docs for transcripts, and Airtable to organize findings into an atomic database structure of people, sessions, jobs, pains, gains, and features linked to evidence from interviews. The methodology outlined atomizes research into small units that can be easily shared and built upon over time.
2. Обо мне
• 6+ лет в тестировании мобильных
приложений
• iOS, Android, Android IoT, Backend
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
3. О докладе
• Рутинные задачи раздражают
• Как я пришел к автоматизации
• Демо и разбор скриптов
• Примеры
• Python
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
4. Вступление
Автоматизация, да не тестирования
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
5. Рутинные задачи раздражают
• Установить билд
• Сделать скриншот
• Снять видео
• Etc.
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
6. Установить билд – a path to scripting
"A long time ago in a galaxy far, far away...."
• Android проект: телефоны + планшет
• Частое обновления билдов
• Минимум 6 девайсов для теста
• Сборки на ftp, доступ через браузер
WTF!!!
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
8. Постановка задачи
"Хочу быстро ставить билды без регистрации и смс"
Что может ADB:
• Узнать какие устройства подключены
• Удалить приложение
• Установить .apk файл
Что еще надо:
• Указать какое приложение установить
• Скачать .apk файл
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
9. Процесс
• Подключаем девайс
• Запускаем .sh скрипт
• Подключаем следующий девайс
• Запускаем .sh скрипт
• …
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
10. Что можно улучшить
• Установить на несколько девайсов без
перезапуска скрипта
• Проверить перед скачиванием что есть
новая сборка
• Проверить что сборка на девайсе устарела
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
11. Автоматизируй… сам
1. Поставить задачу
2. Придумать алгоритм
3. Реализовать каждый шаг
4. Свести в одно целое
5. ...
6. Profit
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
12. Скриншот с Android девайса
Идея:
Сделать скриншот и сохранить на машину
Решения:
• Физические кнопки + почта
• Приложение на девайсе
• Android Studio
• Сторонние приложения на компе (AndroidTool)
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
13. Автоматизируем
Что я знаю:
• ADB позволяет сделать скриншот с подключенного девайса
• Скриншот сохраняется на девайсе
Что надо сделать:
• Снять скриншот
• Скачать файл с девайса на машину
• Удалить файл с девайса
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
14. Что можно улучшить
screen.png ???
Android_screen_n.png ???
Andoid_screen_2018-02-08_13-56-12.png ???
Задать имя файла:
• На каком девайсе сделан скриншот
• Запущенный пакет и активность
• Текущее время
HTC-One_5-0-2_com-my_app-dev_TaskDetailActivity_2018-02-08_13-56-12.png
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
15. Шаги
• Получаем имя девайса и версию ос:
""
• Получаем данные про активность:
"'"
• Выкусываем название пакета и название активности
• Получаем текущее время
• Комбинируем данные в название файла
• Делаем скриншот:
""
• Скачиваем скриншот
""
• Удаляем скриншот с девайса
""
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
adb shell getprop | egrep "ro.product.model|ro.build.version.release
adb shell dumpsys window windows | grep -E 'mCurrentFocus
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png <destination/filename>
adb shell rm /sdcard/screen.png
17. Разбор
Плюсы:
• Быстро вызывается, особенно с помощью
zsh + zsh-autosuggestions
• Кастомизация имени файла
• Выбор девайса из подключенных (опционально)
Минусы:
• Сбои adb
• Landscape скриншоты приходится переворачивать вручную… или не
приходится
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
18. Видео с Android девайса
Идея:
Записать видео и сохранить на машину
Решения:
• Screencast на комп + запись экрана
• Сторонние приложения на компе (AndroidTool)
• ???
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
19. Автоматизируем
Что я знаю:
• ADB позволяет записать видео с экрана подключенного девайса
• Видео сохраняется на девайсе
Что надо сделать:
• Начать запись видео
• Прервать запись видео
• Скачать файл с девайса на машину
• Удалить файл с девайса
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
20. Шаги
• Получаем имя девайса и версию ос:
""
• Данные про активность не нужны
• Выкусываем название пакета:
"'"
• Получаем текущее время
• Комбинируем данные в название файла
• Стартуем запись видео:
""
• Прерываем запись видео:
” "
• Скачиваем видео
""
• Удаляем видео с девайса
""
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
adb shell getprop | egrep "ro.product.model|ro.build.version.release
adb shell dumpsys window windows | grep -E 'mCurrentFocus
adb shell screenrecord --verbose <filepath>
Ctrl + C
adb pull <filepath> <destination>
adb shell rm <filepath>
22. Разбор
Плюсы:
• Быстрый способ сделать запись экрана
• Работает нативно
• Кастомизация имени файла
Минусы:
• Сбои adb
• Android 4.4+
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
23. Не андроидом единым
• Сделать скриншот: "idevicescreenshot"
• Удалить апп, скачать ipa и установить: "ideviceinstaller"
• Сбилдить апп из терминала: "xcodebuild"
• Снять видео???
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
24. Скриншот с iOS девайса
Идея:
Сделать скриншот и сохранить на машину
Решения:
• Физические кнопки + почта
• Xcode
• Сторонние приложения на компе (AndroidTool)
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
25. Автоматизация
Что я знаю:
• Нет открытого API для взаимодействия с системой
• Есть libimobiledevice:
– Делает скриншот и сразу сохраняет на машину в формате tiff
– Обращение к девайсу по UDID
Что надо сделать:
• Узнать UDID подключенного девайса
• Сделать скриншот
• Сконвертировать скриншот из tiff в png
• Удалить tiff файл
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
26. Шаги
• Создаем список девайсов с именем и UDID
• Узнаем какие девайсы подключены в данный момент:
""
• Если девайса нет в списке, узнаем его имя и предлагаем добавить:
""
Узнаем версию ос:
""
• Получаем текущее время
• Комбинируем данные в название файла
• Делаем скриншот:
""
• Конвертируем файл из tiff в png
• Удаляем tiff файл
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
device_id –l
idevicename -u <udid>
ideviceinfo -u <udid> | grep 'ProductVersion'
idevicescreenshot -u <udid> <filepath>.tiff
28. Разбор
Плюсы:
• Быстро вызывается
• Кастомизация имени файла
• Выбор девайса из подключенных
Минусы:
• Landscape скриншоты приходится переворачивать вручную
• Developer disk image
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
29. Python
Работает из коробки (MacOS 10.11.6)
Легкий в освоении, читабельный синтаксис
PyCharm
Развитое комьюнити
Много библиотек, легкая (обычно) установка
Скрипты запускаются быстро
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
30. Python script
#!/usr/bin/python
chmod +x <filename>
Добавить путь в системную переменную PATH
(.zshrc: export PATH="/Users/oleg.nikiforov/scripts")
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
31. Python packages
• requests – http запросы
• json – работа с JSON
• pyjq – выполнение jq команд (JSON)
• subprocess – выполнение shell команд
• argparse – парсинг аргументов
• tabulate – красивый вывод данных в консоль
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
32. Бонус: Чистка DerivedData
Идея:
Хочу быстро чистить DerivedData
разбитую по проектным папкам
Решения:
• Чистить вручную папку в каждом проекте
• xclean
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
33. Автоматизация
Что я знаю:
• Через Python удобно выполнять shell команды
• Через shell легко искать папки и чистить их
Что надо сделать:
• MVP
• Итеративное усложнение функционала
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
34. Автоматизируй сам… правильно:
MVP
• Ищем все DerivedData папки
• Просим перечислить папки для чистки
• Чистим
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
35. Автоматизируй сам… правильно:
Итерации
1. Сортировка результатов поиска по размеру
2. Подтверждение чистки
3. Возможность почистить все папки
4. Возможность почистить все папки кроме
перечисленных
5. Возможность задать локацию для поиска
6. Возможность чистить без подтверждения
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
36. Шаги
• Парсинг аргументов:
– Базовая директория в которой ищем
– Флаг для удаления без подтверждения
• Делаем поиск путей содержащих директорию "DerivedData",
сортируем по размеру:
”
”
• Узнаем у пользователя какие папки чистить
• Запрашиваем подтверждения действия, если нет флага
• Для каждой папки выполняем команду на удаление файлов:
""
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
find '<directory>' -type d -name 'DerivedData’ | gxargs -d 'n'
du -sh | gsort -hr
rm -rf "<folder_path>"/*
38. Разбор
Плюсы:
• Если DerivedData хранится попроектно, то не надо
чистить папки руками
• Возможность посмотреть сколько места отжирает
DerivedData
Минусы:
• Деструктивное действие
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage
39. Что еще
• Собрать приложение из консоли
• Сгенерировать пользовательские данные
• Сгенерировать баркод
• Проверить урлы
• Проверить валидность данных
Автоматизация рутинных задач для тестирования мобильных приложений @ddr3ams #testingstage