SlideShare a Scribd company logo
1 of 64
Software testing banking
applications for mobile platforms
                    Christian Ramírez
Context
Design Considerations   Agenda
Test Design
To work
Presentation
Presentation
•   My name is Christian Ramírez
•   Computer Engineer
•   QA & testing Architect
•   Over 8 years of experience in QA and software
    testing




                    Presentation
Context
Context
• Mobile Banking
  – provision and availment of banking- and financial
    services
  – help of mobile telecommunication devices
  – Services
     • Facilities to conduct bank and stock market transactions
     • Administer accounts
     • Access customised information.




                                               Context
Context

• The first mobile phone-based banking service
  was launched in 1997 by Merita Bank of
  Finland, using SMS.




                                   Context
Context

• The mobile banking market has grown
  significantly




                                 Context
Context

• Mobile Banking includes a wide range of
  services.
  – These services may be categorised as following
     • Mobile Accounting
     • Mobile Brokerage
     • Mobile Financial Information




                                        Context
Context

• What is the challenge?
  – Today's banking applications are being used on
    smartphones
     • Web
     • Native
  – Manual testing is inefficient and doesn't scale
  – All platforms are different




                                          Context
Design Considerations
Design Considerations
• We need look beyond of the evident




Sword of omens,
give me sight beyond sight



                    Design Considerations
Design Considerations
• You don’t need to reinvent the wheel

  – Same domain same rules
  – Reuse




                    Design Considerations
Design Considerations

           Features




             Test
Devices                Locations
          Complexity




            Carriers




          Design Considerations
Design Considerations




      Design Considerations
Design Considerations
• Round 1
  – Traditional apps    VS   Mobile Apps




                       Design Considerations
Design Considerations
• Round 2
  Native Apps   vs   Web Apps




                Design Considerations
Design Considerations
• Manual testing is
  inefficient, but
  necessary.


• Test automation is logical
  solution.
  – Use test automation
    correctly



                      Design Considerations
Design Considerations
• Effective Test automation
  – Automate as much as possible
  – Focus in solve real problems
  – Think different, this kind of applications are very
    sensitive to external factors
  – Be a pioneer




                       Design Considerations
Test Design
Test Design
• Testing Framework
             Test Logic
             • Business Logic
             • Verification and Validation logic

             Dsl Application Driver
             • API


             Technical Driver
             • API
             • Access to technical data storage

             Software Under Test
             • Web
             • Native


                                            Test Design
Test Design
• Divide and conquer
  – Separate all parts as much as possible

                         Test Data




                                           • Reliability
                                           • Flexibility
                              Test Logic   • Maintainability
                                           • Clarity
                                           • Stability




                        Application
                          Driver




                                           Test Design
Test Design
• Promote the reuse
  – Design for reuse
  – Design with reuse
  – Improve your productivity
  – Reuse among platforms and domains
     • Business logic




                                 Test Design
Test Design
• Testability
  – The solution to all problems
     • the quality of a software design that allows for automated
       testing in a cost-effective manner.

                     Repeatable




          Easy to                   Easy to
           write    Testability   understand




                        Fast
                                         Test Design
Test Design
• TDD
  – Is the strategy of starting the development process by
    the test cases and then provide the software that
    satisfies these tests

             Red -> Green -> Refactor

  Red: Create an automated test. Run it. It should fail
  Green: Create the code to pass the tests
  Refactor: Clean up the code


                                   Test Design
Test Design
• TDD
  – Unit tests
     • Written by programmers
     • For programmers
     • In a programming language




                                   Test Design
Test Design
• BDD




                 Test Design
Test Design
• BDD
   – Beer Driven Development???




                            Test Design
Test Design
• BDD
  – Evolution in the thinking behind TDD
  – Common vocabulary between business, programmers
    and testers
  – BDD helps to achivement to increse the testability
  – Use a DSL(Domain Specific Language) to explain the
    behavior of the applications
  – Useful to write acceptance tests
    • A lot of tools
    • A lot of DSLs


                                Test Design
Test Design
• BDD
  – Use text scenarios
     • Given
     • When
     • Then


  – Defining steps




                              Test Design
Test Design
• BDD
  – DSL
     • Almost programming language dedicated to a particular
       problem domain
  – In banking apps is very useful to create acceptance
    tests
     • High level – tests are in the language of product
       management, at the user level
     • Readable – product management can understand them
     • Writeable - easy for developer or QA to write new test
     • Extendible – tests base is able to grow with DSL


                                     Test Design
