SlideShare a Scribd company logo
1 of 26
Download to read offline
Intel Information Technology
Testando sua App na Nuvem
Eduardo Carrara
Developer Evangelist – Intel Developers Relations Division
#IntelAndroidBR
2
Intel Information Technology 3
Intel Information Technology 4
“Testers don’t break software,
software is already broken”
– Amir Ghahrai
Intel Information Technology 5
Sprint 1
• 5 Stories
• 1 Test Plan per Story
• 1 Hour per Test Plan
• 5h of Testing
Sprint 2
• +5 Stories
• +1 Test Plan per Story
• 1 Hour per Test Plan
• 5h of testing + 5h of regression test
Sprint 3
• +5 Stories
• +1 Test Plan per Story
• 1 Hour per Test Plan
• 5h of testing + 10h of regression test
Intel Information Technology 6
Intel Information Technology
“I choose a lazy person to do a hard job. Because a lazy
person will find an easy way to do it.”
- Bill Gates
7
Image by Karla Vidal @ http://www.flickr.com/photos/63721650@N00/3661526274
Creative Commons cc-by-2.0
Intel Information Technology 8
JUnit
Intel Information Technology 9
public static String getFormattedMonthDay(String format, String dateString) {
String finalDateString = "";
SimpleDateFormat dbDateFormat = new SimpleDateFormat(Utility.DATE_FORMAT);
try {
Date inputDate = dbDateFormat.parse(dateString);
SimpleDateFormat requestedDateFormat = new SimpleDateFormat(format);
finalDateString = requestedDateFormat.format(inputDate);
} catch (ParseException e) {
e.printStackTrace();
} catch (NullPointerException npex) {
npex.printStackTrace();
}
return finalDateString;
}
Intel Information Technology 10
public void testGetFormattedMonthDayForBadInput() throws Exception {
String inputDateString = "";
final String expectedDateFormat = "yyyy, MMMM dd";
final String expectedResult = "";
String result = Utility.getFormattedMonthDay(expectedDateFormat,
inputDateString);
assertEquals("A wrong formatted input must return an empty String",
expectedResult, result);
}
public class UtilityTest extends TestCase {
…
…
}
Intel Information Technology 11
Image by Schlurcher @ http://en.wikipedia.org/wiki/Jigsaw_puzzle#/media/File:Puzzle_Krypt-2.jpg
Creative Commons cc-by-sa-2.0
It's hard enough to find an error in your code when you're looking for it; it's even harder
when you've assumed your code is error-free.
--Steve McConnell (from Code Complete)
Intel Information Technology 12
JUnit
Intel Information Technology
Android Testing Framework
13
• Special TestCases, Asserts e Mocks
• MoreAsserts
• ViewAsserts
• MockApplication
• MockContext
• MockContentProvider
• AndroidTestCase
• ActivityInstrumentationTestCase2
• ActivityUnitTestCase
• ApplicationTestCase
• InstrumentationTestCase
• ProviderTestCase
• ServiceTestCase
• SingleLaunchActivityTestCase
JUnit
Intel Information Technology
Instrumentation
14
• Android Components Context Access;
• Components Lifecycle Control;
• Component Loading Control;
• System Events (e.g.: Broadcasts)
• InstrumentationTestRunner
• AndroidJUnitRunner
• GoogleInstrumentationTestRunner
Intel Information Technology
Expresso
15
• Simplifies the UI Test Process within
your App
• Methods for:
• View matching
• Checks
• UI Events
Intel Information Technology
Fragmentação
16
“If you don’t like testing your product, most likely your customers won’t like to
test it either.”
- Anonymous
Intel Information Technology 17
Intel Information Technology 18
Intel Information Technology 19
Intel Information Technology 20
Intel Information Technology 21
Intel Information Technology
What is next?
22
• What about cross app testing? UIAutomator!
• Continuous Delivery and Integration of Android Apps
• Code Coverage
Intel Information Technology
Intel Developer Zone
23
https://software.intel.com/en-us/android/app-testing
Intel Information Technology
Thanks!
24
+EduardoCarraraDeAraujo
https://www.facebook.com/ducarrara
@DuCarrara
br.linkedin.com/in/eduardocarrara/
Intel Information Technology
References
25
• Android Testing: https://developer.android.com/tools/testing/testing_android.html
• Android Unit Testing Support: http://tools.android.com/tech-docs/unit-testing-support
• UI Testing: https://developer.android.com/training/testing/ui-testing/index.html
• Android Testing Support Library: https://developer.android.com/tools/testing-support-
library
• Android Instrumentation:
http://developer.android.com/tools/testing/testing_android.html#Instrumentation
• Junit: http://junit.org
• Testdroid: http://testdroid.com
• Intel App Testing Page: https://software.intel.com/en-us/android/app-testing
Testing Your App in the Cloud

