Хорошо поставленное автоматическое тестирование дает большие возможности. Но большинство докладов и тестировщиков на конференции о ручном его представлении. А некоторые коллеги-разработчики вообще скептически относятся к тестированию. А если в проектах и делается автоматическое тестирование, то как-то через UI, как-то долго и нестабильно работают эти тесты.
Развивать автоматическое тестирование на проекте нелегко. Делать это проще, когда есть примеры и ориентиры, на которые можно равняться. Таким ориентиром для меня является набор принципов и правил, сформированный за годы работы.
В этом коротком докладе я постараюсь описать ряд проблем и постараюсь спровоцировать слушателей строить у себя на проектах эффективное автоматическое тестирование.
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QAFest
Доклад для ленивых тестировщиков, которые не хотят набивать свои шишки, а научится на чужом опыте:
- полезные инструменты и решения для тестирования;
- работа с сетью, внутренними и внешними сервисами;
- процессы и культура тестирования в отделе разработки
- silver bullet в конце доклада
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.IT-Доминанта
Основные понятия связанные с разработкой ПО: просто о сложном.
Лаабе Дмитрий
Генеральный директор и основатель IT-Доминанта, Технический директор, программист портала Айти-Событие.рф", Санкт-Петербург.
- Проектирование API
- Документирование API
- Какие бандлы используются для ускорения разработки?
- Внутрення структура приложения (типичная и рекомендуемая)
- Валидация и сериализация моделей
- Тестирование API
Хорошо поставленное автоматическое тестирование дает большие возможности. Но большинство докладов и тестировщиков на конференции о ручном его представлении. А некоторые коллеги-разработчики вообще скептически относятся к тестированию. А если в проектах и делается автоматическое тестирование, то как-то через UI, как-то долго и нестабильно работают эти тесты.
Развивать автоматическое тестирование на проекте нелегко. Делать это проще, когда есть примеры и ориентиры, на которые можно равняться. Таким ориентиром для меня является набор принципов и правил, сформированный за годы работы.
В этом коротком докладе я постараюсь описать ряд проблем и постараюсь спровоцировать слушателей строить у себя на проектах эффективное автоматическое тестирование.
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QAFest
Доклад для ленивых тестировщиков, которые не хотят набивать свои шишки, а научится на чужом опыте:
- полезные инструменты и решения для тестирования;
- работа с сетью, внутренними и внешними сервисами;
- процессы и культура тестирования в отделе разработки
- silver bullet в конце доклада
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.IT-Доминанта
Основные понятия связанные с разработкой ПО: просто о сложном.
Лаабе Дмитрий
Генеральный директор и основатель IT-Доминанта, Технический директор, программист портала Айти-Событие.рф", Санкт-Петербург.
- Проектирование API
- Документирование API
- Какие бандлы используются для ускорения разработки?
- Внутрення структура приложения (типичная и рекомендуемая)
- Валидация и сериализация моделей
- Тестирование API
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"GeeksLab Odessa
28.03.15. Одесса. Impact Hub Odessa. Конференция JSLab.
Тимур Шемсединов. "Архитектура программных систем на Node.js"
Обзор подходов к построению прикладных программных систем на Node.js, анализ и сравнение архитектурных принципов развертывания высоконагруженных прикладных облачных сервисов, масштабирование приватных кластеров на Node.js за пределы нескольких физических машин, концепция прикладной виртуальной машины, примеры ее реализации и внедрения, тенденции и перспективы в разработке приложений, обзор проблем платформы Node.js и пути их решения.
Подробнее:
http://geekslab.co/
https://www.facebook.com/GeeksLab.co
https://www.youtube.com/user/GeeksLabVideo
Обзор подходов к построению прикладных программных систем на Node.js, анализ и сравнение архитектурных принципов развертывания высоконагруженных прикладных облачных сервисов, масштабирование, тенденции и перспективы в разработке приложений, обзор проблем платформы Node.js и пути их решения.
Автоматизированный подход к локализации корпоративных приложенийSoftengi
Доклад Глеба Криштова, члена команды LocServ в Softengi, на конференции для специалистов по локализации ПО Loc Kit 2014.
Доклад ответит на вопрос - как локализовать приложение-"монстр" с миллионами строк кода за рекордный срок в 6 месяцев, сократив при этом расходы на локализацию в более чем три раза?
Глеб в докладе раскрывает секреты создания командой LocServ собственного решения Localization Studio, с какими трудностями столкнулась команда до и во время создания решения и какие проблемы можно решить с помощью LocStudio.
При создании интерактивного мобильного или веб-приложений нужна серверная часть, которую будет использовать приложение и разработчик этого приложения. Он должен знать маршруты, по которым можно найти методы, их описание, входные параметры и варианты ответов.
В идеале хочется, чтобы из API можно было мгновенно сгенерировать клиентский код. А ещё реализация метода всегда может измениться, и нужно предусмотреть версионность, чтобы старые клиенты могли продолжать работать без ошибок.
Можно подумать, что реализация этого может занять месяцы, но я покажу, как реализовать это на ASP.NET Core за 20 минут.
Similar to Тестирование мобильных API: Behind The Scenes (20)
2. About me
• Ex-Developer
• В IT более 10 лет
• 4 из них в тестировании
• Senior QA @ T-Systems CIS
linkedin.com/in/qapavlov
ru.apavlov@gmail.com
3. Что такое API?
API (application programming interface) — набор готовых классов, процедур,
функций, структур и констант, предоставляемых приложением
(библиотекой, сервисом) для использования во внешних программных
продуктах.
4. А если нормально?..
Если программу рассматривать как чёрный ящик, то API — это множество
«ручек», которые доступны пользователю данного ящика и которые он
может вертеть и дёргать.
Высокоуровневые компоненты используют API низкоуровневых
компонентов, а те, в свою очередь, используют API ещё более
низкоуровневых компонентов.
7. Зачем API вообще нужны?
Давным-давно - Data Scraping.
Результатом было:
• Неверное истолкование данных
• Неудобный формат данных
• Компании теряли клиентов, если приложение предоставляло
неправильную информацию
Тогда компании задумались о реализации получения доступа к данным на
своей стороне.
8. Зачем API вообще нужны?
API предоставляет компаниям:
• Больше контроля над данными
• Контроль над использованием данных:
o Для использования API необходима авторизация
o Разработчик приложения должен доказать, что это приложение
корректно работает на тестовых данных прежде, чем получит
доступ к API
Так же API дают возможности:
• Масштабирования разработки
o Возможность увеличивать объем данных приложения, без
изменения самого приложения
• Преобразования конкурентов в партнеров
o Возможность позволить конкурентам надстраивать что-то сверху
вашего продукта
• Дополнительные полномочия для пользователей
o Возможность людям использовать продукт для вещей,
для которых он не был разработан
• Открытие нового рынка
9. Использование API
API включает в себя:
• Разделение данных и их представление
• Точка входа (изначальный URL, http или https),
• Навигация
• Представление вида командной строки
• Иерархия
• Ресурсы
• Структура
• Конфиденциальные данные (private API)
12. Что нужно учитывать при создании
стратегии
• Архитектура
o REST vs. SOAP
o Stateless vs. Session
o Media types vs. WSDL
• text/xml или application/vendor specific
o Verbs (RESTful API) и другие специфичные вещи
o Headers и кеширование запросов
• Tools
o SoapUI, Fiddler, аддоны для браузера (Postman, etc.)
13. Внимательно!
Особенно стоит уделить внимание особенностям протокола, например,
Verbs в RESTful API, заголовкам и кешированию.
К примеру, в случае с кэшами, нужно быть готовым к таким вещам, как:
– Старые данные
– Не относящиеся к происходящему ошибки (закешированные ранее)
– Многослойное кэширование (приложение – API – сервер)
14. Основные риски при создании стратегии
• Неясный процесс интеграции
• Огромное количество данных
• Невозможность тестирования end-to-end сценариев
• Неизвестная нагрузка
• Возможное неправильное понимание API
• Динамический скоуп
15. Стратегия тестирования мобильных API
Что же должно быть в самой стратегии?
• Как можно раньше должен быть проведен тест на интеграцию с
максимально полной инфраструктурой
• Тест на интеграцию c использованием кастомных фреймворков во
время разработки и систеста
• Многократные фазы интеграции
• Тестирования прототипа на реальных устройствах (acceptance testing)
17. Какие фазы мы должны выделить в нашей
стратегии?
1. Development (включая фреймворк для тестирования)
2. System testing (используя моки)
3. Integration testing (API с бэкэндом)
4. Acceptance testing (API на прототипе)
5. Production integration (пофазно)
6. Regression testing (автоматизация)