To Work
To Work
• Test Automation
  – Almost always is possible automate all tests of a
    mobile banking application

     UI


     System


     Module


     Code(unit)
                                  To Work
To Work
• Test Strategy
  – Unit Test
        – Internal logic
  – Gui Test
        – Usability
        – Navigation
        – Always consider varied end user expectations




                                          To Work
To Work
• Test Strategy
  – Separate generic from specific
     • Many mobile applications include algorithms, etc
       unrelated to the mobile platform or technology
     • These should be separated from platform / technology
       specific code
     • Use 'desktop' test automation to test generic code
     • Consider platform-specific test automation once the
       generic code has good automated tests




                                     To Work
To Work
• Data collection
  – Screenshots
     • DDMS for Android
  – Logs
     • adb shell for Android




                                To Work
To Work
• Test Strategy




 Emulators                       Real devices
 • Android SDK                   in real
                  Real Devices   network
 • iOS SDK
                   in the lab
                                 • Carrier
                                 • Network




                             To Work
To Work
• Test Strategy for client applications
  – Unit testing
  – System testing when practical
  – Manual testing on devices
  – Use emulators with network analyzers
  – Custom clients help: Diagnose client capabilities
  – Identify and isolate the cause of problems
  – Model-based testing helps drive the client




                                  To Work
To Work
• Testing on android platform
  – SDK integrates a testing framework
  – It’s based on junit3
  – Supports
     •   Unit tests
     •   Functional tests
     •   Activity tests
     •   Mocks




                                  To Work
To Work
• Testing on android platform
  – Functional testing in native apps
     • You can use activities
          –   Pieces of code executables
          –   Interact with user
          –   Get data
          –   etc
     •   Activity can be manipulated
     •   You can use sendKeys() to simulate user interaction
     •   Is possible do isolated testing of a single activity
     •   Tests can be annotated with @UiThreadTest



                                           To Work
To Work
• Testing on android platform
  – Test application in controlled enviroment
  – Basic lifecycle
     • onCreate() called after createApplication()
     • tearDown() calls onDestroy()
  – Mock context can be injected
  – Application can be terminated with
     • terminateApplication()




                                       To Work
To Work
• Testing on android platform
  – Some methods should be avoided and will throw
    exceptions if called




                                To Work
To Work
• Testing on android platform
  – Framework support to test Services
  – Lifecycle
     • onCreated() called after startService() or bindService()
     • Depending on how was started tearDown() calls
       appropiate method
  – Mock object can be injected by
     • setApplication()
     • setContext()




                                       To Work
To Work
• Testing on android platform
     • Base class that can be extended to support different
       requirements
     • You can use this if you need
        – Test customs Views
        – Test permissions
        – Access Resources




                                      To Work
To Work
• Testing on android platform
  – Assertions View
     •   Aligned in several ways
     •   View agrouped
     •   Is on screen
     •   Has specific screen coordinates




                                           To Work
To Work
• Testing on android platform
  – Simulate complex user behavior
  – Use the methods to generate touch events
     •   clickView() to simulate touching
     •   dragX() to touch and drag
     •   longClick() for touching and holding
     •   scrollX()to simulate scrolling
     •   tapView() to touch and release quickly




                                        To Work
To Work
• Testing on android platform
  – Mocks
  – All classes has non functional methods
     •   MockApplication
     •   MockContentResolver
     •   MockContext
     •   MockDialogInterface
     •   MockPackageManager
     •   MockResources




                                 To Work
To Work
• Testing strategy for browser applications in
  both platforms(iOS and Android)
  – The content is easy to test automatically
  – Use pattern-matching to check responses
  – Use complex assertions
  – Use Xpath o css selectors to locate elements
  – Newer Mobile Web Browsers support Scripting &
    AJAX




                               To Work
To Work
• Testing strategy for browser applications in
  both platforms(iOS and Android)
  – Testing using HTTP calls is inefficient
  – To automate, use tools such as:
     • WebDriver (with custom HTTP headers)
     • Selenium RC
  – On-device testing is possible but not ideal (yet)




                                    To Work
To Work
• Testing strategy for browser applications in
  both platforms(iOS and Android)
  – Use selenium/webdriver
     • Native keyboard & mouse events
     • Same Origin Policy / XSS / HTTP(S)
     • Pop-ups, dialogs
        – Basic Authentication
        – Self-signed certificates
        – File upload/download




                                      To Work
