SlideShare une entreprise Scribd logo
1  sur  18
Mobile Apps Validation:
       Facing the Challenge

Virgilio Raniero
QA&TEST 2011
October 2011
“Six months. Be on time.”




                   Nokia World, two days ago


2   © Nokia 2011
Story of a transition

            Investigation   Prototyping   Setup   Execution




    -     Transition to a new platform
    -     Deep change in mind-set and culture
    -     Very short time to market (6 months)
    -     Pivotal role of QA




3       © Nokia 2011
Early investigation

            Investigation   Prototyping   Setup   Execution




    -       Quick “know-how injection”
    -       3 to 4 team members (1 QA)
    -       Find out what we have and what we need
    -       Unit Test framework and CM tools evaluation

    - Explore, try and adapt solutions

4       © Nokia 2011
Proof of concept

            Investigation   Prototyping   Setup   Execution




    -     ~Daily releases
    -     Unit Test, CM, CI and bug tracking tools in place
    -     Component tests evaluation
    -     UI Visual Test Automation evaluation

    - Show some solutions are valuable and why

5       © Nokia 2011
Team set-up

            Investigation   Prototyping   Setup   Execution




    -     ~14 people (~35% QA), 2 Scrum Teams, 2-week sprints
    -     Ramp-up and knowledge transfer
    -     New CI and bug tracking tools in place
    -     “Feature branching”

    - Let QA influence the architecture to increase testability

6       © Nokia 2011
Deliver!

            Investigation   Prototyping   Setup   Execution




    -     Fortnightly releases
    -     New UI Test Automation in place
    -     Exploratory+Automated testing
    -     “Master branch focused”


    - Keep the master clean and working
7       © Nokia 2011
An adaptive strategy
- Different QA solutions across the project phases
- Work both on emulators and devices
                                                   Test coverage
       120



       100



        80



        60



        40



        20



          0
                    Prototyping (I)           Prototyping(II)          Production (I)              Production (II)

                                 Unit Tests   Component tests   UI Automation     Manual Testing



 8   © Nokia 2011
Flexibility: Test granularity

                   UI Automated   • Functional Test
                       Tests      • Stress Tests

                   Component      • UI native controls
                     Tests        • UI custom controls

                                  • Algorithmic failures
                    Unit Tests    • Static libraries




9   © Nokia 2011
Adaptive: Test impact
- Low level services
- Single control and control-to-control interaction
- Complete app stack
                                                            UI Automated
                                                                 test




                                   UI layer
                             Control1            Control2
      Component
         test
                         Data        Service      Service
                       component     Agent 1      Agent 2         Unit test


 10    © Nokia 2011
Unit tests

- Constant sanity check on prototype
- Continuous low level verification on product
- Focused on the Model
 • White box testing
 • Use 3rd party (quasi-)stable frameworks
 • Handle asynchronous calls scenarios
 • Don’t push it too far!




11   © Nokia 2011
Component tests
- Efficient vertical testing of the application
- Focused on Model, View, ViewModel of single
  Controls




12   © Nokia 2011

         Interaction   Properties         APIs
UI automated tests

- Automated functional tests
- Helps stabilizing the product at each release
- Focused on View and ViewModel of the App

 • Grey-to-black box testing
 • Too easy means useless
 • Let developers and testers share the same environment




13   © Nokia 2011
Conclusions
           Investigation                   Prototyping                  Setup                     Execution
     120



     100



      80



      60



      40



      20



       0
                 Prototyping (I)           Prototyping(II)          Production (I)              Production (II)

                              Unit Tests   Component tests   UI Automation     Manual Testing

14     © Nokia 2011
What we learned

• Guarantee a minimum quality level
     −QA can only lead the change through a robust credibility


• Automate as much as you can
     −Exploratory testing will cover edge cases and new scenarios


• Coding tests is the best test
     −Testers and developers should share the same development
      environment