More Related Content

What's hot

Chaos engineering for cloud native security
Chaos engineering for cloud native securityChaos engineering for cloud native security
Chaos engineering for cloud native security
Kennedy
 
Nick Drage & Fraser Scott - Epic battle devops vs security
Nick Drage & Fraser Scott - Epic battle devops vs securityNick Drage & Fraser Scott - Epic battle devops vs security
Nick Drage & Fraser Scott - Epic battle devops vs security
DevSecCon
 
Matt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one everMatt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one ever
DevSecCon
 

What's hot (19)

OWASP AppSec Global 2019 Security & Chaos Engineering
OWASP AppSec Global 2019 Security & Chaos EngineeringOWASP AppSec Global 2019 Security & Chaos Engineering
OWASP AppSec Global 2019 Security & Chaos Engineering
 
Chaos engineering for cloud native security
Chaos engineering for cloud native securityChaos engineering for cloud native security
Chaos engineering for cloud native security
 
Adversary Driven Defense in the Real World
Adversary Driven Defense in the Real WorldAdversary Driven Defense in the Real World
Adversary Driven Defense in the Real World
 
GDS-Austin - DevSecOps & Security Chaos Engineering
GDS-Austin - DevSecOps & Security Chaos EngineeringGDS-Austin - DevSecOps & Security Chaos Engineering
GDS-Austin - DevSecOps & Security Chaos Engineering
 
Craft 2019 - Security Chaos Engineering - Security Precognition
Craft 2019 - Security Chaos Engineering - Security PrecognitionCraft 2019 - Security Chaos Engineering - Security Precognition
Craft 2019 - Security Chaos Engineering - Security Precognition
 
Compliance and auditing with Puppet
Compliance and auditing with PuppetCompliance and auditing with Puppet
Compliance and auditing with Puppet
 
Nick Drage & Fraser Scott - Epic battle devops vs security
Nick Drage & Fraser Scott - Epic battle devops vs securityNick Drage & Fraser Scott - Epic battle devops vs security
Nick Drage & Fraser Scott - Epic battle devops vs security
 
AllTheTalks Security Chaos Engineering
AllTheTalks Security Chaos Engineering AllTheTalks Security Chaos Engineering
AllTheTalks Security Chaos Engineering
 
LISA18 - How to be your Security Team's Best Friend
LISA18 - How to be your Security Team's Best FriendLISA18 - How to be your Security Team's Best Friend
LISA18 - How to be your Security Team's Best Friend
 
Obtén visibilidad completa y encuentra problemas de seguridad ocultos
Obtén visibilidad completa y encuentra problemas de seguridad ocultosObtén visibilidad completa y encuentra problemas de seguridad ocultos
Obtén visibilidad completa y encuentra problemas de seguridad ocultos
 
RSA Conference APJ 2019 DevSecOps Days Security Chaos Engineering
RSA Conference APJ 2019 DevSecOps Days Security Chaos EngineeringRSA Conference APJ 2019 DevSecOps Days Security Chaos Engineering
RSA Conference APJ 2019 DevSecOps Days Security Chaos Engineering
 
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
 
The Rise of DevSecOps - Fabian Lim - DevSecOpsSg
The Rise of DevSecOps - Fabian Lim - DevSecOpsSgThe Rise of DevSecOps - Fabian Lim - DevSecOpsSg
The Rise of DevSecOps - Fabian Lim - DevSecOpsSg
 
Maturing DevSecOps: From Easy to High Impact
Maturing DevSecOps: From Easy to High ImpactMaturing DevSecOps: From Easy to High Impact
Maturing DevSecOps: From Easy to High Impact
 
DevSecOps - The big picture
DevSecOps - The big pictureDevSecOps - The big picture
DevSecOps - The big picture
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD Pipeline
 
ATAGTR2017 Security Testing for Healthcare applications
ATAGTR2017 Security Testing for Healthcare applicationsATAGTR2017 Security Testing for Healthcare applications
ATAGTR2017 Security Testing for Healthcare applications
 