To Work
• Use selenium/webdriver
  – Clean API
  – You can use your prefered language
     •   Python
     •   Ruby
     •   Java
     •   C#
  – You need change one line to change of platform




                                To Work
To Work
• Testing strategy for browser applications in
  both platforms(iOS and Android)
  – PageObject pattern
  – Encapsulate Objects on a page
  – Provide useful functions e.g. searchFor
  – Separate things that change from business logic




                                 To Work
To Work
• Best Practice
  – Use Oracle Testing
     • Mobile applications are
       derivated from web or
       client applications
     • All mobile banking
       applications consume
       services supplied by
       existing applications




                                 To Work
To Work
• Best Practice
  – Use Rule-based testing
     • can be coded to detect ‘good’ and ‘bad’ content
     • Detect incompatible content
     • Create rules from bug reports, server logs, etc
     • Use manual testing to verify rules, if unsure
     • Helps developers of new applications to deliver good
     quality content quickly




                                      To Work
To Work
• Best Practice
  – Model your application
  – You can use Model Based Testing
     • Utilizes formal models that model the SUT from the
       perspective of testing usually at a high level of
       abstraction




                                     To Work
To Work
• Best Practice
  – Consider testing manually
     • When working with legacy / external development
     • When testing the UI and UX (User Experience)
     • To complement Automated Tests




                                    To Work
To Work
• Best Practice
  – Continuous integration and Continuous testing
     • Execute your test frequently
     • Use pipelines in your CI server




                                         To Work
To Work
• Best Practice
  – Continuous integration and Continuous testing
     •   Each code submission automatically built
     •   Automated tests can run and report results
     •   Teams share a view of project status
     •   Changes are routinely integrated
     •   Fewer & smaller 'merge' conflicts




                                       To Work
To Work
• Best Practice
  – Use code analizers
     •   Devices have limited memory
     •   Clients use all the available memory
     •   Little memory left for code coverage
     •   Inclusion patterns up to method level




                                        To Work
To Work
• Best Practice
  – Use code analizers
  – Detects faults in
     • Event handler / event listeners
     • Missing / incorrect GUI elements
  – Long running tests exposing memory leaks
  – Code coverage
     • also for Unit tests




                                      To Work
To work
• General tips
     • Test code should be of Production quality
     • Import only those classes that you need. Avoid import
       abc.*
     • Use xPaths with caution. Do NOT use indexes.
     • Keep test data separate from test scripts.
     • Use private / protected member variables / methods.
       Make them public only when absolutely essential.
     • Keep test intent separate from implementation.
     • Do not simply copy / paste code from other sources
       without understanding it completely.
     • Duplicating CODE is NOT OK.

                                      To work
To work
• Next steps
  – The cloud
     • Very useful when you have a lot of tests
     • Private cloud
     • Cross-browser testing
        – Service for selenium is available
        – Execute your tests in the cloud or in your test enviroment




                                            To work
Thats All folks
Contact
• Christian Ramírez
  – chramirez@certum.com
  – @chrix2
  – www.certum.com
  – Mail Address
     • Rodolfo Gaona 86-f,
     Lomas de Sotelo CP 11200
     Miguel Hidalgo
     México DF
     México



                                Contact

More Related Content

What's hot

Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testingQualitest
 
Quality Assurance and Software Testing
Quality Assurance and Software TestingQuality Assurance and Software Testing
Quality Assurance and Software Testingpingkapil
 
Testing capability ppt
Testing capability pptTesting capability ppt
Testing capability pptanilreddyqa
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaEdureka!
 
What is (tcoe) testing center of excellence
What is (tcoe) testing center of excellenceWhat is (tcoe) testing center of excellence
What is (tcoe) testing center of excellenceMaveric Systems
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentationBelatrix Software
 
6 Ways to Measure the ROI of Automated Testing
6 Ways to Measure the ROI of Automated Testing6 Ways to Measure the ROI of Automated Testing
6 Ways to Measure the ROI of Automated TestingSmartBear
 
Basics of Software Testing
Basics of Software TestingBasics of Software Testing
Basics of Software TestingShakal Shukla
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance TestingSWAAM Tech
 
defect tracking and management
defect tracking and management   defect tracking and management
defect tracking and management Manish Chaurasia
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaHoa Le
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level BasicSelin Gungor
 