15   © Nokia 2011
Improvements




 • Component tests partially surrogate back-end mocking
 • Create an automated test per each relevant bug
 • CI must be continuous and continuously online
 • Estimate the impact of a story change during the sprint


16   © Nokia 2011
We are hiring!

- Nokia in Berlin has several open positions
- These are exciting times!


             www.nokia.com/careers
             developer.jobs.berlin@nokia.com




17   © Nokia 2011
Q&A




18   © Nokia 2011

Contenu connexe

Tendances

John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013TEST Huddle
 
Mobile Apps development best practices. TDD, CI, CD
Mobile Apps development best practices. TDD, CI, CDMobile Apps development best practices. TDD, CI, CD
Mobile Apps development best practices. TDD, CI, CDGlobalLogic Ukraine
 
Zibrasoft | Software QA Testing Company Inida
Zibrasoft | Software QA Testing Company InidaZibrasoft | Software QA Testing Company Inida
Zibrasoft | Software QA Testing Company InidaZibraSoft Technologies
 
Four schools of testing context driven school
Four schools of testing   context driven schoolFour schools of testing   context driven school
Four schools of testing context driven schoolHolasz Kati
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application developmentThoughtworks
 
Types of testing and their classification
Types of testing and their classificationTypes of testing and their classification
Types of testing and their classificationReturn on Intelligence
 
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiIntroduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiHo Chi Minh City Software Testing Club
 
An Introduction to Iterative Software Development
An Introduction to Iterative Software DevelopmentAn Introduction to Iterative Software Development
An Introduction to Iterative Software DevelopmentGeoffrey Weglarz
 
Sparks 3.0 - Economically Delivering Quality Software
Sparks 3.0 - Economically Delivering Quality SoftwareSparks 3.0 - Economically Delivering Quality Software
Sparks 3.0 - Economically Delivering Quality SoftwareLogMeIn / GetGo Germany GmbH
 
Continuous Integration Practices
Continuous Integration Practices Continuous Integration Practices
Continuous Integration Practices Marcelo Freire
 
Agile testing - Principles and best practices
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practicesDr Ganesh Iyer
 
Why Ranorex
Why RanorexWhy Ranorex
Why RanorexRanorex
 
Software testing basic concepts
Software testing basic conceptsSoftware testing basic concepts
Software testing basic conceptsHưng Hoàng
 
Alpha beta and acceptance testing
Alpha beta and acceptance testing Alpha beta and acceptance testing
Alpha beta and acceptance testing shah baadshah
 

Tendances (20)

TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013
 
Functional Testing
Functional TestingFunctional Testing
Functional Testing
 
Mobile Apps development best practices. TDD, CI, CD
Mobile Apps development best practices. TDD, CI, CDMobile Apps development best practices. TDD, CI, CD
Mobile Apps development best practices. TDD, CI, CD
 
Zibrasoft | Software QA Testing Company Inida
Zibrasoft | Software QA Testing Company InidaZibrasoft | Software QA Testing Company Inida
Zibrasoft | Software QA Testing Company Inida
 
Iterative software development
Iterative software developmentIterative software development
Iterative software development
 
Four schools of testing context driven school
Four schools of testing   context driven schoolFour schools of testing   context driven school
Four schools of testing context driven school
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application development
 
Types of testing and their classification
Types of testing and their classificationTypes of testing and their classification
Types of testing and their classification
 
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiIntroduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
An Introduction to Iterative Software Development
An Introduction to Iterative Software DevelopmentAn Introduction to Iterative Software Development
An Introduction to Iterative Software Development
 
Sparks 3.0 - Economically Delivering Quality Software
Sparks 3.0 - Economically Delivering Quality SoftwareSparks 3.0 - Economically Delivering Quality Software
Sparks 3.0 - Economically Delivering Quality Software
 
Rangkuman part 1
Rangkuman part 1Rangkuman part 1
Rangkuman part 1
 
Continuous Integration Practices
Continuous Integration Practices Continuous Integration Practices
Continuous Integration Practices
 
Agile testing - Principles and best practices
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practices
 
