Slide 1

Slide 1 text

Software Tests for the First Time 2020.3. @____rina____

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Out of Scope Practical use of the content to be introduced

Slide 4

Slide 4 text

● 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

Slide 5

Slide 5 text

1. Discussion on Quality

Slide 6

Slide 6 text

● 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

Slide 7

Slide 7 text

About QCD Quality Quality Costs Cost Delivery Deadline

Slide 8

Slide 8 text

● 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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

“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?

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

● 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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

● 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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

Ⅱ. Discussion on Software Tests

Slide 18

Slide 18 text

● 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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

Invalid ❸ 9. Test case [A+B

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

●  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

Slide 28

Slide 28 text

● 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

Slide 29

Slide 29 text

● 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


Slide 30

Slide 30 text

● 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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

4. Defect clustering 
 
 The 80-20 rule

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

● 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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

● 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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

● 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

Slide 47

Slide 47 text

Test Levels | Test Techniques

Slide 48

Slide 48 text

● 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

Slide 49

Slide 49 text

● 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

Slide 50

Slide 50 text

● 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

Slide 51

Slide 51 text

Test Techniques 4: Test quadrants From actual agile tests 


Slide 52

Slide 52 text

● 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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

◆ 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