Defect analysis and prevention methods
Defect analysis and prevention methods Defect analysis and prevention methods
Defect analysis and prevention methods deep sharma
 

What's hot (20)

Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testing
 
Testing Best Practices
Testing Best PracticesTesting Best Practices
Testing Best Practices
 
Quality Assurance and Software Testing
Quality Assurance and Software TestingQuality Assurance and Software Testing
Quality Assurance and Software Testing
 
Testing capability ppt
Testing capability pptTesting capability ppt
Testing capability ppt
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | Edureka
 
Testing & Quality Assurance
Testing & Quality AssuranceTesting & Quality Assurance
Testing & Quality Assurance
 
What is (tcoe) testing center of excellence
What is (tcoe) testing center of excellenceWhat is (tcoe) testing center of excellence
What is (tcoe) testing center of excellence
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentation
 
TCoE
TCoETCoE
TCoE
 
Test Strategy
Test StrategyTest Strategy
Test Strategy
 
6 Ways to Measure the ROI of Automated Testing
6 Ways to Measure the ROI of Automated Testing6 Ways to Measure the ROI of Automated Testing
6 Ways to Measure the ROI of Automated Testing
 
Basics of Software Testing
Basics of Software TestingBasics of Software Testing
Basics of Software Testing
 
QA Center Of Excellence (TCoE)
QA Center Of Excellence (TCoE)QA Center Of Excellence (TCoE)
QA Center Of Excellence (TCoE)
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
 
defect tracking and management
defect tracking and management   defect tracking and management
defect tracking and management
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance Criteria
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
 
Defect analysis and prevention methods
Defect analysis and prevention methods Defect analysis and prevention methods
Defect analysis and prevention methods
 
Mobile App Testing Strategy
Mobile App Testing StrategyMobile App Testing Strategy
Mobile App Testing Strategy
 
Qa testing best practices
Qa testing best practicesQa testing best practices
Qa testing best practices
 

Viewers also liked

Case study on Banking Software Testing - FINACLE : UAT
Case study on Banking Software Testing - FINACLE : UATCase study on Banking Software Testing - FINACLE : UAT
Case study on Banking Software Testing - FINACLE : UATOAK Systems Pvt Ltd
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECHPravinsinh
 
An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)Usersnap
 
UAT - Cards Migration (Whitepaper)
UAT - Cards Migration (Whitepaper)UAT - Cards Migration (Whitepaper)
UAT - Cards Migration (Whitepaper)Thinksoft Global
 
Banking domain presentation
Banking domain presentationBanking domain presentation
Banking domain presentationYogesh Tompe
 
Manual QA Testing Interview Questions From H2KInfosys
Manual QA Testing Interview Questions From H2KInfosysManual QA Testing Interview Questions From H2KInfosys
Manual QA Testing Interview Questions From H2KInfosysH2kInfosys
 
UAT Kickoff Presentation 10 29 09
UAT Kickoff Presentation 10 29 09UAT Kickoff Presentation 10 29 09
UAT Kickoff Presentation 10 29 09goozer65
 
User Acceptance Testing (Uat)
User Acceptance Testing (Uat)User Acceptance Testing (Uat)
User Acceptance Testing (Uat)Thomas Martin
 
Niyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_ResumeNiyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_ResumeNiyati Madad
 
GL_Web application testing using selenium
GL_Web application testing using seleniumGL_Web application testing using selenium
GL_Web application testing using seleniumPragya Rastogi
 
Future of Mobile Banking System
Future of Mobile Banking SystemFuture of Mobile Banking System
Future of Mobile Banking SystemSyed Shujat Ali
 
Software Testing Project: Testing csmap program
Software Testing Project: Testing csmap programSoftware Testing Project: Testing csmap program
Software Testing Project: Testing csmap programDrake Huang
 
UAT for a Major US Banking Conglomerate
UAT for a Major US Banking ConglomerateUAT for a Major US Banking Conglomerate
UAT for a Major US Banking ConglomerateThinksoft Global
 
5 Tips For Making Linked In Work For You
5 Tips For Making Linked In Work For You5 Tips For Making Linked In Work For You
5 Tips For Making Linked In Work For Youmarkkley
 
Trabajo terminado copia
Trabajo terminado   copiaTrabajo terminado   copia
Trabajo terminado copiasergio medina
 
