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. Purpose Understand quality and how to think like a tester

    Get a foothold in improving quality and creating test plans and test cases
  2. • 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
  3. • 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
  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 ◦ Work 2: Myers triangle problem ◦ A more academic discussion on software tests Agenda
  5. 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
  6. “Product Perspective” Presentation: Deriving points of view from where you

    stand A: Market and customer B: Product planning C: Design and development D: Test
  7. “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?
  8. 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
  9. • 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
  10. 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
  11. • 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
  12. • 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. Invalid ❸ 9. Test case [A+B<C] in which all of

    the fields are integers above 0, and 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+B<C,B+C<A,C+A<B] in field 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
  18. 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
  19. 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
  20. Even for seemingly easy problems, many test patterns result in

    incomplete tests! Goal of the work: Myers triangle problem
  21. •  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
  22. • 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
  23. • 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

  24. • 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
  25. 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
  26. 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
  27. 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
  28. Software development ②System development life cycle Best to find them

    as early as possible! 3. Test early to reduce time and cost
  29. Doing the same thing over and over will only end

    up preventing you from finding new defects Be aware of the pesticide paradox
  30. 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
  31. • 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
  32. • 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
  33. 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
  34. 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
  35. 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
  36. • 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
  37. • 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
  38. • 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
  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
  40. • 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
  41. 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
  42. ◆ 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