Why Ranorex
Why RanorexWhy Ranorex
Why Ranorex
 
Software testing basic concepts
Software testing basic conceptsSoftware testing basic concepts
Software testing basic concepts
 
Alpha beta and acceptance testing
Alpha beta and acceptance testing Alpha beta and acceptance testing
Alpha beta and acceptance testing
 

Similaire à Mobile Apps Validation: Facing the Challenge

Ast 2012 - Practices for Test Automation in Scrum Projects
Ast 2012 - Practices for Test Automation in Scrum ProjectsAst 2012 - Practices for Test Automation in Scrum Projects
Ast 2012 - Practices for Test Automation in Scrum ProjectsEliane Collins
 
Mobile test automation perfecto star east
Mobile test automation perfecto star eastMobile test automation perfecto star east
Mobile test automation perfecto star eastPerfecto Mobile
 
Strategies for agile software test automation
Strategies for agile software test automationStrategies for agile software test automation
Strategies for agile software test automationEliane Collins
 
Shift left mobile application testing
Shift left  mobile  application testingShift left  mobile  application testing
Shift left mobile application testingSatyajit Malugu
 
Appium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoAppium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoLizzy Guido (she/her)
 
Practical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile DevicesPractical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile DevicesJohan Hoberg
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing toolsQACraft
 
Large-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in PracticeLarge-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in PracticeTechWell
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Raji_new_July_2015
Raji_new_July_2015Raji_new_July_2015
Raji_new_July_2015Raja Kumari
 
Presentacion SBL Customers Day 3 Ruei And Amp for Siebel
Presentacion SBL Customers Day 3 Ruei And Amp for SiebelPresentacion SBL Customers Day 3 Ruei And Amp for Siebel
Presentacion SBL Customers Day 3 Ruei And Amp for Siebeloracledirect
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsEliane Collins
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Delta-N
 
SOASTA CloudTest Lite
SOASTA CloudTest LiteSOASTA CloudTest Lite
SOASTA CloudTest LiteFred Beringer
 

Similaire à Mobile Apps Validation: Facing the Challenge (20)

Ast 2012 - Practices for Test Automation in Scrum Projects
Ast 2012 - Practices for Test Automation in Scrum ProjectsAst 2012 - Practices for Test Automation in Scrum Projects
Ast 2012 - Practices for Test Automation in Scrum Projects
 
Mobile test automation perfecto star east
Mobile test automation perfecto star eastMobile test automation perfecto star east
Mobile test automation perfecto star east
 
Appium vs Appium with Perfecto
Appium vs Appium with PerfectoAppium vs Appium with Perfecto
Appium vs Appium with Perfecto
 
Strategies for agile software test automation
Strategies for agile software test automationStrategies for agile software test automation
Strategies for agile software test automation
 
Shift left mobile application testing
Shift left  mobile  application testingShift left  mobile  application testing
Shift left mobile application testing
 
Appium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoAppium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with Perfecto
 
Resume-Test Engineer
Resume-Test EngineerResume-Test Engineer
Resume-Test Engineer
 
Appium vs. Appium with Perfecto
Appium vs. Appium with PerfectoAppium vs. Appium with Perfecto
Appium vs. Appium with Perfecto
 
Practical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile DevicesPractical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile Devices
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing tools
 
Large-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in PracticeLarge-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in Practice
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Raji_new_July_2015
Raji_new_July_2015Raji_new_July_2015
Raji_new_July_2015
 
Presentacion SBL Customers Day 3 Ruei And Amp for Siebel
Presentacion SBL Customers Day 3 Ruei And Amp for SiebelPresentacion SBL Customers Day 3 Ruei And Amp for Siebel
Presentacion SBL Customers Day 3 Ruei And Amp for Siebel
 
Resume
ResumeResume
Resume
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
 
Application Testing Suite
Application Testing SuiteApplication Testing Suite
Application Testing Suite
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
 