Non-fiction book design portfolio from SWATT Books
Non-fiction book design portfolio from SWATT BooksNon-fiction book design portfolio from SWATT Books
Non-fiction book design portfolio from SWATT BooksSamantha Pearce
 
Día de andalucía ceip emilio carmona
Día de andalucía  ceip emilio carmonaDía de andalucía  ceip emilio carmona
Día de andalucía ceip emilio carmonadgarzon1
 
Devi radhe maa jagran in delhi
Devi radhe maa jagran in delhiDevi radhe maa jagran in delhi
Devi radhe maa jagran in delhiglobal0395
 

Viewers also liked (19)

Case study on Banking Software Testing - FINACLE : UAT
Case study on Banking Software Testing - FINACLE : UATCase study on Banking Software Testing - FINACLE : UAT
Case study on Banking Software Testing - FINACLE : UAT
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECH
 
An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)
 
UAT - Cards Migration (Whitepaper)
UAT - Cards Migration (Whitepaper)UAT - Cards Migration (Whitepaper)
UAT - Cards Migration (Whitepaper)
 
Banking domain presentation
Banking domain presentationBanking domain presentation
Banking domain presentation
 
Manual QA Testing Interview Questions From H2KInfosys
Manual QA Testing Interview Questions From H2KInfosysManual QA Testing Interview Questions From H2KInfosys
Manual QA Testing Interview Questions From H2KInfosys
 
UAT Kickoff Presentation 10 29 09
UAT Kickoff Presentation 10 29 09UAT Kickoff Presentation 10 29 09
UAT Kickoff Presentation 10 29 09
 
User Acceptance Testing (Uat)
User Acceptance Testing (Uat)User Acceptance Testing (Uat)
User Acceptance Testing (Uat)
 
Niyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_ResumeNiyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_Resume
 
GL_Web application testing using selenium
GL_Web application testing using seleniumGL_Web application testing using selenium
GL_Web application testing using selenium
 
Mobile Banking
Mobile BankingMobile Banking
Mobile Banking
 
Future of Mobile Banking System
Future of Mobile Banking SystemFuture of Mobile Banking System
Future of Mobile Banking System
 
Software Testing Project: Testing csmap program
Software Testing Project: Testing csmap programSoftware Testing Project: Testing csmap program
Software Testing Project: Testing csmap program
 
UAT for a Major US Banking Conglomerate
UAT for a Major US Banking ConglomerateUAT for a Major US Banking Conglomerate
UAT for a Major US Banking Conglomerate
 
5 Tips For Making Linked In Work For You
5 Tips For Making Linked In Work For You5 Tips For Making Linked In Work For You
5 Tips For Making Linked In Work For You
 
Trabajo terminado copia
Trabajo terminado   copiaTrabajo terminado   copia
Trabajo terminado copia
 
Non-fiction book design portfolio from SWATT Books
Non-fiction book design portfolio from SWATT BooksNon-fiction book design portfolio from SWATT Books
Non-fiction book design portfolio from SWATT Books
 
Día de andalucía ceip emilio carmona
Día de andalucía  ceip emilio carmonaDía de andalucía  ceip emilio carmona
Día de andalucía ceip emilio carmona
 
Devi radhe maa jagran in delhi
Devi radhe maa jagran in delhiDevi radhe maa jagran in delhi
Devi radhe maa jagran in delhi
 

Similar to Testing banking apps

Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile DeveloperBSGAfrica
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Delta-N
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfutubashaikh26
 
Agile product development and management
Agile product development and managementAgile product development and management
Agile product development and managementAshwinee Kumar
 
Agileproductdevelopmentandmanagement 120420040535-phpapp02
Agileproductdevelopmentandmanagement 120420040535-phpapp02Agileproductdevelopmentandmanagement 120420040535-phpapp02
Agileproductdevelopmentandmanagement 120420040535-phpapp02Cognizant
 
Aligning Software Testing With Modern Age Development Practices
Aligning Software Testing With Modern Age Development PracticesAligning Software Testing With Modern Age Development Practices
Aligning Software Testing With Modern Age Development PracticesAspire Systems
 
Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012Imaginet
 
Quality Coding: What's New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012Quality Coding: What's New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012Imaginet
 
Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012Imaginet
 
