We Android developers use the "flakiness" word more than the "stability" word while talking about Espresso and Instrumentation tests. We cannot truly trust flaky tests. Instrumentation testing will continue to be part of our lives even with Jetpack Compose therefore, we need stability.
Running all UI tests before merging any code is possible, and it saves us a lot with 400+ integration tests. Unfortunately, stability is not something that comes out of the box. A certain level of architecture, proper thread usage, and test setup with helper rules are required. There is an uncountable number of things that affect UI tests.
Good thing, there are explanations and solutions for most of the flakiness. In this talk, you will learn more about best practices to increase test stability, how to utilise Test-Driven Development with UI testing, and how this will help you find bugs earlier.
Sinan Kozak
The document discusses the benefits of meditation including reducing stress and anxiety, lowering blood pressure, and improving focus and productivity. It notes that meditation requires practice but recommends starting with 10 minutes a day of focusing on breathing to calm the mind and help gain awareness of one's thoughts and feelings. Over time, meditation can rewire the brain for greater happiness and peace of mind.
This PPT is all about Microsoft Surface line devices such as Surface,Surface Pro, Surface Book, Surface laptop, Surface Hub, Surface studio, Surface Neo, Surface Duo
Addressing Site Quality | Search Marketing Summit AustraliaBuiltvisible
At Search Marketing Summit Australia, Robyn presented on how sites with thin, low quality, low relevance pages will have it's performance inevitably suffer. Beyond just "building great content", Robyn shares her fundamental activities, tools, and resources to actively tackle and improve your site quality.
PPC Cost Analysis | Search Marketing Summit Australia 2Builtvisible
This document discusses the benefits of a new training program for employees. It outlines that the program will help employees improve their skills in several key areas like communication, problem-solving, and leadership. It also notes that the training will be mandatory for all staff and will take place over the next year through both online and in-person sessions.
SEO for Faceted Navigation | Get STAT City CrawlBuiltvisible
On the one hand, faceted navigation is fast and efficient, words both consumers and SEO experts like. On the other hand, there’s duplication and keyword cannibalisation to contend with.
In Robyn's presentation at Get STAT City Crawl, she discussed how you need to determine your priorities for the index while increasing the crawls of useful pages.
The document discusses the benefits of meditation including reducing stress and anxiety, lowering blood pressure, and improving focus and productivity. It notes that meditation requires practice but recommends starting with 10 minutes a day of focusing on breathing to calm the mind and help gain awareness of one's thoughts and feelings. Over time, meditation can rewire the brain for greater happiness and peace of mind.
This PPT is all about Microsoft Surface line devices such as Surface,Surface Pro, Surface Book, Surface laptop, Surface Hub, Surface studio, Surface Neo, Surface Duo
Addressing Site Quality | Search Marketing Summit AustraliaBuiltvisible
At Search Marketing Summit Australia, Robyn presented on how sites with thin, low quality, low relevance pages will have it's performance inevitably suffer. Beyond just "building great content", Robyn shares her fundamental activities, tools, and resources to actively tackle and improve your site quality.
PPC Cost Analysis | Search Marketing Summit Australia 2Builtvisible
This document discusses the benefits of a new training program for employees. It outlines that the program will help employees improve their skills in several key areas like communication, problem-solving, and leadership. It also notes that the training will be mandatory for all staff and will take place over the next year through both online and in-person sessions.
SEO for Faceted Navigation | Get STAT City CrawlBuiltvisible
On the one hand, faceted navigation is fast and efficient, words both consumers and SEO experts like. On the other hand, there’s duplication and keyword cannibalisation to contend with.
In Robyn's presentation at Get STAT City Crawl, she discussed how you need to determine your priorities for the index while increasing the crawls of useful pages.
The document discusses the importance of education and learning new skills throughout one's life. It notes that the world and job market are constantly changing, so continuing education is necessary to develop new skills and stay relevant and employable. The document encourages taking online courses, reading books and publications, and learning new technologies to keep advancing one's knowledge and abilities.
Improve remediation success and reduce portfolio risk using a Lean approachHaley & Aldrich
This SlideShare explores how a “Lean” approach can help portfolio managers better understand and quantify remediation risks, which ultimately reduces risks and costs.
Lean is a systematic approach through which an organization can empower its people to identify problems, remove obstacles and implement change.
Build a Strong Career Foundation by following Milad Yousif Hardworking wayMilad Yousif
Milad Yousif is a terrific personality and a tremendous source of motivation for young people. He did his schooling is Pershing High School in of the year 1993. He is the president of President Prime Logistics Inc at Utica, Michigan.
Guidelines for designing effective english language teaching materialsTania Beltran Garcia
The document discusses the benefits of exercise for both physical and mental health. Regular exercise can improve cardiovascular health, reduce symptoms of depression and anxiety, enhance mood, and reduce risks of diseases like diabetes. Exercise is also beneficial for brain health and can stimulate neuron growth and new connections in the brain.
Presenation deck for the 5th Durban SEO Meetup (now known as the Durban Search Marketing Meetup). It's all about audience magnetisation and other useful tit-bits.
This document does not contain any substantive information to summarize. It consists only of bullet points and formatting characters without any descriptive text. As such, I am unable to provide a meaningful 3 sentence summary of its content.
The document discusses the importance of effective communication and relationship building between managers and employees. It notes that regular check-ins, addressing concerns promptly, providing constructive feedback, and finding opportunities to recognize achievements can help foster trust and engagement. The overall goal is to create a supportive environment where people feel comfortable collaborating and performing at their best.
Timber Ridge Lifestyle Protector with Critical Illness Plan
A living benefits insurance policy... A plan to live by. Critical illness insurance is designed to help people through the financial challenges associated with survival of a critical illness.
The document discusses the benefits of meditation including reducing stress and anxiety, lowering blood pressure, and improving focus and productivity. Regular meditation practice of 10-20 minutes per day is recommended to reap these rewards and improve overall mental and physical well-being.
In this social, mobile, access everything, anywhere, anytime world, how can email compete? In this presentation you'll hear about how to make email trendy again using mobile, social, sleek automation and targeting.
18 Reasons You Should Start Microdermabrasion At Homeleadingedgehealth
Trying a microdermabrasion at home treatment is an easy task. This article reveals the most in-depth information about the treatment, risks and side effects.
The document discusses various topics including transportation, infrastructure projects, education, healthcare, climate change and more without providing many details on any single issue. It touches on several policy areas but does not go into depth or provide any clear conclusions or calls to action.
What can a journalist learn from an entrepreneur?
This talk explains how Fashion Week Live created its own media platform around Copenhagen Fashion Week.
The talk was part of much larger conference with more than 1200 attending journalists.
The painless adding of OTT services to the Smile voLTE network, a case studyAlan Quayle
The painless adding of OTT services to the Smile voLTE network, a case study
Presented at TADSummit Lisbon 18th November
Joachim Vanheuverzwijn
CTO
Securax Ltd (Zoiper)
A case study on how the revolutionary African LTE operator SMILE and the Zoiper Softphone team designed their operator OTT services around Kamailio for streamlined interworking between OTT and voLTE while avoiding additional complexity in the core network.
Visual presentation crafted to accompany informational sessions on the roles, responsibilities, and expectations of first-year orientation leaders at Vanderbilt (known as VUceptors). A key component in our recruitment campaign.
The document discusses the benefits of exercise for both physical and mental health. It notes that regular exercise can improve cardiovascular health, reduce stress and anxiety, boost mood, sharpen cognitive function, and enhance memory. The document recommends that adults aim for at least 150 minutes of moderate aerobic activity per week along with strength training exercises 2 times per week.
Discover the latest insights on Data Driven Maintenance with our comprehensive webinar presentation. Learn about traditional maintenance challenges, the right approach to utilizing data, and the benefits of adopting a Data Driven Maintenance strategy. Explore real-world examples, industry best practices, and innovative solutions like FMECA and the D3M model. This presentation, led by expert Jules Oudmans, is essential for asset owners looking to optimize their maintenance processes and leverage digital technologies for improved efficiency and performance. Download now to stay ahead in the evolving maintenance landscape.
The document discusses the importance of education and learning new skills throughout one's life. It notes that the world and job market are constantly changing, so continuing education is necessary to develop new skills and stay relevant and employable. The document encourages taking online courses, reading books and publications, and learning new technologies to keep advancing one's knowledge and abilities.
Improve remediation success and reduce portfolio risk using a Lean approachHaley & Aldrich
This SlideShare explores how a “Lean” approach can help portfolio managers better understand and quantify remediation risks, which ultimately reduces risks and costs.
Lean is a systematic approach through which an organization can empower its people to identify problems, remove obstacles and implement change.
Build a Strong Career Foundation by following Milad Yousif Hardworking wayMilad Yousif
Milad Yousif is a terrific personality and a tremendous source of motivation for young people. He did his schooling is Pershing High School in of the year 1993. He is the president of President Prime Logistics Inc at Utica, Michigan.
Guidelines for designing effective english language teaching materialsTania Beltran Garcia
The document discusses the benefits of exercise for both physical and mental health. Regular exercise can improve cardiovascular health, reduce symptoms of depression and anxiety, enhance mood, and reduce risks of diseases like diabetes. Exercise is also beneficial for brain health and can stimulate neuron growth and new connections in the brain.
Presenation deck for the 5th Durban SEO Meetup (now known as the Durban Search Marketing Meetup). It's all about audience magnetisation and other useful tit-bits.
This document does not contain any substantive information to summarize. It consists only of bullet points and formatting characters without any descriptive text. As such, I am unable to provide a meaningful 3 sentence summary of its content.
The document discusses the importance of effective communication and relationship building between managers and employees. It notes that regular check-ins, addressing concerns promptly, providing constructive feedback, and finding opportunities to recognize achievements can help foster trust and engagement. The overall goal is to create a supportive environment where people feel comfortable collaborating and performing at their best.
Timber Ridge Lifestyle Protector with Critical Illness Plan
A living benefits insurance policy... A plan to live by. Critical illness insurance is designed to help people through the financial challenges associated with survival of a critical illness.
The document discusses the benefits of meditation including reducing stress and anxiety, lowering blood pressure, and improving focus and productivity. Regular meditation practice of 10-20 minutes per day is recommended to reap these rewards and improve overall mental and physical well-being.
In this social, mobile, access everything, anywhere, anytime world, how can email compete? In this presentation you'll hear about how to make email trendy again using mobile, social, sleek automation and targeting.
18 Reasons You Should Start Microdermabrasion At Homeleadingedgehealth
Trying a microdermabrasion at home treatment is an easy task. This article reveals the most in-depth information about the treatment, risks and side effects.
The document discusses various topics including transportation, infrastructure projects, education, healthcare, climate change and more without providing many details on any single issue. It touches on several policy areas but does not go into depth or provide any clear conclusions or calls to action.
What can a journalist learn from an entrepreneur?
This talk explains how Fashion Week Live created its own media platform around Copenhagen Fashion Week.
The talk was part of much larger conference with more than 1200 attending journalists.
The painless adding of OTT services to the Smile voLTE network, a case studyAlan Quayle
The painless adding of OTT services to the Smile voLTE network, a case study
Presented at TADSummit Lisbon 18th November
Joachim Vanheuverzwijn
CTO
Securax Ltd (Zoiper)
A case study on how the revolutionary African LTE operator SMILE and the Zoiper Softphone team designed their operator OTT services around Kamailio for streamlined interworking between OTT and voLTE while avoiding additional complexity in the core network.
Visual presentation crafted to accompany informational sessions on the roles, responsibilities, and expectations of first-year orientation leaders at Vanderbilt (known as VUceptors). A key component in our recruitment campaign.
The document discusses the benefits of exercise for both physical and mental health. It notes that regular exercise can improve cardiovascular health, reduce stress and anxiety, boost mood, sharpen cognitive function, and enhance memory. The document recommends that adults aim for at least 150 minutes of moderate aerobic activity per week along with strength training exercises 2 times per week.
Discover the latest insights on Data Driven Maintenance with our comprehensive webinar presentation. Learn about traditional maintenance challenges, the right approach to utilizing data, and the benefits of adopting a Data Driven Maintenance strategy. Explore real-world examples, industry best practices, and innovative solutions like FMECA and the D3M model. This presentation, led by expert Jules Oudmans, is essential for asset owners looking to optimize their maintenance processes and leverage digital technologies for improved efficiency and performance. Download now to stay ahead in the evolving maintenance landscape.
Software Engineering and Project Management - Introduction, Modeling Concepts...Prakhyath Rai
Introduction, Modeling Concepts and Class Modeling: What is Object orientation? What is OO development? OO Themes; Evidence for usefulness of OO development; OO modeling history. Modeling
as Design technique: Modeling, abstraction, The Three models. Class Modeling: Object and Class Concept, Link and associations concepts, Generalization and Inheritance, A sample class model, Navigation of class models, and UML diagrams
Building the Analysis Models: Requirement Analysis, Analysis Model Approaches, Data modeling Concepts, Object Oriented Analysis, Scenario-Based Modeling, Flow-Oriented Modeling, class Based Modeling, Creating a Behavioral Model.
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...IJECEIAES
Medical image analysis has witnessed significant advancements with deep learning techniques. In the domain of brain tumor segmentation, the ability to
precisely delineate tumor boundaries from magnetic resonance imaging (MRI)
scans holds profound implications for diagnosis. This study presents an ensemble convolutional neural network (CNN) with transfer learning, integrating
the state-of-the-art Deeplabv3+ architecture with the ResNet18 backbone. The
model is rigorously trained and evaluated, exhibiting remarkable performance
metrics, including an impressive global accuracy of 99.286%, a high-class accuracy of 82.191%, a mean intersection over union (IoU) of 79.900%, a weighted
IoU of 98.620%, and a Boundary F1 (BF) score of 83.303%. Notably, a detailed comparative analysis with existing methods showcases the superiority of
our proposed model. These findings underscore the model’s competence in precise brain tumor localization, underscoring its potential to revolutionize medical
image analysis and enhance healthcare outcomes. This research paves the way
for future exploration and optimization of advanced CNN models in medical
imaging, emphasizing addressing false positives and resource efficiency.
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Sinan KOZAK
Sinan from the Delivery Hero mobile infrastructure engineering team shares a deep dive into performance acceleration with Gradle build cache optimizations. Sinan shares their journey into solving complex build-cache problems that affect Gradle builds. By understanding the challenges and solutions found in our journey, we aim to demonstrate the possibilities for faster builds. The case study reveals how overlapping outputs and cache misconfigurations led to significant increases in build times, especially as the project scaled up with numerous modules using Paparazzi tests. The journey from diagnosing to defeating cache issues offers invaluable lessons on maintaining cache integrity without sacrificing functionality.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
800 tests run on every commit under 20m
PR wont merge without succesful AndroidTest
18 Different features has their Android test in their module
We dont depend on UI test. Only most important features are tests end to end
Almost all main usacases covered
User interface (UI) testing lets you ensure that your app meets its functional requirements and achieves a high standard of quality such that it is more likely to be successfully adopted by users.
One approach to UI testing is to simply have a human tester perform a set of user operations on the target app and verify that it is behaving correctly
Time-consuming, tedious, and error-prone
The automated approach allows you to run your tests quickly and reliably in a repeatable manner.
androidTest folder
Creates apk to run on device
UI interaction
End to End flow of feature
Device resources
Pure java kotlin classes can be tested on jvm
They are faster
We should aim to have business logics in class we can test
In reality we wont be able to test everything on jvm
User interface
Device resource usage
End to end verification from user persfective
Who stop using android test because off flakiness
There is no out of box solution
Device control. We want to focus on WHAT to test
Delegate device control as much as possible
Threading issues
Framework issues
APIs to write AndroidTests.
Dont uses your classes
Use app from user persfective
Espresso focuses on how to find and how check views
Espresso is aware of multiple things
Espresso is low APIs focus on HOW to test
As developer we want to focus on WHAT to test
Espresso is API around actions and espresso is has HOW to find views or HOW to check conditions
10 minutes
How we can reduce learning curve
Kakao is a library around Espresso APIs.
The goal of the Kakao is to provide better readability and discoverability for Espresso testing.
Kakao doesn’t aim to change the behaviour of Espresso.
By default, Kakao enforces the same mentality of robot pattern. Kakao expects a Screen class. And in Screen class, you can define common UI elements or actions using Kotlin DSL.
Kakao has solutions for common UI element
Easy to discover
Type safety about actions and check
Easy to read tests
But this is not about stability
Lets talk about most common usecases
1st animation
Because Espresso isn't aware of any other asynchronous operations, including those running on a background thread, Espresso can't provide its synchronization guarantees in those situations. In order to make Espresso aware of your app's long-running operations, you must register each one as an idling resource.
For all other background operations, test authors should register the custom resource via IdlingRegistry and Espresso will wait for the resource to become idle prior to executing a view operation.
It would be great if we can have one idling resource for threading solution we have.
And actually we have some
20 minutes
For all other background operations, test authors should register the custom resource via IdlingRegistry and Espresso will wait for the resource to become idle prior to executing a view operation.
For all other background operations, test authors should register the custom resource via IdlingRegistry and Espresso will wait for the resource to become idle prior to executing a view operation.
There is not a clean solution
We can use similar provider solution as ExecutorProvider
It is not possible to prevent libraries to use Default dispatcher
SetDefault vs setMain
With rx all of background operations covered
It feels like we are not goiing forward but keep craeting new problems
If you remember the usecases for espresso maybe we can find a different solution.
Robost solution
If you remember the usecases for espresso maybe we can find a different solution.
Robost solution
If we cannot control concurency framework, we can track background operations directly
For all other background operations, test authors should register the custom resource via IdlingRegistry and Espresso will wait for the resource to become idle prior to executing a view operation.
Create an interceptor and register idling resources with the information you have. In interceptor you can track current network operations.
After the network operation, you set the data to live data.
Everything will be good, right?
No
We set a countiing executor for arch component.
DataBinding will use value of livedata and there wont be a flakiness, right?
No
There is no easy way to keep track of when data binding applies changes to screen.
There is only hasPendingIntent information
Simple solution is not using databindiing
But if yyou have databindiing, yyou need to regiister and idliing resource and check all the views.
All theeee views
Network, livedata and databinding wont be a problem.
We can use ListAdapter and submit a new list and everything will allright?
You probably already understand the theme of this flow.
No
We started a data flow network layer until data reaches to screen, we needed 4 solution.
We will definitely need moree solutions
That is why it is nice to have a single place to share solutions
30 minutes
There are different options to run UI tests.
You can create your own test farm in the company with real devices.
You can use Github actions and run an emulator on Github action.
You can use other build frameworks like Jenkins and set up your own emulator on CI.
All of those options will need maintenance and they will be bound to your investment of money and time.
Run on google infrastructure
All of the devices on Firebase Test Lab have special adjustments
We prefer to use virtual devices as there is generally no queue for them
They are also active in Firebase slack.
You can ask questions or report issues. And from my own experience, they help individual cases.
One cool feature of Firebase test lab is sharding
Split tests into buckets and run them on different devices to parallelize execution
Cost will be same
Duration will depend on how small the test buckets are
Creating test matrices that should finish under desired time is a difficult problem.
Luckily we don’t do that setup by hand.
We need gradle integration for Flank
And Fladle is gradle wrapper
We have pipeline
Cover more usecases at scout
Good improvements coming to android testing
Espresso is great library.
I always feel that espresso is just starting point like any other coffees.
They provided base element so we can add milk or water and use it