This document discusses strategies for continuous shift-left automated testing in mobile apps. It recommends establishing a mobile testing automation pyramid with increasing levels of testing from unit tests up to end-to-end UI tests. The pyramid advocates automating 5% unit testing, 10% integration testing, 15% functional testing, and keeping 60% for manual testing and 10% for non-functional testing. It provides best practices for setting up a robust test automation framework that facilitates continuous testing, avoids flaky tests, and maximizes code reusability and test execution speed while reducing human errors.
Back in 2015, Square and Google collaborated to launch gRPC, an open source RPC framework backed by protocol buffers and HTTP/2, based on real-world experiences operating microservices at scale. If you build microservices, you will be interested in gRPC.
This webcast covers:
- a technical overview of gRPC
- use cases and applicability in your stack
- a deep dive into the practicalities of operationalizing gRPC
This is covered during the tech conference. It covers high-level security. The best practice for deployment for gateway (what was known as last-mile) is covered at the end.
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
황민호(robin.hwang) / kakao corp. DSP개발파트
---
최근 Spring Cloud와 Netflix OSS로 MSA를 구성하는 시스템 기반의 서비스들이 많아지는 추세입니다.
카카오에서도 작년에 오픈한 광고 플랫폼 모먼트에 Spring Cloud 기반의 MSA환경을 구성하여, API Gateway도 적용하였는데 1년 반 정도 운영한 경험을 공유할 예정입니다. 더불어 MSA 환경에서는 API Gateway를 통해 인증을 어떻게 처리하는지 알아보고 OAuth2 기반의 JWT Token을 이용한 인증에 대한 이야기도 함께 나눌 예정입니다.
Back in 2015, Square and Google collaborated to launch gRPC, an open source RPC framework backed by protocol buffers and HTTP/2, based on real-world experiences operating microservices at scale. If you build microservices, you will be interested in gRPC.
This webcast covers:
- a technical overview of gRPC
- use cases and applicability in your stack
- a deep dive into the practicalities of operationalizing gRPC
This is covered during the tech conference. It covers high-level security. The best practice for deployment for gateway (what was known as last-mile) is covered at the end.
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
황민호(robin.hwang) / kakao corp. DSP개발파트
---
최근 Spring Cloud와 Netflix OSS로 MSA를 구성하는 시스템 기반의 서비스들이 많아지는 추세입니다.
카카오에서도 작년에 오픈한 광고 플랫폼 모먼트에 Spring Cloud 기반의 MSA환경을 구성하여, API Gateway도 적용하였는데 1년 반 정도 운영한 경험을 공유할 예정입니다. 더불어 MSA 환경에서는 API Gateway를 통해 인증을 어떻게 처리하는지 알아보고 OAuth2 기반의 JWT Token을 이용한 인증에 대한 이야기도 함께 나눌 예정입니다.
Introduction to Redux Saga and how does it fit into react-native development. Also a sneak peak into how does redux-saga do their magic using JS generator functions
마이크로서비스 스타일로 만들어진 시스템을 모노리틱 스타일로 이관한 사례와 함께 스프링을 이용해 모듈형 모노리스(modular monoliths)를 만든 경험을 바탕으로 모노리틱/마이크로서비스 보다 본질적인 문제를 제기하고, 문제 해결을 위한 생각을 공유합니다.
https://github.com/arawn/building-modular-monoliths-using-spring
Kafka as an Event Store - is it Good Enough?Guido Schmutz
Event Sourcing and CQRS are two popular patterns for implementing a Microservices architectures. With Event Sourcing we do not store the state of an object, but instead store all the events impacting its state. Then to retrieve an object state, we have to read the different events related to a certain object and apply them one by one. CQRS (Command Query Responsibility Segregation) on the other hand is a way to dissociate writes (Command) and reads (Query). Event Sourcing and CQRS are frequently grouped and used together to form something bigger. While it is possible to implement CQRS without Event Sourcing, the opposite is not necessarily correct. In order to implement Event Sourcing, an efficient Event Store is needed. But is that also true when combining Event Sourcing and CQRS? And what is an event store in the first place and what features should it implement? This presentation will first discuss what functionalities an event store should offer and then present how Apache Kafka can be used to implement an event store. But is Kafka good enough or do specific event store solutions such as AxonDB or Event Store provide a better solution?
Building a Test Automation Strategy for SuccessLee Barnes
Choosing an appropriate tool and building the right framework are typically thought of as the main challenges in implementing successful test automation. However, long term success requires that other key questions must be answered including:
- What are our objectives?
- How should we be organized?
- Will our processes need to change?
- Will our test environment support test automation?
- What skills will we need?
- How and when should we implement?
In this workshop, Lee will discuss how to assess your test automation readiness and build a strategy for long term success. You will interactively walk through the assessment process and build a test automation strategy based on input from the group. Attend this workshop and you will take away a blue print and best practices for building an effective test automation strategy in your organization.
• Understand the key aspects of a successful test automation function
• Learn how to assess your test automation readiness
• Develop a test automation strategy specific to your organization
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Domenic Denicola
This talk takes a deep dive into asynchronous programming patterns and practices, with an emphasis on the promise pattern.
We go through the basics of the event loop, highlighting the drawbacks of asynchronous programming in a naive callback style. Fortunately, we can use the magic of promises to escape from callback hell with a powerful and unified interface for async APIs. Finally, we take a quick look at the possibilities for using coroutines both in current and future (ECMAScript Harmony) JavaScript.
This is a presentation on Angular 5 getting started. Angular is the one framework for mobile, desktop and web applications. Checkout the demo application:
https://stackblitz.com/edit/http-service-demo
여러 언어에서 null 안전성을 주요 마케팅 쟁점으로 내세우면서 null 안전성이 관심을 많이 받고 있습니다.
자바에서도 null을 잘 다루어야 소프트웨어 결함을 줄이고 견고하게 만들 수 있는데 null의 위협에서 코드를 안전하게 지키는 설계 지침을 정리하고 안전하다고 확인하는데 도움이 되는 도구를 소개합니다.
Learn how FIDO standards compliment federation protocols. These guidelines detail how to integrate the two in order to add support for FIDO-based multi-factor authentication and replace or supplement traditional authentication methods in federation environments.
Introduction to Redux Saga and how does it fit into react-native development. Also a sneak peak into how does redux-saga do their magic using JS generator functions
마이크로서비스 스타일로 만들어진 시스템을 모노리틱 스타일로 이관한 사례와 함께 스프링을 이용해 모듈형 모노리스(modular monoliths)를 만든 경험을 바탕으로 모노리틱/마이크로서비스 보다 본질적인 문제를 제기하고, 문제 해결을 위한 생각을 공유합니다.
https://github.com/arawn/building-modular-monoliths-using-spring
Kafka as an Event Store - is it Good Enough?Guido Schmutz
Event Sourcing and CQRS are two popular patterns for implementing a Microservices architectures. With Event Sourcing we do not store the state of an object, but instead store all the events impacting its state. Then to retrieve an object state, we have to read the different events related to a certain object and apply them one by one. CQRS (Command Query Responsibility Segregation) on the other hand is a way to dissociate writes (Command) and reads (Query). Event Sourcing and CQRS are frequently grouped and used together to form something bigger. While it is possible to implement CQRS without Event Sourcing, the opposite is not necessarily correct. In order to implement Event Sourcing, an efficient Event Store is needed. But is that also true when combining Event Sourcing and CQRS? And what is an event store in the first place and what features should it implement? This presentation will first discuss what functionalities an event store should offer and then present how Apache Kafka can be used to implement an event store. But is Kafka good enough or do specific event store solutions such as AxonDB or Event Store provide a better solution?
Building a Test Automation Strategy for SuccessLee Barnes
Choosing an appropriate tool and building the right framework are typically thought of as the main challenges in implementing successful test automation. However, long term success requires that other key questions must be answered including:
- What are our objectives?
- How should we be organized?
- Will our processes need to change?
- Will our test environment support test automation?
- What skills will we need?
- How and when should we implement?
In this workshop, Lee will discuss how to assess your test automation readiness and build a strategy for long term success. You will interactively walk through the assessment process and build a test automation strategy based on input from the group. Attend this workshop and you will take away a blue print and best practices for building an effective test automation strategy in your organization.
• Understand the key aspects of a successful test automation function
• Learn how to assess your test automation readiness
• Develop a test automation strategy specific to your organization
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Domenic Denicola
This talk takes a deep dive into asynchronous programming patterns and practices, with an emphasis on the promise pattern.
We go through the basics of the event loop, highlighting the drawbacks of asynchronous programming in a naive callback style. Fortunately, we can use the magic of promises to escape from callback hell with a powerful and unified interface for async APIs. Finally, we take a quick look at the possibilities for using coroutines both in current and future (ECMAScript Harmony) JavaScript.
This is a presentation on Angular 5 getting started. Angular is the one framework for mobile, desktop and web applications. Checkout the demo application:
https://stackblitz.com/edit/http-service-demo
여러 언어에서 null 안전성을 주요 마케팅 쟁점으로 내세우면서 null 안전성이 관심을 많이 받고 있습니다.
자바에서도 null을 잘 다루어야 소프트웨어 결함을 줄이고 견고하게 만들 수 있는데 null의 위협에서 코드를 안전하게 지키는 설계 지침을 정리하고 안전하다고 확인하는데 도움이 되는 도구를 소개합니다.
Learn how FIDO standards compliment federation protocols. These guidelines detail how to integrate the two in order to add support for FIDO-based multi-factor authentication and replace or supplement traditional authentication methods in federation environments.
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013TEST Huddle
EuroSTAR Software Testing Conference 2013 presentation on Experiences of Test Automation at Spotify by Kristian Karl.
See more at: http://conference.eurostarsoftwaretesting.com/past-presentations/
Where Neev can help? A few Use Cases
Why Neev as an Independent Testing Partner?
Capabilities
Functional Testing (Web / Mobile / Cloud)
Non-Functional Testing
Testing Tools (Web / Mobile)
Agile Testing Expertise
Case Studies
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam CarmiApplitools
** Full webinar recording: **
It is no secret that many teams struggle with automated functional UI testing - some to the point where it is completely abandoned - even though the UI is the most significant interface of the system.
In this session, Adam Carmi -- Applitools CTO and Co-founder -- reviewed the main weaknesses of traditional approaches to UI testing, and how they negatively affect test stability, maintainability, coverage, execution speed, and overall ROI. He also discussed how these weaknesses become even more severe when running tests across multiple devices and browsers.
Adam demonstrated how Visual AI -- the innovative technology powering Applitools' testing engine -- can be applied on your existing pipeline to efficiently implement functional UI tests with a fraction of the effort while drastically increasing test coverage and reducing test execution time.
Adam also showed a live coding session, where he converted a traditional UI test into a Visual AI-based test in minutes, and executed it across dozens of devices and browsers in seconds using the Applitools Ultrafast Grid.
This is a presentation about the Web Automation Testing which was held in Info.nl. This presentation shows what is Automation Testing and how it could be adopted by developers.
See related code here:
https://github.com/infonl/automation-testing-presentation
Implementation of Integrated Digital Assurance Center of Excellence helps the client to be the market leader in Digital Age. A first time right approach (FTR), early detection of defects, customer centricity, business agility and seamless Omni-channel experience are the key imperatives of Digital Assurance CoE.
Today we need everything reliable and accelerated, so to attain prompt results we are using varied automation testing tools. An automation tool is a piece of software that is run by little human interaction. Different testing tools are used for automation/manual testing, unit testing, performance, web, mobile, etc., more to that we have some open source testing tools as well.
"Experiences Of Test Automation At Spotify" with Kristian KarlTEST Huddle
View webinar: http://www.eurostarconferences.com/community/member/webinar-archive/webinar-87-experiences-of-test-automation-at-spotify-
At Spotify, we want the manual testing effort to be focused as much as possible at feature testing, less on regression tests. But we still have to do regression. So, we tried to automate a big chunk of that. Regression tests are run on our Desktop, Android, iOS and WebPlayer clients, and also some backend services.
I will share with you how far we have come. What techniques, tools and methodologies we have tried. What experiences has been good, and what has been not that good.
Neev uses a scrum based Agile Development methodology, a proven Extended Delivery Center model of engagement - all designed to ensure high quality, timely deliverables.
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...Profesia Srl, Lynx Group
In questo settimo appuntamento chiudiamo la stagione con quello che chiude anche il processo produttivo, e cioè il test.
Andremo quindi a testare il servizio (o microservizio) che abbiamo esposto e le rispettive API.
Quando disegniamo un'architettura a servizio è importante che l'utente ottenga, in termini di funzione, quello che abbiamo previsto. Esistono numerosi strumenti per eseguire unit test all'interno dell'architettura wso2, alcuni insiti nel framework.
Vedremo come è possibile eseguire questi test utilizzando sia WSO2, sia strumenti terzi.
Per ulteriori informazioni Iscriviti al Gruppo Linkedin WSO2 Italia o scrivi a wso2.sales@profesia.it
End to End Testing with Quality Enthusiasts: SDET Technologiessdettech
SDET Technologies delivers top notch quality assurance and testing services for various domains across the globe.Consult experts for high end Test automation, performance, security and functional testing services.
Large-Scale Agile Test Automation Strategies in PracticeTechWell
After providing an introduction to several key agile testing concepts—including the Automation Triangle and the Test Automation Quadrants—Geoff Meyer discusses approaches to effectively deliver automated testing. Geoff shares practical insights and demonstrates how they were employed in the test automation strategies developed for several large-scale agile projects at Dell. He shows how the overall test strategy and implementation of each underlying agile concept was influenced by the realities of the project’s organization structure, application architecture, incumbent tools, and tester skillsets. Geoff explores the similarities of the projects from their common goals of establishing automated regression suites, achieving in-sprint automation, and test staffing approaches. More importantly, he delves into the implications of organizational structures and how they led to divergent approaches to test strategy from the choice of automation frameworks to the decisions to automate at the REST/SOAP-based API level or UI level.
Diving into the World of Test Automation The Approach and the TechnologiesQASymphony
This presentation was originally given at Quality Jam London. Elise covered test automation and the progression for test automation that you might encounter. The session agenda included:
The stages of the test team
Why are we automating?
What are we automating?
How are we automating?
What languages should we use?
What frameworks and libraries should we use?
Open source or proprietary?
Learn more at www.qualityjam.com
Similar to Suparna - Shift Left Testing in Mobile.pptx (20)
2. About Suparna
■ XCTest, XCUITest, Selenium, Appium, Espresso, UIAutomator,
SeeTest, Postman, Jenkins, CircleCI, Junit, Nunit, TestNG, GIT
■ Written Tech solutions in BrowserStack, Lambdatest, Medium
■ 1st Winner of TechGig Testathon 2018 - "India's Best Tester"
■ Silver Winner of Applitools Automation Hackathon 2020 -
Top 70
suparna-khamaru
/in/suparnakhamaru/ super-tester.medium.com
3. Agenda
Why Shift Left in Mobile?
Mobile Test Automation Pyramid
How much Mobile Automation is enough?
Right way to Automate
Best Practices in Mobile Automation
13. Manual
Testing
Non
Functional
Testing
•End to End Tests
•UI Tests on Staging
•UI Tests with SDK integration
•UI Tests on Mock Server
Functional Testing
•Library / SDK / Framework /
API Integration Tests
Integration Testing
•Unit Tests
•Snapshot Tests
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
14. Automation Test Framework
Development
Build
Unit Test Suite UI Test Suite Integrated to CI
Locators
Network
Layer
Set Accessibility
Identifiers
Reusable
& Optimised page
objects
Tests
Test Plan
Report with logs
& screenshots
Test Data
UI tests with
test/prod
environment
UI Tests with SDK
integration
UI tests with API
integration
UI Tests with
Mock API
Code & Test Coverage
15. UI tests with Test/Prod environment
UI Tests with SDK integration
UI tests with API integration
UI Tests with Mock API
Network Layers in E2E Testing
App
Test
Environment
UI Test
Flaky
Tests
16. UI tests with Test/Prod environment
UI Tests with SDK integration
UI tests with API integration
UI Tests with Mock API
Network Layers in E2E Testing
App
Mocke
d API
UI Test
100%
Reliable
Tests
Swifter
Embassy
Nimble
Wiremock
OkHttp
17. UI tests with Test/Prod environment
UI Tests with SDK integration
UI tests with API integration
UI Tests with Mock API
Network Layers in E2E Testing
API
call
App UI Test
18. UI tests with Test/Prod environment
UI Tests with SDK integration
UI tests with API integration
UI Tests with Mock API
Network Layers in E2E Testing
App
SDK
Library
SDK Unit
Test
UI Test
19. UI Tests with SDK integration
Network Layers in E2E Testing
20. Manual
Testing
•Accessibility Tests
•Security Scans
•Performance Tests
•Localisation & Internationalization Tests
Non
Functional
Testing
•End to End Tests
•UI Tests on Staging
•UI Tests with SDK integration
•UI Tests on Mock Server
Functional Testing
•Library / SDK / Framework /
API Integration Tests
Integration Testing
•Unit Tests
•Snapshot Tests
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
23. •Upgradation Tests
•Exploratory Tests
•Dog Food - Alpha & Beta Tests
Manual
Testing
•Accessibility Tests
•Security Scans
•Performance Tests
•Localisation & Internationalization Tests
Non
Functional
Testing
•End to End Tests
•UI Tests on Staging
•UI Tests with SDK integration
•UI Tests on Mock Server
Functional Testing
•Library / SDK / Framework /
API Integration Tests
Integration Testing
•Unit Tests
•Snapshot Tests
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
24. •Upgradation Tests
•Exploratory Tests
•Dog Food - Alpha & Beta Tests
Manual
Testing
•Accessibility Tests
•Security Scans
•Performance Tests
•Localisation/Internationalization
Non
Functional
Testing
•End to End Tests
•UI Tests on Staging
•UI Tests with SDK
•UI Tests on Mock Server
Functional
Testing
•Library / SDK /
Framework / API
Integration Tests
Integration Testing
•Unit Tests
•Snapshot Tests
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
25. •Upgradation Tests
•Exploratory Tests
•Dog Food - Alpha & Beta Tests
Manual
Testing
•Accessibility Tests
•Security Scans
•Performance Tests
•Localisation/Internationalization
Non
Functional
Testing
•End to End Tests
•UI Tests on Staging
•UI Tests with SDK
•UI Tests on Mock Server
Functional
Testing
•Library / SDK /
Framework / API
Integration Tests
Integration Testing
•Unit Tests
•Snapshot Tests
•Code & Test
Coverage
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
Nightly Run
Nightly Run
Nightly Run
Every PR
Every PR
Every PR
26. Easiest CI integrations
■ Simulators / Emulators
■ Browserstack
■ LambdaTest
■ AWS Device farm
■ TestingBot
■ SauceLabs
■ Firebase Test Lab
xcodebuild test -workspace sampleApp.xcworkspace -scheme sampleAppUITests
-destination 'platform=iOS Simulator,name=iPhone 11' -resultBundlePath
ResultBundle.xcresult
./gradlew connectedAndroidTest
Upload
app
Upload
test suite
Build
27. Best Practices
■ Appoint Dedicated personnel for each Job
■ Continuous Testing
■ Our test should FAIL gracefully
■ Separate test plans
■ No flaky tests
■ Not replacing Exploratory / Manual
Testing
■ Write maintainable, reusable, optimized &
readable Test code
28. Summary
Accessibility
Common Repository
Robust and Low
maintenance
High Reusability of code
Fastest Test Executions
Fastest Bug Detections
Fastest Scripting
Parallel Automation
Boosts confidence
Fastest Time to Market
every time
Reduced human errors in
testing
Earliest Bug Fix
More mature & Reliable
Slower To write tests
Slower to Execute the tests
Slower to Fix
Cost of Bug
Unit tests is directly done by Dev team with XCTest and Junit frameworks on unit levels, sometimes using stubs.
Snapshot tests are also known as Visual tests and screenshot tests, where you literally save lot of time.
- https://medium.com/dev-jam/snapshot-testing-in-swift-9d52cbec075c
- https://github.com/robertofrontado/snapshot-testing-sample
Security Scans (Veracode, Ostorlab)
Performance Tests (Newrelic, Firebase)
End to End Tests (Distributed Parallel)
Security Scans (Veracode, Ostorlab)
Performance Tests (Newrelic, Firebase)
End to End Tests (Distributed Parallel)
E2E Test Suite
End to End Tests (Distributed Parallel)
Code & Test Coverage Measures
E2E Test Suite
End to End Tests (Distributed Parallel)
Code & Test Coverage Measures
E2E Test Suite
End to End Tests (Distributed Parallel)
Code & Test Coverage Measures
Security Scans (Veracode, Ostorlab)
Performance Tests (Newrelic, Firebase)
End to End Tests (Distributed Parallel)
Compare with third party automation tools
Versus
Google and apple test frameworks