Android Security
Android SecurityAndroid Security
Android Security
 
Matt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one everMatt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one ever
 

Viewers also liked

Irene janine pacheco may 2
Irene janine pacheco may 2Irene janine pacheco may 2
Irene janine pacheco may 2
Patricio Platas
 
Tanner Article
Tanner ArticleTanner Article
Tanner Article
clydemason
 

Viewers also liked (14)

Começando com Android (#AndroidOnIntel)
Começando com Android (#AndroidOnIntel)Começando com Android (#AndroidOnIntel)
Começando com Android (#AndroidOnIntel)
 
Why mobile?
Why mobile?Why mobile?
Why mobile?
 
Android M - Getting Started
Android M - Getting StartedAndroid M - Getting Started
Android M - Getting Started
 
Irene janine pacheco may 2
Irene janine pacheco may 2Irene janine pacheco may 2
Irene janine pacheco may 2
 
Jenis
JenisJenis
Jenis
 
Android ndk: Entering the native world
Android ndk: Entering the native worldAndroid ndk: Entering the native world
Android ndk: Entering the native world
 
2016 - Por que mobile?
2016 - Por que mobile?2016 - Por que mobile?
2016 - Por que mobile?
 
Testes: Por onde Começar?
Testes: Por onde Começar?Testes: Por onde Começar?
Testes: Por onde Começar?
 
Indo além com Automação de Testes de Apps Android
Indo além com Automação de Testes de Apps AndroidIndo além com Automação de Testes de Apps Android
Indo além com Automação de Testes de Apps Android
 
Android Test Automation Workshop
Android Test Automation WorkshopAndroid Test Automation Workshop
Android Test Automation Workshop
 
Android 101: Do Plano ao Play
Android 101: Do Plano ao PlayAndroid 101: Do Plano ao Play
Android 101: Do Plano ao Play
 
Utilizando Espresso e UIAutomator no Teste de Apps Android
Utilizando Espresso e UIAutomator no Teste de Apps AndroidUtilizando Espresso e UIAutomator no Teste de Apps Android
Utilizando Espresso e UIAutomator no Teste de Apps Android
 
Tanner Article
Tanner ArticleTanner Article
Tanner Article
 
Tipos de sockets
Tipos de socketsTipos de sockets
Tipos de sockets
 

Similar to Testing Your App in the Cloud

Real time operating systems for safety-critical applications
Real time operating systems for safety-critical applicationsReal time operating systems for safety-critical applications
Real time operating systems for safety-critical applications
Reza Ramezani
 

Similar to Testing Your App in the Cloud (20)

Utilizando expresso uiautomator na automacao de testes em apps android
Utilizando expresso uiautomator na automacao de testes em apps androidUtilizando expresso uiautomator na automacao de testes em apps android
Utilizando expresso uiautomator na automacao de testes em apps android
 
Testando Sua App Android na Nuvem
Testando Sua App Android na NuvemTestando Sua App Android na Nuvem
Testando Sua App Android na Nuvem
 
Agile Secure Development
Agile Secure DevelopmentAgile Secure Development
Agile Secure Development
 
Leveraging Artificial Intelligence Processing on Edge Devices
Leveraging Artificial Intelligence Processing on Edge DevicesLeveraging Artificial Intelligence Processing on Edge Devices
Leveraging Artificial Intelligence Processing on Edge Devices
 
Deploy Real-Time Object Detectors on Intel® Movidius™ Neural Compute Stick
Deploy Real-Time Object Detectors on Intel® Movidius™ Neural Compute StickDeploy Real-Time Object Detectors on Intel® Movidius™ Neural Compute Stick
Deploy Real-Time Object Detectors on Intel® Movidius™ Neural Compute Stick
 
Real time operating systems for safety-critical applications
Real time operating systems for safety-critical applicationsReal time operating systems for safety-critical applications
Real time operating systems for safety-critical applications
 
[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project
[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project
[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project
 
Accenture & NextNine – Medium Size Oil & Gas Company Cyber Security Case Study
Accenture & NextNine – Medium Size Oil & Gas Company Cyber Security Case StudyAccenture & NextNine – Medium Size Oil & Gas Company Cyber Security Case Study
Accenture & NextNine – Medium Size Oil & Gas Company Cyber Security Case Study
 
20220622-ETRI-IoT-Testing.pdf
20220622-ETRI-IoT-Testing.pdf20220622-ETRI-IoT-Testing.pdf
20220622-ETRI-IoT-Testing.pdf
 
Faster deep learning solutions from training to inference - Amitai Armon & Ni...
Faster deep learning solutions from training to inference - Amitai Armon & Ni...Faster deep learning solutions from training to inference - Amitai Armon & Ni...
Faster deep learning solutions from training to inference - Amitai Armon & Ni...
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really Different
 
A SURVEY OF VIRTUAL PROTOTYPING TECHNIQUES FOR SYSTEM DEVELOPMENT AND VALIDATION
A SURVEY OF VIRTUAL PROTOTYPING TECHNIQUES FOR SYSTEM DEVELOPMENT AND VALIDATIONA SURVEY OF VIRTUAL PROTOTYPING TECHNIQUES FOR SYSTEM DEVELOPMENT AND VALIDATION
A SURVEY OF VIRTUAL PROTOTYPING TECHNIQUES FOR SYSTEM DEVELOPMENT AND VALIDATION
 
Effective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentEffective Software Testing for Modern Software Development
Effective Software Testing for Modern Software Development
 
Machine Learning Infrastructure
Machine Learning InfrastructureMachine Learning Infrastructure
Machine Learning Infrastructure
 
How we tested our code "Google way"
How we tested our code "Google way"How we tested our code "Google way"
How we tested our code "Google way"
 
IRJET- Real-Time Object Detection System using Caffe Model
IRJET- Real-Time Object Detection System using Caffe ModelIRJET- Real-Time Object Detection System using Caffe Model
IRJET- Real-Time Object Detection System using Caffe Model
 
Desarrollo y testing de apps móviles con Intel XDK y Testdroid
Desarrollo y testing de apps móviles con Intel XDK y TestdroidDesarrollo y testing de apps móviles con Intel XDK y Testdroid
Desarrollo y testing de apps móviles con Intel XDK y Testdroid
 
Mobile Day - Intel XDK & Testing
Mobile Day - Intel XDK & TestingMobile Day - Intel XDK & Testing
Mobile Day - Intel XDK & Testing
 
IoT Cyber+Physical+Social Engineering Attack Security (v0.1.6 / sep2020)
IoT Cyber+Physical+Social Engineering Attack Security (v0.1.6 / sep2020)IoT Cyber+Physical+Social Engineering Attack Security (v0.1.6 / sep2020)
IoT Cyber+Physical+Social Engineering Attack Security (v0.1.6 / sep2020)
 
influence of AI in IS
influence of AI in ISinfluence of AI in IS
influence of AI in IS
 

More from Eduardo Carrara de Araujo

More from Eduardo Carrara de Araujo (9)

Só um appzinho aê!? - O guia de sobrevivência para o dev da ideia inovadora a...
Só um appzinho aê!? - O guia de sobrevivência para o dev da ideia inovadora a...Só um appzinho aê!? - O guia de sobrevivência para o dev da ideia inovadora a...
Só um appzinho aê!? - O guia de sobrevivência para o dev da ideia inovadora a...
 
Melhorando seu App com Kotlin e Testes
Melhorando seu App com Kotlin e TestesMelhorando seu App com Kotlin e Testes
Melhorando seu App com Kotlin e Testes
 
Android apps ci
Android apps ciAndroid apps ci
Android apps ci
 
Android NDK: Entrando no Mundo Nativo
Android NDK: Entrando no Mundo NativoAndroid NDK: Entrando no Mundo Nativo
Android NDK: Entrando no Mundo Nativo
 
Implementation of a Participatory Sensing Solution to Collect Data About Pave...
Implementation of a Participatory Sensing Solution to Collect Data About Pave...Implementation of a Participatory Sensing Solution to Collect Data About Pave...
Implementation of a Participatory Sensing Solution to Collect Data About Pave...
 
GDG ABC - Aventura 2015
GDG ABC - Aventura 2015GDG ABC - Aventura 2015
GDG ABC - Aventura 2015
 
Android Auto Basics
Android Auto BasicsAndroid Auto Basics
Android Auto Basics
 
Debugging in Android
Debugging in AndroidDebugging in Android
Debugging in Android
 
Android 101: Do Plano ao Play em 30 minutos
Android 101: Do Plano ao Play em 30 minutosAndroid 101: Do Plano ao Play em 30 minutos
Android 101: Do Plano ao Play em 30 minutos
 

Testing Your App in the Cloud