Raghwinder_ B.Tech IT Software Testing
Raghwinder_ B.Tech IT Software TestingRaghwinder_ B.Tech IT Software Testing
Raghwinder_ B.Tech IT Software TestingRaghwinder Parshad
 
End to End Testing with Quality Enthusiasts: SDET Technologies
End to End Testing with Quality Enthusiasts: SDET TechnologiesEnd to End Testing with Quality Enthusiasts: SDET Technologies
End to End Testing with Quality Enthusiasts: SDET Technologiessdettech
 
Streamlining Testing with Visual Studio 2012
Streamlining Testing with Visual Studio 2012Streamlining Testing with Visual Studio 2012
Streamlining Testing with Visual Studio 2012Imaginet
 
Microsoft ALM Platform Overview
Microsoft ALM Platform OverviewMicrosoft ALM Platform Overview
Microsoft ALM Platform OverviewSteve Lange
 
DevOps for AI Apps
DevOps for AI AppsDevOps for AI Apps
DevOps for AI AppsRichin Jain
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLESIvano Malavolta
 

Similar to Testing banking apps (20)

Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
 
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
 
ppt_se.pdf
ppt_se.pdfppt_se.pdf
ppt_se.pdf
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
 
Agile product development and management
Agile product development and managementAgile product development and management
Agile product development and management
 
Agileproductdevelopmentandmanagement 120420040535-phpapp02
Agileproductdevelopmentandmanagement 120420040535-phpapp02Agileproductdevelopmentandmanagement 120420040535-phpapp02
Agileproductdevelopmentandmanagement 120420040535-phpapp02
 
Aligning Software Testing With Modern Age Development Practices
Aligning Software Testing With Modern Age Development PracticesAligning Software Testing With Modern Age Development Practices
Aligning Software Testing With Modern Age Development Practices
 
Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012
 
Quality Coding: What's New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012Quality Coding: What's New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012
 
Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012
 
Kku2011
Kku2011Kku2011
Kku2011
 
Raghwinder_ B.Tech IT Software Testing
Raghwinder_ B.Tech IT Software TestingRaghwinder_ B.Tech IT Software Testing
Raghwinder_ B.Tech IT Software Testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
End to End Testing with Quality Enthusiasts: SDET Technologies
End to End Testing with Quality Enthusiasts: SDET TechnologiesEnd to End Testing with Quality Enthusiasts: SDET Technologies
End to End Testing with Quality Enthusiasts: SDET Technologies
 
Streamlining Testing with Visual Studio 2012
Streamlining Testing with Visual Studio 2012Streamlining Testing with Visual Studio 2012
Streamlining Testing with Visual Studio 2012
 
Microsoft ALM Platform Overview
Microsoft ALM Platform OverviewMicrosoft ALM Platform Overview
Microsoft ALM Platform Overview
 
DevOps for AI Apps
DevOps for AI AppsDevOps for AI Apps
DevOps for AI Apps
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 

Recently uploaded

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

