際際滷

際際滷Share a Scribd company logo
MAL12: QAT and Automated
   Testing of Modern Apps


                     Andy Tinkham
          Principal Lead Consultant, QAT


                         Level: Intermediate
Personal Information
   http://www.testerthoughts.com
   http://www.twitter.com/andytinkham
   andyt@magenic.com

   Office hours:
    http://ohours.org/andytinkham

   際際滷s available at
    http://slideshare.net/andytinkham
Previously, on Modern Apps Live


  Quality is teams job, not just
  testers



      Team needs info to make decisions



          Testing activities provide information



               Assign testing activities to people
               best able to provide that information
Yesterday, we talked about the types of
information that developers can provide.

Today, well talk about the information the
        testers can best provide.
Tester-provided Information


                         How it can work                                What weve done &                                   Why we did the
 Story of the Product




                                                                                              Story of the Testing Quality
                                                 Story of the Testing
                                                                          seen                                                 testing we did
                         How it fails
                                                                         Where we havent                                    Why this is (or isnt)
                         How it might fail in                            gone                                                 good enough
                          ways that matter to
                          our clients                                    Where we wont be                                   What we need to
                                                                          going                                                get more
                                                                                                                               information
                                                                         What problems did
                                                                          we find? To whom?                                   Risks and costs
                                                                          Why?
                                                                                                                              Impediments to
                                                                                                                               testing




Hat tip to Michael Bolton, DevelopSense
http://www.developsense.com/blog/2012/02/braiding-the-stories/
Ultimately


  Each bit of each story leads to a reduction in
Risk
   Risks have different levels of importance
     Potential impact if problem occurs
     Likelihood of problem occurrence


   Tasks address different amounts of risk

   Schedules slip  we might not get
    to do all the testing we want

   Use risk to prioritize testing efforts
    - risk-based testing!
Risk-based testing

       Test for the
    biggest risks first
   Use risks as inputs
     to test design
Identifying risk

      Technical               Business

 Areas where path       Key functionality
  to develop unclear     Differentiators used
 Explicit                by sales
  assumptions            Areas where
 Foundational            problems have
  architecture pieces     occurred
 Areas where             historically
  problems have
  occurred
  historically
MyVote Example Risks
   Schedule risks

   Unable to create a poll

   Cant access previously created polls

   Problems when authentication service is
    down

   Analysis looks at wrong set of answers
Translating risk to test cases
   After prioritizing risks, begin by asking

    How can I tell if this problem occurs?

   Explore wording to see if additional
    meanings appear
     Analysis looks at WRONG set of answers
      Subset
      Superset of right answers plus extras
      No overlap with right answers
Running Tests
   Pick tests
     Importance of risks they address
     Value of information running a test will provide


   As you progress, feedback learning into
    process
     Reprioritize risks
     Revalue information
     Create new tests
     Skip tests
How can devs help the test team?
   Communicate risks that you see to testers
     Where are you less sure about how to develop
      functionality?
     What questions did you have while you were
      designing & developing?
     What assumptions did you make while coding?


   Review risks identified
     More or less serious impacts?
     Different likelihoods?
     Missing risks?
Risk-based testing in MyVote
   Having risks identified meant that we
    could deal with time crunch

   Not everything got tested  but we used
    the time we did have as effectively as we
    could

   Were able to treat some risks as covered
    by dev testing and focus more on other
    risks
Risks give us a lot of insight into
 what could go wrong, but how
  do we address the things we
         cant predict?
Session-based Exploratory
Testing
   Time-boxed testing on a focused topic

   Not following pre-designed test cases

   Learning from previous tests guides next
    steps
Session-Based Approach
   Use a single focus as a charter
     Check all the menus
     Investigate the order sorting functionality


   Setup an uninterrupted time box (generally
    1-2 hours)

   Work through test ideas,
    continually integrating your
    learning as you design new tests
