際際滷

際際滷Share a Scribd company logo
BUILDING AGILITY FOR
AUTOMATED MOBILE APPS TESTING
Dec 5th, 2015
Kapil Saxena
2
Agenda
≒ Agile & Mobile
≒ Mobile Apps are different
≒ Mobile Apps Testing is different
≒ The right Testing Strategy
≒ Mobile Test Ecosystem for Agile
3
Who am I?
≒ Kapil Saxena
≒ Software Tester
≒ Testing Consultant
≒ Product Owner/Manager
≒ Quality Advocate
≒ Speaker
≒ Tweets: @kapilsaxena
≒ Email: batcheet@gmail.com
≒ Skype: contactkapil
4
Agile & Mobile
5
Agile & Mobile
If youre mobile,
you ought to be Agile!
6
Agile & Mobile
Agile is the natural way for mobile app development
≒ The right process produces the right functionality
≒ More responsive to any type of changes
≒ More reliability leads to more use of apps
7
Mobile Apps are different
8
Mobile Apps are different
Enterprise application development teams use
traditional practices to define and develop desktop
applications; however, most don't work with mobile app
development, due to device diversity, network
connectivity and other mobile-specific considerations
- Van Baker, research vice president at Gartner
9
Mobile Apps are different
Mobile Apps are expected to be:
≒ Lightweight in size
≒ Fast downloadable
≒ Swift and Smooth app update
≒ Error free and quick
≒ Seamless interaction with the backend server
≒ Upfront restrictions on app data downloadable &
local storage.
10
Mobile Apps are different
Moreover, mobile apps needs to be frequently revised
to meet end-user expectations.
11
Does it impact testing?
12
In a big way!
13
Mobile Apps Testing is different
14
Mobile Apps Testing is different
Not all tests work everywhere
≒ you may end up with more tests (ideas) for different
screen size, resolution, OS, brand, etc.
≒ this means increased test effort (a typical user
story has more tests in mobile)
15
Mobile Apps Testing is different
Increased hardware & software dependency
≒ You may require devices of various screen
resolutions, network, etc. for testing
≒ You may require devices of various OS, Brands, etc.
for testing
16
Mobile Apps Testing is different
≒ Mobile apps needs more test scenarios because of
high complexity of mobile apps
≒ More types of testing required like Functional
Testing for Stability, Performance Testing for Speed,
UX Testing for experience, etc.
17
So?
A bug means customer churn;
18
So?
stress on quality is much higher
than traditional apps
19
The right Testing Strategy
20
The right Testing Strategy
≒ Balanced testing approach
≒ Device Coverage
≒ Continuous Testing
≒ Shift Left
≒ Automate as much as feasible
21
Balanced Testing Approach
What to test?
Benchmark	Compatibility	
Installation/
Uninstallation	
Functional	
Smoke/Sanity	
User
Acceptance	
Unit	 Load/Stress	 Compliance	
Requirements	 Performance	 Security	 Database	
Usability	
System	
Integration
22
Balanced Testing Approach
Level 1
Benchmark	Compatibility	
Installation/
Uninstallation	
Functional	
Smoke/Sanity	
User
Acceptance	
Unit	 Load/Stress	 Compliance	
Requirements	 Performance	 Security	 Database	
Usability	
System	
Integration
23
Balanced Testing Approach
Level 2
Benchmark	Compatibility	
Installation/
Uninstallation	
Functional	
Smoke/Sanity	
User
Acceptance	
Unit	 Load/Stress	 Compliance	
Requirements	 Performance	 Security	 Database	
Usability	
System	
Integration
24
Balanced Testing Approach
Level 3
Benchmark	Compatibility	
Installation/
Uninstallation	
Functional	
Smoke/Sanity	
User
Acceptance	
Unit	 Load/Stress	 Compliance	
Requirements	 Performance	 Security	 Database	
Usability	
System	
Integration
25
Balanced Testing Approach
Level 4 & beyond
Benchmark	Compatibility	
Installation/
Uninstallation	
Functional	
Smoke/Sanity	
User
Acceptance	
Unit	 Load/Stress	 Compliance	
Requirements	 Performance	 Security	 Database	
Usability	
System	
Integration
26
Device Coverage
0%
25%
50%
75%
80%
90%
Number of test devices required to cover
% of all Android devices
7
32
107
399
254
27
Continuous Testing
Monitors integration,
deployment, release &
delivery 	
Improves Effectiveness	
Identifies opportunities for
defect prevention	
Focus on a comprehensive
view of business RISK	
Manages when candidate
is released to next stage
of cycle 	
Fixes defects	
Continuously refines the
process	
Workflow for prioritizing fixes
and quality improvements &
preventing recurrence
28
Continuous Testing
means
Continuous
Improvement
29
Shift testing Left
Test More at the start, dont leave it to the end
30
Automate as much as feasible
Do we have
enough time
to write
scripts?
31
Mobile Test Ecosystem for Agile
32
Mobile Test Eco-System
NON-FUNCTIONAL	 RESOURCE	POOL	
FUNCTIONAL	
COMPATIBILITY	
?
STRATEGIZE	
RESULTS	
DEFECT	MANAGEMENT	SYSTEM	
AppiTest	
BUILD	
App
33
Want to talk more on mobile testing?
Say Hi to me after this talk
batcheet@gmail.com 	
contactkapil	
@kapilsaxena	
OR
34
Thank you!