SOASTA CloudTest Lite
SOASTA CloudTest LiteSOASTA CloudTest Lite
SOASTA CloudTest Lite
 

Mobile Apps Validation: Facing the Challenge

  • 1. Mobile Apps Validation: Facing the Challenge Virgilio Raniero QA&TEST 2011 October 2011
  • 2. “Six months. Be on time.” Nokia World, two days ago 2 © Nokia 2011
  • 3. Story of a transition Investigation Prototyping Setup Execution - Transition to a new platform - Deep change in mind-set and culture - Very short time to market (6 months) - Pivotal role of QA 3 © Nokia 2011
  • 4. Early investigation Investigation Prototyping Setup Execution - Quick “know-how injection” - 3 to 4 team members (1 QA) - Find out what we have and what we need - Unit Test framework and CM tools evaluation - Explore, try and adapt solutions 4 © Nokia 2011
  • 5. Proof of concept Investigation Prototyping Setup Execution - ~Daily releases - Unit Test, CM, CI and bug tracking tools in place - Component tests evaluation - UI Visual Test Automation evaluation - Show some solutions are valuable and why 5 © Nokia 2011
  • 6. Team set-up Investigation Prototyping Setup Execution - ~14 people (~35% QA), 2 Scrum Teams, 2-week sprints - Ramp-up and knowledge transfer - New CI and bug tracking tools in place - “Feature branching” - Let QA influence the architecture to increase testability 6 © Nokia 2011
  • 7. Deliver! Investigation Prototyping Setup Execution - Fortnightly releases - New UI Test Automation in place - Exploratory+Automated testing - “Master branch focused” - Keep the master clean and working 7 © Nokia 2011
  • 8. An adaptive strategy - Different QA solutions across the project phases - Work both on emulators and devices Test coverage 120 100 80 60 40 20 0 Prototyping (I) Prototyping(II) Production (I) Production (II) Unit Tests Component tests UI Automation Manual Testing 8 © Nokia 2011
  • 9. Flexibility: Test granularity UI Automated • Functional Test Tests • Stress Tests Component • UI native controls Tests • UI custom controls • Algorithmic failures Unit Tests • Static libraries 9 © Nokia 2011
  • 10. Adaptive: Test impact - Low level services - Single control and control-to-control interaction - Complete app stack UI Automated test UI layer Control1 Control2 Component test Data Service Service component Agent 1 Agent 2 Unit test 10 © Nokia 2011
  • 11. Unit tests - Constant sanity check on prototype - Continuous low level verification on product - Focused on the Model • White box testing • Use 3rd party (quasi-)stable frameworks • Handle asynchronous calls scenarios • Don’t push it too far! 11 © Nokia 2011
  • 12. Component tests - Efficient vertical testing of the application - Focused on Model, View, ViewModel of single Controls 12 © Nokia 2011 Interaction Properties APIs
  • 13. UI automated tests - Automated functional tests - Helps stabilizing the product at each release - Focused on View and ViewModel of the App • Grey-to-black box testing • Too easy means useless • Let developers and testers share the same environment 13 © Nokia 2011
  • 14. Conclusions Investigation Prototyping Setup Execution 120 100 80 60 40 20 0 Prototyping (I) Prototyping(II) Production (I) Production (II) Unit Tests Component tests UI Automation Manual Testing 14 © Nokia 2011
  • 15. What we learned • Guarantee a minimum quality level −QA can only lead the change through a robust credibility • Automate as much as you can −Exploratory testing will cover edge cases and new scenarios • Coding tests is the best test −Testers and developers should share the same development environment 15 © Nokia 2011
  • 16. Improvements • Component tests partially surrogate back-end mocking • Create an automated test per each relevant bug • CI must be continuous and continuously online • Estimate the impact of a story change during the sprint 16 © Nokia 2011
  • 17. We are hiring! - Nokia in Berlin has several open positions - These are exciting times! www.nokia.com/careers developer.jobs.berlin@nokia.com 17 © Nokia 2011
  • 18. Q&A 18 © Nokia 2011