Testing banking apps

  • 1. Software testing banking applications for mobile platforms Christian Ramírez
  • 2. Context Design Considerations Agenda Test Design To work
  • 4. Presentation • My name is Christian Ramírez • Computer Engineer • QA & testing Architect • Over 8 years of experience in QA and software testing Presentation
  • 6. Context • Mobile Banking – provision and availment of banking- and financial services – help of mobile telecommunication devices – Services • Facilities to conduct bank and stock market transactions • Administer accounts • Access customised information. Context
  • 7. Context • The first mobile phone-based banking service was launched in 1997 by Merita Bank of Finland, using SMS. Context
  • 8. Context • The mobile banking market has grown significantly Context
  • 9. Context • Mobile Banking includes a wide range of services. – These services may be categorised as following • Mobile Accounting • Mobile Brokerage • Mobile Financial Information Context
  • 10. Context • What is the challenge? – Today's banking applications are being used on smartphones • Web • Native – Manual testing is inefficient and doesn't scale – All platforms are different Context
  • 12. Design Considerations • We need look beyond of the evident Sword of omens, give me sight beyond sight Design Considerations
  • 13. Design Considerations • You don’t need to reinvent the wheel – Same domain same rules – Reuse Design Considerations
  • 14. Design Considerations Features Test Devices Locations Complexity Carriers Design Considerations
  • 15. Design Considerations Design Considerations
  • 16. Design Considerations • Round 1 – Traditional apps VS Mobile Apps Design Considerations
  • 17. Design Considerations • Round 2 Native Apps vs Web Apps Design Considerations
  • 18. Design Considerations • Manual testing is inefficient, but necessary. • Test automation is logical solution. – Use test automation correctly Design Considerations
  • 19. Design Considerations • Effective Test automation – Automate as much as possible – Focus in solve real problems – Think different, this kind of applications are very sensitive to external factors – Be a pioneer Design Considerations
  • 21. Test Design • Testing Framework Test Logic • Business Logic • Verification and Validation logic Dsl Application Driver • API Technical Driver • API • Access to technical data storage Software Under Test • Web • Native Test Design
  • 22. Test Design • Divide and conquer – Separate all parts as much as possible Test Data • Reliability • Flexibility Test Logic • Maintainability • Clarity • Stability Application Driver Test Design
  • 23. Test Design • Promote the reuse – Design for reuse – Design with reuse – Improve your productivity – Reuse among platforms and domains • Business logic Test Design
  • 24. Test Design • Testability – The solution to all problems • the quality of a software design that allows for automated testing in a cost-effective manner. Repeatable Easy to Easy to write Testability understand Fast Test Design
  • 25. Test Design • TDD – Is the strategy of starting the development process by the test cases and then provide the software that satisfies these tests Red -> Green -> Refactor Red: Create an automated test. Run it. It should fail Green: Create the code to pass the tests Refactor: Clean up the code Test Design
  • 26. Test Design • TDD – Unit tests • Written by programmers • For programmers • In a programming language Test Design
  • 27. Test Design • BDD Test Design
  • 28. Test Design • BDD – Beer Driven Development??? Test Design
  • 29. Test Design • BDD – Evolution in the thinking behind TDD – Common vocabulary between business, programmers and testers – BDD helps to achivement to increse the testability – Use a DSL(Domain Specific Language) to explain the behavior of the applications – Useful to write acceptance tests • A lot of tools • A lot of DSLs Test Design
  • 30. Test Design • BDD – Use text scenarios • Given • When • Then – Defining steps Test Design
  • 31. Test Design • BDD – DSL • Almost programming language dedicated to a particular problem domain – In banking apps is very useful to create acceptance tests • High level – tests are in the language of product management, at the user level • Readable – product management can understand them • Writeable - easy for developer or QA to write new test • Extendible – tests base is able to grow with DSL Test Design
  • 33. To Work • Test Automation – Almost always is possible automate all tests of a mobile banking application UI System Module Code(unit) To Work
  • 34. To Work • Test Strategy – Unit Test – Internal logic – Gui Test – Usability – Navigation – Always consider varied end user expectations To Work
  • 35. To Work • Test Strategy – Separate generic from specific • Many mobile applications include algorithms, etc unrelated to the mobile platform or technology • These should be separated from platform / technology specific code • Use 'desktop' test automation to test generic code • Consider platform-specific test automation once the generic code has good automated tests To Work
  • 36. To Work • Data collection – Screenshots • DDMS for Android – Logs • adb shell for Android To Work
  • 37. To Work • Test Strategy Emulators Real devices • Android SDK in real Real Devices network • iOS SDK in the lab • Carrier • Network To Work
  • 38. To Work • Test Strategy for client applications – Unit testing – System testing when practical – Manual testing on devices – Use emulators with network analyzers – Custom clients help: Diagnose client capabilities – Identify and isolate the cause of problems – Model-based testing helps drive the client To Work
  • 39. To Work • Testing on android platform – SDK integrates a testing framework – It’s based on junit3 – Supports • Unit tests • Functional tests • Activity tests • Mocks To Work
  • 40. To Work • Testing on android platform – Functional testing in native apps • You can use activities – Pieces of code executables – Interact with user – Get data – etc • Activity can be manipulated • You can use sendKeys() to simulate user interaction • Is possible do isolated testing of a single activity • Tests can be annotated with @UiThreadTest To Work
  • 41. To Work • Testing on android platform – Test application in controlled enviroment – Basic lifecycle • onCreate() called after createApplication() • tearDown() calls onDestroy() – Mock context can be injected – Application can be terminated with • terminateApplication() To Work
  • 42. To Work • Testing on android platform – Some methods should be avoided and will throw exceptions if called To Work
  • 43. To Work • Testing on android platform – Framework support to test Services – Lifecycle • onCreated() called after startService() or bindService() • Depending on how was started tearDown() calls appropiate method – Mock object can be injected by • setApplication() • setContext() To Work
  • 44. To Work • Testing on android platform • Base class that can be extended to support different requirements • You can use this if you need – Test customs Views – Test permissions – Access Resources To Work
  • 45. To Work • Testing on android platform – Assertions View • Aligned in several ways • View agrouped • Is on screen • Has specific screen coordinates To Work
  • 46. To Work • Testing on android platform – Simulate complex user behavior – Use the methods to generate touch events • clickView() to simulate touching • dragX() to touch and drag • longClick() for touching and holding • scrollX()to simulate scrolling • tapView() to touch and release quickly To Work
  • 47. To Work • Testing on android platform – Mocks – All classes has non functional methods • MockApplication • MockContentResolver • MockContext • MockDialogInterface • MockPackageManager • MockResources To Work
  • 48. To Work • Testing strategy for browser applications in both platforms(iOS and Android) – The content is easy to test automatically – Use pattern-matching to check responses – Use complex assertions – Use Xpath o css selectors to locate elements – Newer Mobile Web Browsers support Scripting & AJAX To Work
  • 49. To Work • Testing strategy for browser applications in both platforms(iOS and Android) – Testing using HTTP calls is inefficient – To automate, use tools such as: • WebDriver (with custom HTTP headers) • Selenium RC – On-device testing is possible but not ideal (yet) To Work
  • 50. To Work • Testing strategy for browser applications in both platforms(iOS and Android) – Use selenium/webdriver • Native keyboard & mouse events • Same Origin Policy / XSS / HTTP(S) • Pop-ups, dialogs – Basic Authentication – Self-signed certificates – File upload/download To Work
  • 51. To Work • Use selenium/webdriver – Clean API – You can use your prefered language • Python • Ruby • Java • C# – You need change one line to change of platform To Work
  • 52. To Work • Testing strategy for browser applications in both platforms(iOS and Android) – PageObject pattern – Encapsulate Objects on a page – Provide useful functions e.g. searchFor – Separate things that change from business logic To Work
  • 53. To Work • Best Practice – Use Oracle Testing • Mobile applications are derivated from web or client applications • All mobile banking applications consume services supplied by existing applications To Work
  • 54. To Work • Best Practice – Use Rule-based testing • can be coded to detect ‘good’ and ‘bad’ content • Detect incompatible content • Create rules from bug reports, server logs, etc • Use manual testing to verify rules, if unsure • Helps developers of new applications to deliver good quality content quickly To Work
  • 55. To Work • Best Practice – Model your application – You can use Model Based Testing • Utilizes formal models that model the SUT from the perspective of testing usually at a high level of abstraction To Work
  • 56. To Work • Best Practice – Consider testing manually • When working with legacy / external development • When testing the UI and UX (User Experience) • To complement Automated Tests To Work
  • 57. To Work • Best Practice – Continuous integration and Continuous testing • Execute your test frequently • Use pipelines in your CI server To Work
  • 58. To Work • Best Practice – Continuous integration and Continuous testing • Each code submission automatically built • Automated tests can run and report results • Teams share a view of project status • Changes are routinely integrated • Fewer & smaller 'merge' conflicts To Work
  • 59. To Work • Best Practice – Use code analizers • Devices have limited memory • Clients use all the available memory • Little memory left for code coverage • Inclusion patterns up to method level To Work
  • 60. To Work • Best Practice – Use code analizers – Detects faults in • Event handler / event listeners • Missing / incorrect GUI elements – Long running tests exposing memory leaks – Code coverage • also for Unit tests To Work
  • 61. To work • General tips • Test code should be of Production quality • Import only those classes that you need. Avoid import abc.* • Use xPaths with caution. Do NOT use indexes. • Keep test data separate from test scripts. • Use private / protected member variables / methods. Make them public only when absolutely essential. • Keep test intent separate from implementation. • Do not simply copy / paste code from other sources without understanding it completely. • Duplicating CODE is NOT OK. To work
  • 62. To work • Next steps – The cloud • Very useful when you have a lot of tests • Private cloud • Cross-browser testing – Service for selenium is available – Execute your tests in the cloud or in your test enviroment To work
  • 64. Contact • Christian Ramírez – chramirez@certum.com – @chrix2 – www.certum.com – Mail Address • Rodolfo Gaona 86-f, Lomas de Sotelo CP 11200 Miguel Hidalgo México DF México Contact