More Related Content

Building Agility for Automated Mobile Apps Testing

  • 1. BUILDING AGILITY FOR AUTOMATED MOBILE APPS TESTING Dec 5th, 2015 Kapil Saxena
  • 2. 2 Agenda ≒ Agile & Mobile ≒ Mobile Apps are different ≒ Mobile Apps Testing is different ≒ The right Testing Strategy ≒ Mobile Test Ecosystem for Agile
  • 3. 3 Who am I? ≒ Kapil Saxena ≒ Software Tester ≒ Testing Consultant ≒ Product Owner/Manager ≒ Quality Advocate ≒ Speaker ≒ Tweets: @kapilsaxena ≒ Email: batcheet@gmail.com ≒ Skype: contactkapil
  • 5. 5 Agile & Mobile If youre mobile, you ought to be Agile!
  • 6. 6 Agile & Mobile Agile is the natural way for mobile app development ≒ The right process produces the right functionality ≒ More responsive to any type of changes ≒ More reliability leads to more use of apps
  • 7. 7 Mobile Apps are different
  • 8. 8 Mobile Apps are different Enterprise application development teams use traditional practices to define and develop desktop applications; however, most don't work with mobile app development, due to device diversity, network connectivity and other mobile-specific considerations - Van Baker, research vice president at Gartner
  • 9. 9 Mobile Apps are different Mobile Apps are expected to be: ≒ Lightweight in size ≒ Fast downloadable ≒ Swift and Smooth app update ≒ Error free and quick ≒ Seamless interaction with the backend server ≒ Upfront restrictions on app data downloadable & local storage.
  • 10. 10 Mobile Apps are different Moreover, mobile apps needs to be frequently revised to meet end-user expectations.
  • 11. 11 Does it impact testing?
  • 12. 12 In a big way!
  • 13. 13 Mobile Apps Testing is different
  • 14. 14 Mobile Apps Testing is different Not all tests work everywhere ≒ you may end up with more tests (ideas) for different screen size, resolution, OS, brand, etc. ≒ this means increased test effort (a typical user story has more tests in mobile)
  • 15. 15 Mobile Apps Testing is different Increased hardware & software dependency ≒ You may require devices of various screen resolutions, network, etc. for testing ≒ You may require devices of various OS, Brands, etc. for testing
  • 16. 16 Mobile Apps Testing is different ≒ Mobile apps needs more test scenarios because of high complexity of mobile apps ≒ More types of testing required like Functional Testing for Stability, Performance Testing for Speed, UX Testing for experience, etc.
  • 17. 17 So? A bug means customer churn;
  • 18. 18 So? stress on quality is much higher than traditional apps
  • 20. 20 The right Testing Strategy ≒ Balanced testing approach ≒ Device Coverage ≒ Continuous Testing ≒ Shift Left ≒ Automate as much as feasible
  • 21. 21 Balanced Testing Approach What to test? Benchmark Compatibility Installation/ Uninstallation Functional Smoke/Sanity User Acceptance Unit Load/Stress Compliance Requirements Performance Security Database Usability System Integration
  • 22. 22 Balanced Testing Approach Level 1 Benchmark Compatibility Installation/ Uninstallation Functional Smoke/Sanity User Acceptance Unit Load/Stress Compliance Requirements Performance Security Database Usability System Integration
  • 23. 23 Balanced Testing Approach Level 2 Benchmark Compatibility Installation/ Uninstallation Functional Smoke/Sanity User Acceptance Unit Load/Stress Compliance Requirements Performance Security Database Usability System Integration
  • 24. 24 Balanced Testing Approach Level 3 Benchmark Compatibility Installation/ Uninstallation Functional Smoke/Sanity User Acceptance Unit Load/Stress Compliance Requirements Performance Security Database Usability System Integration
  • 25. 25 Balanced Testing Approach Level 4 & beyond Benchmark Compatibility Installation/ Uninstallation Functional Smoke/Sanity User Acceptance Unit Load/Stress Compliance Requirements Performance Security Database Usability System Integration
  • 26. 26 Device Coverage 0% 25% 50% 75% 80% 90% Number of test devices required to cover % of all Android devices 7 32 107 399 254
  • 27. 27 Continuous Testing Monitors integration, deployment, release & delivery Improves Effectiveness Identifies opportunities for defect prevention Focus on a comprehensive view of business RISK Manages when candidate is released to next stage of cycle Fixes defects Continuously refines the process Workflow for prioritizing fixes and quality improvements & preventing recurrence
  • 29. 29 Shift testing Left Test More at the start, dont leave it to the end
  • 30. 30 Automate as much as feasible Do we have enough time to write scripts?
  • 32. 32 Mobile Test Eco-System NON-FUNCTIONAL RESOURCE POOL FUNCTIONAL COMPATIBILITY ? STRATEGIZE RESULTS DEFECT MANAGEMENT SYSTEM AppiTest BUILD App
  • 33. 33 Want to talk more on mobile testing? Say Hi to me after this talk batcheet@gmail.com contactkapil @kapilsaxena OR