SlideShare una empresa de Scribd logo
1 de 29
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

•   Slides available at
    http://slideshare.net/andytinkham
Previously, on Modern Apps Live…


  Quality is team’s 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, we’ll talk about the information the
        testers can best provide.
Tester-provided Information


                        • How it can work                               • What we’ve 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 haven’t                                   • Why this is (or isn’t)
                        • How it might fail in                            gone                                                 good enough
                          ways that matter to
                          our clients                                   • Where we won’t 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

•   Can’t 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
         can’t 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 doesn’t 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
    computer’s 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

•   Don’t leave non-functional testing until the
    end – build in monitoring & tests from
    start
Tester-provided Information


                        • How it can work                               • What we’ve 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 haven’t                                   • Why this is (or isn’t)
                        • How it might fail in                            gone                                                 good enough
                          ways that matter to
                          our clients                                   • Where we won’t 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 Hendrickson’s
    Test Heuristics Cheat Sheet with lots of
    test ideas

Más contenido relacionado

La actualidad más candente

A CTOs Perspective on Agile
A CTOs Perspective on AgileA CTOs Perspective on Agile
A CTOs Perspective on AgileBradley Brown
 
Business process simulations: from GREAT! to good, Razvan Radulian, Sept 2013
Business process simulations: from GREAT! to good, Razvan Radulian, Sept 2013Business process simulations: from GREAT! to good, Razvan Radulian, Sept 2013
Business process simulations: from GREAT! to good, Razvan Radulian, Sept 2013Why-What-How Consulting, LLC
 
Shipping code is not the problem, deciding what to ship it is!
Shipping code is not the problem, deciding what to ship it is!Shipping code is not the problem, deciding what to ship it is!
Shipping code is not the problem, deciding what to ship it is!Mauro Servienti
 
Agile Estimation And Planning Part I
Agile Estimation And Planning Part IAgile Estimation And Planning Part I
Agile Estimation And Planning Part IKevin Zamora
 
Being agile while standing in a waterfall
Being agile while standing in a waterfallBeing agile while standing in a waterfall
Being agile while standing in a waterfallMike Edwards
 
141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum Roma141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum RomaPeter Stevens
 
Continuous Delivery: Never Send a Human to Do a Machine’s Job
Continuous Delivery: Never Send a Human to Do a Machine’s JobContinuous Delivery: Never Send a Human to Do a Machine’s Job
Continuous Delivery: Never Send a Human to Do a Machine’s JobTechWell
 

La actualidad más candente (9)

Practical Scrum - day 1
Practical Scrum - day 1Practical Scrum - day 1
Practical Scrum - day 1
 
A CTOs Perspective on Agile
A CTOs Perspective on AgileA CTOs Perspective on Agile
A CTOs Perspective on Agile
 
Business process simulations: from GREAT! to good, Razvan Radulian, Sept 2013
Business process simulations: from GREAT! to good, Razvan Radulian, Sept 2013Business process simulations: from GREAT! to good, Razvan Radulian, Sept 2013
Business process simulations: from GREAT! to good, Razvan Radulian, Sept 2013
 
Shipping code is not the problem, deciding what to ship it is!
Shipping code is not the problem, deciding what to ship it is!Shipping code is not the problem, deciding what to ship it is!
Shipping code is not the problem, deciding what to ship it is!
 
Rework
ReworkRework
Rework
 
Agile Estimation And Planning Part I
Agile Estimation And Planning Part IAgile Estimation And Planning Part I
Agile Estimation And Planning Part I
 
Being agile while standing in a waterfall
Being agile while standing in a waterfallBeing agile while standing in a waterfall
Being agile while standing in a waterfall
 
141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum Roma141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum Roma
 
Continuous Delivery: Never Send a Human to Do a Machine’s Job
Continuous Delivery: Never Send a Human to Do a Machine’s JobContinuous Delivery: Never Send a Human to Do a Machine’s Job
Continuous Delivery: Never Send a Human to Do a Machine’s Job
 

Similar a Mal12 qa tand-automatedtesting

How did i miss that bug rtc
How did i miss that bug rtcHow did i miss that bug rtc
How did i miss that bug rtcGerieOwen
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinQA or the Highway
 
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour PresentationSoftware Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour PresentationXBOSoft
 
How do we fix testing
How do we fix testingHow do we fix testing
How do we fix testingPeter Varhol
 
Things Could Get Worse: Ideas About Regression Testing
Things Could Get Worse: Ideas About Regression TestingThings Could Get Worse: Ideas About Regression Testing
Things Could Get Worse: Ideas About Regression TestingTechWell
 