During the session
   Keep a record of what you do
     Written notes
     VS 2012 exploratory testing session recording
     Rapid Reporter (http://testing.gershon.info/reporter/)
   Keep lists
     Bugs found
     Additional charters to cover/things to
      investigate
     Additional test ideas for this charter
After the session
   Debrief session for knowledge
    dissemination
     [Past] What happened during the session?
     [Results] What was achieved during the session?
     [Obstacles] What got in the way of good testing?
     [Outlook] What still needs to be done?
     [Feelings] How does the tester feel about all this?
Planned Executing Tests in
MyVote
   Each feature had a work item per platform

   Assigned work items to testers

   Each work item becomes charter

   Debriefed after testing to share
    information & review for additional
    session needs
Reality for MyVote
   Scaled back to just a small number of
    sessions due to time constraints

   Each session focused on the app on a
    given platform

   No debriefing

   Results: Not as strong a testing effort as
    hoped
Automated Testing
   Any test can be more or less automated 
    it doesnt have to be fully automated


   The key is to approach automation from a
    task perspective, not a test perspective


   Possible tasks
     1 or more tests
     1 or more test steps
     1 or more supporting tasks
Choosing tasks to automate
   Choose tasks that take advantage of
    computers strengths rather than just
    automating existing human-focused tests


   Plan automation in conjunction with rest of
    test planning


   Look for access points below UI
Potential pitfalls
   Automation takes time
     Creation time
     Maintenance time


   Easy to shift focus from automation
    adding value & providing useful
    information to cool to automate
How devs can help with
automation
   Share unit testing infrastructure and
    architecture components

   Code reviews of automation code

   Pair with testers
Non-Functional Testing
   Not all important test cases focus on
    functionality

   When identifying risks, think about things
    like impacts of slow performance, lack of
    usability, and lack of security

   Dont leave non-functional testing until the
    end  build in monitoring & tests from
    start
Tester-provided Information


                         How it can work                                What weve done &                                   Why we did the
 Story of the Product




                                                                                              Story of the Testing Quality
                                                 Story of the Testing
                                                                          seen                                                 testing we did
                         How it fails
                                                                         Where we havent                                    Why this is (or isnt)
                         How it might fail in                            gone                                                 good enough
                          ways that matter to
                          our clients                                    Where we wont be                                   What we need to
                                                                          going                                                get more
                                                                                                                               information
                                                                         What problems did
                                                                          we find? To whom?                                   Risks and costs
                                                                          Why?
                                                                                                                              Impediments to
                                                                                                                               testing




Hat tip to Michael Bolton, DevelopSense
http://www.developsense.com/blog/2012/02/braiding-the-stories/
http://ohours.org/andytinkham
     andyt@magenic.com
URLs from the discussion after
the talk
   http://testingeducation.org  free video
    lectures & slides on software testing for a
    college-level black-box software testing
    course

   http://testobsessed.com/wp-
    content/uploads/2011/04/testheuristicsche
    atsheetv1.pdf - Elisabeth Hendricksons
    Test Heuristics Cheat Sheet with lots of
    test ideas

More Related Content

What's hot (9)

PDF
Practical Scrum - day 1
Anat (Alon) Salhov
PPTX
A CTOs Perspective on Agile
Bradley Brown
PPTX
Business process simulations: from GREAT! to good, Razvan Radulian, Sept 2013
Why-What-How Consulting, LLC
PPTX
Shipping code is not the problem, deciding what to ship it is!
Mauro Servienti
PPTX
Rework
Andy Hitchman
PPTX
Agile Estimation And Planning Part I
Kevin Zamora
PDF
Being agile while standing in a waterfall
Mike Edwards
PDF
141015 Discovering Scrum at Scrum Roma
Peter Stevens
PDF
Continuous Delivery: Never Send a Human to Do a Machines Job
TechWell
Practical Scrum - day 1
Anat (Alon) Salhov
A CTOs Perspective on Agile
Bradley Brown
Business process simulations: from GREAT! to good, Razvan Radulian, Sept 2013
Why-What-How Consulting, LLC
Shipping code is not the problem, deciding what to ship it is!
Mauro Servienti
Rework
Andy Hitchman
Agile Estimation And Planning Part I
Kevin Zamora
Being agile while standing in a waterfall
Mike Edwards
141015 Discovering Scrum at Scrum Roma
Peter Stevens
Continuous Delivery: Never Send a Human to Do a Machines Job
TechWell

Similar to Mal12 qa tand-automatedtesting (20)

PDF
Agile process
alind tiwari
PPT
Test strategy &-testplanning
srivinayak
PPT
NG_TEST_SR_Presentation
techweb08
PPT
NG_TEST_Presentation_0510
techweb08
PPT
NGTEST_Presentation
techweb08
PDF
Introduction to Automated Testing
Lars Thorup
PDF
Introduction to-automated-testing
BestBrains
PDF
Automated testing handbook from Linda Hayes
Cristiano Caetano
PDF
Efficient And Effective Test Design
Justin Hunter
PDF
IBM Rational Software Conference 2009: Quality Management Track Keynote
Kathy (Kat) Mandelstein
PDF
Agile testing principles and practices - Anil Karade
IndicThreads
PDF
Vaidyanathan Ramalingam Trade Off Economics In Testing Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
PDF
Vaidyanathan Ramalingam Agile Testing Leadership Lessons Softec 2 July2011
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
PDF
Vaidyanathan Ramalingam Agile Testing Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
PDF
Vaidyanathan Ramalingam Testing Checklist Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
PDF
Vaidyanathan Ramalingam Waterfall Vs Agile Testing Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
PDF
Vaidyanathan Ramalingam Software Testing Eco System Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
PDF
Vaidyanathan Ramalingam Silicon India Testing Conference 2 July2011 Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
PDF
Vaidyanathan Ramalingam Agile Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
PDF
Vaidyanathan Ramalingam Rca In Agile Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
Agile process
alind tiwari
Test strategy &-testplanning
srivinayak
NG_TEST_SR_Presentation
techweb08
NG_TEST_Presentation_0510
techweb08
NGTEST_Presentation
techweb08
Introduction to Automated Testing
Lars Thorup
Introduction to-automated-testing
BestBrains
Automated testing handbook from Linda Hayes
Cristiano Caetano
Efficient And Effective Test Design
Justin Hunter
IBM Rational Software Conference 2009: Quality Management Track Keynote
Kathy (Kat) Mandelstein
Agile testing principles and practices - Anil Karade
IndicThreads
Vaidyanathan Ramalingam Trade Off Economics In Testing Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
Vaidyanathan Ramalingam Agile Testing Leadership Lessons Softec 2 July2011
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
Vaidyanathan Ramalingam Agile Testing Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
Vaidyanathan Ramalingam Testing Checklist Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
Vaidyanathan Ramalingam Waterfall Vs Agile Testing Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
Vaidyanathan Ramalingam Software Testing Eco System Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
Vaidyanathan Ramalingam Silicon India Testing Conference 2 July2011 Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
Vaidyanathan Ramalingam Agile Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
Vaidyanathan Ramalingam Rca In Agile Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
Ad

Mal12 qa tand-automatedtesting

  • 1. MAL12: QAT and Automated Testing of Modern Apps Andy Tinkham Principal Lead Consultant, QAT Level: Intermediate
  • 2. Personal Information http://www.testerthoughts.com http://www.twitter.com/andytinkham andyt@magenic.com Office hours: http://ohours.org/andytinkham 際際滷s available at http://slideshare.net/andytinkham
  • 3. Previously, on Modern Apps Live Quality is teams job, not just testers Team needs info to make decisions Testing activities provide information Assign testing activities to people best able to provide that information
  • 4. Yesterday, we talked about the types of information that developers can provide. Today, well talk about the information the testers can best provide.
  • 5. Tester-provided Information How it can work What weve done & Why we did the Story of the Product Story of the Testing Quality Story of the Testing seen testing we did How it fails Where we havent Why this is (or isnt) How it might fail in gone good enough ways that matter to our clients Where we wont be What we need to going get more information What problems did we find? To whom? Risks and costs Why? Impediments to testing Hat tip to Michael Bolton, DevelopSense http://www.developsense.com/blog/2012/02/braiding-the-stories/
  • 6. Ultimately Each bit of each story leads to a reduction in
  • 7. Risk Risks have different levels of importance Potential impact if problem occurs Likelihood of problem occurrence Tasks address different amounts of risk Schedules slip we might not get to do all the testing we want Use risk to prioritize testing efforts - risk-based testing!
  • 8. Risk-based testing Test for the biggest risks first Use risks as inputs to test design
  • 9. Identifying risk Technical Business Areas where path Key functionality to develop unclear Differentiators used Explicit by sales assumptions Areas where Foundational problems have architecture pieces occurred Areas where historically problems have occurred historically
  • 10. MyVote Example Risks Schedule risks Unable to create a poll Cant access previously created polls Problems when authentication service is down Analysis looks at wrong set of answers
  • 11. Translating risk to test cases After prioritizing risks, begin by asking How can I tell if this problem occurs? Explore wording to see if additional meanings appear Analysis looks at WRONG set of answers Subset Superset of right answers plus extras No overlap with right answers
  • 12. Running Tests Pick tests Importance of risks they address Value of information running a test will provide As you progress, feedback learning into process Reprioritize risks Revalue information Create new tests Skip tests
  • 13. How can devs help the test team? Communicate risks that you see to testers Where are you less sure about how to develop functionality? What questions did you have while you were designing & developing? What assumptions did you make while coding? Review risks identified More or less serious impacts? Different likelihoods? Missing risks?
  • 14. Risk-based testing in MyVote Having risks identified meant that we could deal with time crunch Not everything got tested but we used the time we did have as effectively as we could Were able to treat some risks as covered by dev testing and focus more on other risks
  • 15. Risks give us a lot of insight into what could go wrong, but how do we address the things we cant predict?
  • 16. Session-based Exploratory Testing Time-boxed testing on a focused topic Not following pre-designed test cases Learning from previous tests guides next steps
  • 17. Session-Based Approach Use a single focus as a charter Check all the menus Investigate the order sorting functionality Setup an uninterrupted time box (generally 1-2 hours) Work through test ideas, continually integrating your learning as you design new tests
  • 18. During the session Keep a record of what you do Written notes VS 2012 exploratory testing session recording Rapid Reporter (http://testing.gershon.info/reporter/) Keep lists Bugs found Additional charters to cover/things to investigate Additional test ideas for this charter
  • 19. After the session Debrief session for knowledge dissemination [Past] What happened during the session? [Results] What was achieved during the session? [Obstacles] What got in the way of good testing? [Outlook] What still needs to be done? [Feelings] How does the tester feel about all this?
  • 20. Planned Executing Tests in MyVote Each feature had a work item per platform Assigned work items to testers Each work item becomes charter Debriefed after testing to share information & review for additional session needs
  • 21. Reality for MyVote Scaled back to just a small number of sessions due to time constraints Each session focused on the app on a given platform No debriefing Results: Not as strong a testing effort as hoped
  • 22. Automated Testing Any test can be more or less automated it doesnt have to be fully automated The key is to approach automation from a task perspective, not a test perspective Possible tasks 1 or more tests 1 or more test steps 1 or more supporting tasks
  • 23. Choosing tasks to automate Choose tasks that take advantage of computers strengths rather than just automating existing human-focused tests Plan automation in conjunction with rest of test planning Look for access points below UI
  • 24. Potential pitfalls Automation takes time Creation time Maintenance time Easy to shift focus from automation adding value & providing useful information to cool to automate
  • 25. How devs can help with automation Share unit testing infrastructure and architecture components Code reviews of automation code Pair with testers
  • 26. Non-Functional Testing Not all important test cases focus on functionality When identifying risks, think about things like impacts of slow performance, lack of usability, and lack of security Dont leave non-functional testing until the end build in monitoring & tests from start
  • 27. Tester-provided Information How it can work What weve done & Why we did the Story of the Product Story of the Testing Quality Story of the Testing seen testing we did How it fails Where we havent Why this is (or isnt) How it might fail in gone good enough ways that matter to our clients Where we wont be What we need to going get more information What problems did we find? To whom? Risks and costs Why? Impediments to testing Hat tip to Michael Bolton, DevelopSense http://www.developsense.com/blog/2012/02/braiding-the-stories/
  • 28. http://ohours.org/andytinkham andyt@magenic.com
  • 29. URLs from the discussion after the talk http://testingeducation.org free video lectures & slides on software testing for a college-level black-box software testing course http://testobsessed.com/wp- content/uploads/2011/04/testheuristicsche atsheetv1.pdf - Elisabeth Hendricksons Test Heuristics Cheat Sheet with lots of test ideas