Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Software Tests for the First Time

rina
March 31, 2020

Software Tests for the First Time

These are the slides for the test workshop I am hosting.
My company’s GOT team translated it into English for me

rina

March 31, 2020
Tweet

More Decks by rina

Other Decks in Education

Transcript

  1. Software Tests for
    the First Time
    2020.3.
    @____rina____

    View Slide

  2. Purpose
    Understand quality and how to think like a tester
    Get a foothold in improving quality and creating test
    plans and test cases

    View Slide

  3. Out of Scope
    Practical use of the content to be introduced

    View Slide

  4. ● 1. Discussion on Quality
    ○ About QCD
    ○ Work 1: Deriving points of view from where you stand
    ○ Quality Model discussion The Kano Model
    ○ Software quality characteristics
    ● Ⅱ. Discussion on Software Tests
    ○ Work 2: Myers triangle problem
    ○ A more academic discussion on software tests
    Agenda

    View Slide

  5. 1. Discussion on Quality

    View Slide

  6. ● 1. Discussion on Quality
    ○ About QCD
    ○ Work 1: Deriving points of view from where you stand
    ○ Quality Model discussion The Kano Model
    ○ Software quality characteristics
    ● Ⅱ. Discussion on Software
    ○ Work 2: Myers triangle problem
    ○ A more academic discussion on software tests
    Agenda

    View Slide

  7. About QCD
    Quality
    Quality
    Costs
    Cost
    Delivery
    Deadline

    View Slide

  8. ● 1. Discussion on Quality
    ○ About QCD
    ○ Work 1: Deriving points of view from where you stand
    ○ Quality Model discussion The Kano Model
    ○ Software quality characteristics
    ● Ⅱ. Discussion on Software
    ○ Work 2: Myers triangle problem
    ○ A more academic discussion on software tests
    Agenda

    View Slide

  9. Write the “product perspective” for each view point.
    Work 1: Deriving points of view from where you stand
    References: Learn the next step you must take for your current review - A walkthrough of
    conducting reviews
      Kenji Adachi
    http://www.slideshare.net/AdachiKenji/20150529-ja-sst15web
    A: Market and customer B: Product planning
    C: Design and development D: Test

    View Slide

  10. “Product Perspective”
    Presentation: Deriving points of view from where you stand
    A: Market and customer B: Product planning
    C: Design and development D: Test

    View Slide

  11. “Product Perspective”
    Presentation (just one example) Deriving points of view from where you
    stand
    A: Market and customer
    Do I want to use it ?
    Will it become popular?
    Physical appearance,
    status
    C: Design and
    development
    Can it use the latest
    technology, is it easy to
    use? Is it versatile?
    B: Product planning
    Will it sell?
    D: Test
    Can it be made easily,
    Can it be used without
    any issues?

    View Slide

  12. When your viewpoint changes,
    even with the same product, different areas become important
    Goal of the work: Deriving points of view from where you stand

    View Slide

  13. ● 1. Discussion on Quality
    ○ About QCD
    ○ Work 1: Deriving points of view from where you stand
    ○ Quality Model discussion The Kano Model
    ○ Software quality characteristics
    ● Ⅱ. Discussion on Software
    ○ Work 2: Myers triangle problem
    ○ A more academic discussion on software tests
    Agenda

    View Slide

  14. Quality model discussion: The Kano Model
    Reference URL
    https://sites.google.com/site/techdmba/kanomodel
    Customer satisfaction
    Sufficient
    physical
    condition
    Excitement
    attributes
    Basic
    attributes
    Threshold
    attributes
    Satisfaction
    Dissatisfaction
    Insufficient Sufficient

    View Slide

  15. ● 1. Discussion on Quality
    ○ About QCD
    ○ Work 1: Deriving points of view from where you stand
    ○ Quality Model discussion The Kano Model
    ○ Software quality characteristics
    ● Ⅱ. Discussion on Software
    ○ Work 2: Myers triangle problem
    ○ A more academic discussion on software tests
    Agenda

    View Slide

  16. Software quality characteristics
    ISO/IEC 25010. Software product quality model and system quality in use model.

    View Slide

  17. Ⅱ. Discussion on Software Tests

    View Slide

  18. ● 1. Discussion on Quality
    ○ About QCD
    ○ Work 1: Deriving points of view from where you stand
    ○ Quality Model discussion The Kano Model
    ● Software quality characteristics
    ● Ⅱ. Discussion on Software Tests
    ○ Work 2: Myers triangle problem
    ○ A more academic discussion on software tests
    Agenda

    View Slide

  19. Glenford J. Myers, The Art of Software Testing
    Let’s write out a series of test cases needed to test the following
    program (in other words, a sufficient data set).
    Example: XX test case
    1. This program reads 3 integers from a card.
    2. These 3 values represent the lengths of the 3 sides of a triangle.
    3. The program will print a message determining if the triangle is a
    scalene triangle, isosceles triangle, or equilateral triangle.
    Work 2: Myers triangle problem

    View Slide

  20. Valid
    1. Test case expressing a valid scalene triangle
      Example[A=3,B=4,C=5]
    2. Test case expressing a valid equilateral triangle
    Example[A=1,B=1,C=1]
    3. Test case expressing a valid isosceles triangle
    Example[A=2,B=2,C=3]
    4. For a valid isosceles triangle, test case that expresses
    a combination of three types, including two equilateral
    triangles [A=B, B=C, C=A]
      
    Example[A=3,B=3,C=4][A=3,B=4,C=3][A=4,B=3,C=3]
    Work 2 (answer): Myers triangle problem

    View Slide

  21. Invalid❶
    5. Test case with a input field value of 0
    Example [3 patterns in which A=0, B=3 , C=4, and one other is 0]
       [3 patterns where A=0, B=0, C=1, and 2 others are 0]
    6. Test case with a negative number input field value
    [3 patterns where A=1, B=3, C=14 and 1 other is negative]
     [3 patterns where A=-1, B=-1, C=1 and 2 others are negative]
     [A=-1,B=-1,C=-1]
    Work 2 (answer): Myers triangle problem

    View Slide

  22. Invalid 2
    7. Test case [A+B=C] in which all of the fields are integers above 0,
    and the sum of the two fields is equal to the remaining field
      Example[A=1,B=2,C=3]
    8. Test case with three combinations of [A+B=C] in field 7
    Example[A=1,B=2,C=3][A=1,B=3,C=2][A=3,B=2,C=1]
    Work 2 (answer): Myers triangle problem

    View Slide

  23. Invalid ❸
    9. Test case [A+Band the sum of the two fields is smaller than the remaining field
    Example[A=1,B=2,C=4]
    10. Test case with three combinations of [A+Bfield 9
    Example[A=1,B=2,C=4],[A=1,B=4,C=2], [A=4,B=2,C=1]
    Work 2 (answer): Myers triangle problem

    View Slide

  24. Invalid ❹
    11. Test case [A=B=C=0] in which all fields are 0
    Example[A=0,B=0,C=0]
    12. Test case in which values have been inputted that are not half-width digit integers
    Example [decimal point, control code, half-width/full-width space,
        half-width/full with capital/lower-case letters, half-width/full-width kana,
        full-width digits, kana, kanji, etc.]
    13. Test case in which there are less than 3 input values
    Sample [3 patterns in which A=null,B=3,C=4, and one other is blank]
    [3 patterns in which A=null,B=null,C=1, other other two are blank]
    [A=null,B=null,C=null]
    Work 2 (answer): Myers triangle problem
    http://blog.livedoor.jp/hime78/archives/50980099.html

    View Slide

  25. Valid (display)
    14. Does the actual display match the expected display results, based on
    the values entered?
    Work 2 (answer): Myers triangle problem
    http://blog.livedoor.jp/hime78/archives/50980099.html

    View Slide

  26. Even for seemingly easy problems,
    many test patterns result in incomplete tests!
    Goal of the work: Myers triangle problem

    View Slide

  27. ●  I thought of doing the Myers triangle problem at a study session,
    and it ended up being much harder than I expected. It was a great
    learning experience.
    ○  http://togetter.com/li/843768
    ●  Number of required tests cases
    ○ http://a-lifelong-tester.cocolog-nifty.com/blog/2011/06/post-
    caee.html
    ○  Various perspectives on triangle problem
    tests
    Side note: Myers Triangle Problem

    View Slide

  28. ● 1. Discussion on Quality
    ○ About QCD
    ○ Work 1: Deriving points of view from where you stand
    ○ Quality Model discussion The Kano Model
    ○ Software quality characteristics
    ● Ⅱ. Discussion on Software Tests
    ○ Work 2: Myers triangle problem
    ○ A more academic discussion on software tests
    Agenda

    View Slide

  29. ● A more academic discussion on software tests
    ○ 7 test principles
    ○ Test techniques
    ○ Test levels
    ○ Test types
    ○ 4 test quadrants
    ○ Test automation pyramid
    A more academic discussion on software tests |Agenda
    ISTQB glossary


    View Slide

  30. ● A more academic discussion on software tests
    ○ 7 test principles
    ○ Test techniques
    ○ Test levels
    ○ Test types
    ○ 4 test quadrants
    ○ Test automation pyramid
    A more academic discussion on software tests |Agenda

    View Slide

  31. 1. Tests will tell you if there are any defects, but
    cannot confirm that there are not any defects
    2. Exhaustive testing is impossible
    3. Test early to reduce time and cost
    4. Defect clustering
    5. Be aware of the pesticide paradox
    6. Testing is context dependent
    7. The “absence of errors” trap
    7 test principles

    View Slide

  32. Testing cannot tell you that
    “there are no defects”
    1. Tests will tell you if there are any defects, but cannot confirm
    that there are not any defects

    View Slide

  33. 2. Exhaustive testing is impossible
    1×1 2 paths
    2×2 12 lines
    3×3 184 lines
    4×4 8512 lines
    5×5 1,262,516 paths
    6×6 575,780,564 paths
    The Art of 10^64 -Understanding Vastness 

    https://www.youtube.com/watch?v=Q4gTV4r0zRs 

    S
    G
    How many paths from the start to goal of this square? 

    Can take a roundabout path, but cannot cross the same
    path twice

    View Slide

  34. Software development
    ②System development
    life cycle
    Best to find them as early as possible!
    3. Test early to reduce time and cost

    View Slide

  35. 4. Defect clustering


    The 80-20 rule

    View Slide

  36. Doing the same thing over and over
    will only end up preventing you from finding new
    defects
    Be aware of the pesticide paradox

    View Slide

  37. Which tests are most important
    depends on the system
    6. Testing is context dependent

    View Slide

  38. Even if you have a system with almost 0
    bugs,
    you still don’t want it to take a long time to
    load
    7. The “absence of errors” trap

    View Slide

  39. ● A more academic discussion on software
    tests
    ○ 7 test principles
    ○ Test techniques
    ○ Test levels
    ○ Test types
    ○ 4 test quadrants
    ○ Test automation pyramid
    A more academic discussion on software tests |Agenda

    View Slide

  40. ■ Specification-based/black box testing
    method
    Structure-based/white box testing method
    Experience-based testing method
    Test techniques

    View Slide

  41. ● Equivalence partitioning
    ● Boundary value analysis
    ● Decision table testing
    ● State transition testing
    ● Use case testing
    ■ Image https://thinkit.co.jp/images/article/40/2/4021_zoom.gif
    Specification-based/black box test method | Test methods

    View Slide

  42. Apple selling price
    1. 1-4 apples 200 yen each
    2. 5-9 apples 170 yen each
    3. 10+ apples 160 yen each
    Equivalence partitioning, boundary value analysis
    0 1     4 5   9 10

    Prices of 200, 170, 160 yen 

    Software Test Technique Drill by Koichi Akiyama

    View Slide

  43. If the buyer for a certain job is an educator,
    they will get 10% off selected items.
    Decision table test
    1 2 3
    condit
    ions
    Is the buyer an educator N y y
    Is the purchased item eligible - N y
    Action 10% discount N N y
    Judgment on discount for the job

    View Slide

  44. State Transition Test
    参考:『ソフトウェアテスト技法ドリル』秋山浩一著
    Stopwatch state transition diagram

    View Slide

  45. Use Case Test
    https://thinkit.co.jp/images/article/40/2/4021_zoom.gif

    Business Trip Application System
    Applicant
    Approver

    Accounting
    Team
    Register business trip application
    Submit business trip application
    Approve business trip application
    Reject business trip application

    Send back business trip application

    Check business trip application
    Sample use case diagram

    View Slide

  46. ● A more academic discussion on software
    tests
    ○ 7 test principles
    ○ Test techniques
    ○ Test levels
    ○ Test types
    ○ 4 test quadrants
    ○ Test automation pyramid
    A more academic discussion on software tests |Agenda

    View Slide

  47. Test Levels | Test Techniques

    View Slide

  48. ● A more academic discussion on software
    tests
    ○ 7 test principles
    ○ Test techniques
    ○ Test levels
    ○ Test types
    ○ 4 test quadrants
    ○ Test automation pyramid
    A more academic discussion on software tests |Agenda

    View Slide

  49. ● Feature test
    ■ Test for “what are you doing”
    ● Non-feature test
    ■ Test for ”how you will make this action”
    ● Structure test
    ■ Test for “how much of the structure have you covered”
    ● Re-test, regression test
    ■ Test for running a tested program many times
    Test Type

    View Slide

  50. ● A more academic discussion on software
    tests
    ○ 7 test principles
    ○ Test techniques
    ○ Test levels
    ○ Test types
    ○ 4 test quadrants
    ○ Test automation pyramid
    A more academic discussion on software tests |Agenda

    View Slide

  51. Test Techniques 4: Test quadrants
    From actual agile tests 


    View Slide

  52. ● A more academic discussion on software
    tests
    ○ 7 test principles
    ○ Test techniques
    ○ Test levels
    ○ Test types
    ○ 4 test quadrants
    ○ Test automation pyramid
    A more academic discussion on software tests |Agenda

    View Slide

  53. Test automation pyramid
    Martin Fowler : Test Pyramid https://martinfowler.com/bliki/TestPyramid.html

    View Slide

  54. 1. Do tests from a variety of standpoints
    2. Even for a program that seems simple, there are many
    different tests cases
    3. Be aware of QCD - Quality, Cost, and Deliver/Time
     
     Don’t think about just good or bad,
     but propose new ideas and make improvements in order
    to improve quality
    Summary

    View Slide

  55. ◆ The Art of Software Testing
    ◆ JSTQB Foundation Level Syllabus Version 2018.J01
    ◆ Software Textbook JSTQB Foundation Version 4
    ◆ Lessons Learned in Software Testing
    ◆ Lessons Learned in Software Testing: A Context-Driven Approach
    ◆ ソフトウェア品質知識体系ガイド 第2版 –SQuBOK Guide V2- (日本語版)
    ◆ ソフトウェアテスト技法ドリル-テスト設計の考え方と実際 (日本語版)
    Additional References

    View Slide