a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012
a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012
a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012Elle Waters
 
Agile Metrics...That Matter
Agile Metrics...That MatterAgile Metrics...That Matter
Agile Metrics...That MatterErik Weber
 
We did it!!? There is place for QAs in Agile!!?
We did it!!? There is place for QAs in Agile!!?We did it!!? There is place for QAs in Agile!!?
We did it!!? There is place for QAs in Agile!!?mkujalowicz
 
Introduction to test for non testers
Introduction to test for non testersIntroduction to test for non testers
Introduction to test for non testersMattias Lönnqvist
 
Introduction to bugs measurement
Introduction to bugs measurementIntroduction to bugs measurement
Introduction to bugs measurementVolodya Novostavsky
 
Are you in control of Testing, or does Testing control you?
Are you in control of Testing, or does Testing control you? Are you in control of Testing, or does Testing control you?
Are you in control of Testing, or does Testing control you? SQALab
 
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software TestingXBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software TestingXBOSoft
 
10 signs your testing is not enough
10 signs your testing is not enough10 signs your testing is not enough
10 signs your testing is not enoughSQALab
 
Making disaster routine
Making disaster routineMaking disaster routine
Making disaster routinePeter Varhol
 
Identifying and measuring testing debt
Identifying and measuring testing debtIdentifying and measuring testing debt
Identifying and measuring testing debtPeter Varhol
 
Whose work is it anyway?
Whose work is it anyway?Whose work is it anyway?
Whose work is it anyway?Andrew Savory
 

Similar a Mal12 qa tand-automatedtesting (20)

Agile process
Agile processAgile process
Agile process
 
Lean Startup 301
Lean Startup 301Lean Startup 301
Lean Startup 301
 
How did i miss that bug rtc
How did i miss that bug rtcHow did i miss that bug rtc
How did i miss that bug rtc
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew Eakin
 
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour PresentationSoftware Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
 
How do we fix testing
How do we fix testingHow do we fix testing
How do we fix testing
 
Things Could Get Worse: Ideas About Regression Testing
Things Could Get Worse: Ideas About Regression TestingThings Could Get Worse: Ideas About Regression Testing
Things Could Get Worse: Ideas About Regression Testing
 
a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012
a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012
a11yTO-Enterprise-Accessibility-Round-Table-Discussion-17NOV2012
 
Agile Metrics...That Matter
Agile Metrics...That MatterAgile Metrics...That Matter
Agile Metrics...That Matter
 
We did it!!? There is place for QAs in Agile!!?
We did it!!? There is place for QAs in Agile!!?We did it!!? There is place for QAs in Agile!!?
We did it!!? There is place for QAs in Agile!!?
 
Introduction to test for non testers
Introduction to test for non testersIntroduction to test for non testers
Introduction to test for non testers
 
Introduction to bugs measurement
Introduction to bugs measurementIntroduction to bugs measurement
Introduction to bugs measurement
 
Are you in control of Testing, or does Testing control you?
Are you in control of Testing, or does Testing control you? Are you in control of Testing, or does Testing control you?
Are you in control of Testing, or does Testing control you?
 
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software TestingXBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
 
10 signs your testing is not enough
10 signs your testing is not enough10 signs your testing is not enough
10 signs your testing is not enough
 
Fundamental of testing
Fundamental of testingFundamental of testing
Fundamental of testing
 
Making disaster routine
Making disaster routineMaking disaster routine
Making disaster routine
 
Agile metrics at-pmi bangalore
Agile metrics at-pmi bangaloreAgile metrics at-pmi bangalore
Agile metrics at-pmi bangalore
 
Identifying and measuring testing debt
Identifying and measuring testing debtIdentifying and measuring testing debt
Identifying and measuring testing debt
 
Whose work is it anyway?
Whose work is it anyway?Whose work is it anyway?
Whose work is it anyway?
 

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 • Slides available at http://slideshare.net/andytinkham
  • 3. Previously, on Modern Apps Live… Quality is team’s 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, we’ll talk about the information the testers can best provide.
  • 5. Tester-provided Information • How it can work • What we’ve 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 haven’t • Why this is (or isn’t) • How it might fail in gone good enough ways that matter to our clients • Where we won’t 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 • Can’t 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 can’t 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 doesn’t 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 computer’s 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 • Don’t leave non-functional testing until the end – build in monitoring & tests from start
  • 27. Tester-provided Information • How it can work • What we’ve 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 haven’t • Why this is (or isn’t) • How it might fail in gone good enough ways that matter to our clients • Where we won’t 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 Hendrickson’s Test Heuristics Cheat Sheet with lots of test ideas