Black Box TestingBlack Box Testing Black Box Testingox Testing
Transcript of Black Box TestingBlack Box Testing Black Box Testingox Testing
Software Testing
กลยทธในการทดสอบโปรแกรมกลยทธในการทดสอบโปรแกรม
ม 2 แบบคอBlack Box Testing• Black Box Testing
• White Box Testingg
Black Box TestingBlack Box Testing
• เปนการทดสอบโดยไมคานงถงคาสงภายในโปรแกรม• ป ส Function โป • เปนการทดสอบ Function ตาง ๆ ของโปรแกรมตาม
Requirements ทม• เปนการทดสอบโดยดคา Output จาก Input ทใหกบ
โปรแกรมตองมความสอดคลองกนโปรแกรมตองมความสอดคลองกน
Black Box TestingBlack Box Testing
IInput test data
Inputs causinganomalousbehaviour
ep
Systemy
OeOutput test results
Outputs which revealthe presence ofdefects
4
ep de ec s
Black Box TestingBlack Box Testing
Invalid in pu ts Valid in pu ts
S stemSy stem
5Ou tputs
การกาหนดขอมลในการทดสอบการกาหนดขอมลในการทดสอบ
• คาตวแทนของกลม• ส ส• คาสงสด• คาตาสด• คาเกนพกด
• คาทผดวสย
White Box TestingWhite Box Testing
• เปนการทดสอบเพอดโครงสรางของโปรแกรม หรอทางเดนในโปรแกรม (โปรแกรมทางานไดตามโครงสราง?)โปรแกรม (โปรแกรมทางานไดตามโครงสราง?)
• ตองสรางชดทดสอบเฉพาะสาหรบการทดสอบในเงอนไขตาง ๆ• ชดทดสอบจะตองประกอบดวยชดทสามารถประมวลผลอยางปกต
และไมปกต (case หลาย Case คอปะมวลผลปกตและแบบและไมปกต (case หลาย Case คอปะมวลผลปกตและแบบม Functional เพมเขาไป)
White Box TestingWhite Box Testing
• เปนการทดสอบเพอดโครงสรางของโปรแกรม หรอทางเดนในโปรแกรมโปรแกรม
• ตองสรางชดทดสอบเฉพาะสาหรบการทดสอบในเงอนไขตาง ๆ• ชดทดสอบจะตองประกอบดวยชดทสามารถประมวลผลอยางปกต
และไมปกตและไมปกต
8
White Box TestingWhite Box Testing
Test dataTest data
DerivesTests
Component TestComponentcode
Testoutputs
9
เทคนคอน ๆ ในการทดสอบโปรแกรมเทคนคอน ๆ ในการทดสอบโปรแกรม
แบงออกเปน 2 กลมใหญคอManual Testing• Manual Testing– การทดสอบโดยไมใชเครองคอมพวเตอร
• Automated Testing – การทดสอบดวยเครองคอมพวเตอร
10
Manual TestingManual Testing
แบงไดเปน 2 ชนดคอInspection• Inspection– การทดสอบแบบตรวจไวยากรณ
• Desk Checking ใ โป– การทดสอบตามลาดบคาสงในโปรแกรม
11
Automated TestingAutomated Testing
แบงไดเปน 5 ชนดคอSyntax checking• Syntax checking– การทดสอบดวยการตรวจสอบไวยากรณทเขยนขน
• Unit testing/Module Testingป โป โ – เปนการทดสอบโปรแกรมทละโมดลเพอหาขอผดพลาดทเกดขนภายในโมดล
12
AutomatedAutomated ...
• Integration testingป ส โป โ โ ป 2– เปนการทดสอบโปรแกรมโดยการเพมจานวนโมดลแบงเปน 2 ลกษณะคอ•Top-Down Approach•Bottom Up Approach•Bottom-Up Approach
13
Top Down ApproachTop-Down Approach
Level 1 Level 1Testingsequence . . .
Level 2Level 2Level 2Level 2
Level 2stubs
Level 3stubs
14
Bottom Up ApproachBottom-Up Approach
Test
Level NLevel NLevel NLevel NLevel N Testing
Testdrivers
Level NLevel NLevel NLevel NLevel N gsequence
Test
Level N–1 Level N–1Level N–1
Testdrivers
15
AutomatedAutomated ...
• Stub testingคอ กลมคาสงสน ๆ ทเขยนขนมาเพอเปนโมดลตวแทนในการ– คอ กลมคาสงสน ๆ ทเขยนขนมาเพอเปนโมดลตวแทนในการทดสอบโปรแกรม
• System testing– เปนการทดสอบโปรแกรมทกโปรแกรมรวมกนวาไดผลลพธทเปนการทดสอบโปรแกรมทกโปรแกรมรวมกนวาไดผลลพธทถกตองหรอไม
16
การทดสอบระบบการทดสอบระบบ
ทา 2 ประการคอ• ส ส (Statistical Testing)• การทดสอบเชงสถต (Statistical Testing)
– เพอประเมนผลความถของการใชงานสวนตาง ๆ ของระบบ• การทดสอบขอบกพรอง (Defect Testing)
ป – เปนการทดสอบเพอตรวจสอบวาระบบมขอบกพรองผดพลาดทจดใดบาง
17
Defect TestingDefect Testing
Test Test Test TestTestcases
Testdata
Testresults
Testreports
Design testcases
Prepare testdata
Run programwith test data
Compare resultsto test cases
18
กลยทธในการทดสอบระบบกลยทธในการทดสอบระบบ
• Peak load testingPerformance testing• Performance testing
• Recovery testingy g• Storage testing
P d t ti• Procedure testing• User testingg
การทดสอบการยอมรบระบบของผใชการทดสอบการยอมรบระบบของผใช
• Alpha testingRecovery testing– Recovery testing
– Security testingy g– Stress testing
P f t ti– Performance testing• Beta testingg
กลยทธในการทดสอบประสทธภาพของระบบกลยทธในการทดสอบประสทธภาพของระบบ
จาแนกไดเปน 6 ดานคอPeak load testing• Peak load testing– การทดสอบการทางานสงสด เปนการทดสอบประสทธภาพในการประมวลผลของระบบ เมอมการทารายการมากทสด ณเวลาใดเวลาหนงเวลาใดเวลาหนง
21
กลยทธในการทดสอบประสทธภาพกลยทธในการทดสอบประสทธภาพ...
• Performance testingส ป ส ป ส – การทดสอบประสทธภาพของเวลา เปนการทดสอบเพอ
พจารณาถงชวงเวลาทใชในการประมวลผลรายการ วาใชระยะเวลานานเพยงใดในการทารายการ
• Recovery testing• Recovery testing– การทดสอบการกระบบ เปนการทดสอบความสามารถในการก
ระบบกรณทระบบลม
22
กลยทธในการทดสอบประสทธภาพกลยทธในการทดสอบประสทธภาพ...
• Storage testingการทดสอบการเกบขอมล เปนการทดสอบความสามารถของ– การทดสอบการเกบขอมล เปนการทดสอบความสามารถของระบบในการเกบขอมล วาสามารถเกบขอมลไดสงสดเปนจานวนเทาใด
23
กลยทธในการทดสอบประสทธภาพกลยทธในการทดสอบประสทธภาพ...
• Procedure testingการทดสอบกระบวนการ เปนการทดสอบการจดทาเอกสารคมอ– การทดสอบกระบวนการ เปนการทดสอบการจดทาเอกสารคมอการดาเนนของระบบ และคมอการใชงานสาหรบผใช วา
สามารถสรางความเขาใจใหกบผใชไดมากนอยเพยงใด
24
กลยทธในการทดสอบประสทธภาพกลยทธในการทดสอบประสทธภาพ...
• User testingการทดสอบผใช เปนการทดสอบการใชงานจรงของระบบ เพอ– การทดสอบผใช เปนการทดสอบการใชงานจรงของระบบ เพอตองการทราบวาผใชจะทาอยางไรเพอพบปญหาทเกดขน
25
กระบวนการทดสอบระบบกระบวนการทดสอบระบบ
แบงออกเปน 5 ขนตอนคอUnit Testing• Unit Testing– การทดสอบสวนยอยของโปรแกรม
• Module Testing ใ – การทดสอบการทางานรวมกนของสวนยอยในระดบลาง
26
กระบวนการทดสอบระบบกระบวนการทดสอบระบบ...
• Subsystem Testingการทดสอบปญหาของการไมสอดประสานกนของหนวยยอย– การทดสอบปญหาของการไมสอดประสานกนของหนวยยอยตาง ๆ
• System Testing– ตรวจสอบวาระบบทงหมดทางานไดตรงตามขอกาหนดหรอตรวจสอบวาระบบทงหมดทางานไดตรงตามขอกาหนดหรอความตองการของผใชอยางแทจรงหรอไม
27
กระบวนการทดสอบระบบกระบวนการทดสอบระบบ...
• Acceptance Testingการทดสอบขนสดทายกอนทระบบจะถกยอมรบไดวาสามารถ– การทดสอบขนสดทายกอนทระบบจะถกยอมรบไดวาสามารถทางานไดจรง
– เปนการทดสอบรวมกนระหวางผใชระบบและผออกแบบพฒนาระบบระบบ
– แบงไดเปน 2 ประเภทคอ•Alpha testing•Beta testing
28
•Beta testing
Acceptance TestingAcceptance Testing
• Alpha testing ส ส โ ใ ใ – คอ การทดสอบความสมบรณของระบบโดยผใช และใชขอมล
สมมตในการทดสอบ จะสมมตใหระบบอยในสถานการณทอาจจะเกดขนได
29
Acceptance TestingAcceptance Testing
• Alpha testing มการทดสอบ 4 ประการคอRecovery testing– Recovery testing• เปนการทดสอบการกระบบ
– Security testingป ป • เปนการทดสอบความปลอดภยของระบบ
30
Acceptance TestingAcceptance Testing
– Stress testing• เปนการทดสอบประสทธภาพการทางานของระบบภายใต• เปนการทดสอบประสทธภาพการทางานของระบบภายใตความกดดน
– Performance testing• เปนการทดสอบประสทธภาพการทางานของระบบภายใต• เปนการทดสอบประสทธภาพการทางานของระบบภายใตสภาพแวดลอมของคอมพวเตอร
31
Acceptance TestingAcceptance Testing
• Beta testing ส ส โ ใ ใ – คอ การทดสอบความสมบรณของระบบโดยผใช และใชขอมล
จรงในการทดสอบ และภายใตสถานการณทเกดขนจรง
32
เกณฑการยอมรบงานของมนษยเกณฑการยอมรบงานของมนษย
แบงไดเปนประเดนตาง ๆ ดงนTime to learn• Time to learn– ระยะเวลาทผใชตองเรยนรการใชสวนตาง ๆ ของระบบงาน
• Task Performance – ความเรวของการดาเนนงานแตละสวน
• Error Rate– อตราความผดพลาดทเกดขน
33
เกณฑการยอมรบงานเกณฑการยอมรบงาน...
• Subjective user satisfaction ใ ใ โ ส– ระดบความพงพอใจของผใชโดยสวนรวม
• Human retention– ความสามารถจดจาคาสงและการใชงานได
34
การวางแผนการทดสอบระบบการวางแผนการทดสอบระบบ
• กาหนดขอตกลงเบองตนและรายละเอยดของระบบ• ส • เตรยมแผนงานการทดสอบเพอการยอมรบระบบ• นาขอมลการออกแบบมาใชในการวางแผนการทดสอบ
ความสมพนธของระบบรวม• กาหนดแผนการทดสอบความสมพนธของระบบยอย• กาหนดแผนการทดสอบความสมพนธของระบบยอย
35
วธการประเมนผลการทางานของระบบวธการประเมนผลการทางานของระบบ
• การใชแบบสอบถาม• ป ใ • การบนทกเทปการทางานของผใช• การสรางสวนพเศษภายในระบบ ใหสามารถบนทกขอมลเกยวกบ
การทางานของผใช• การสรางระบบใหผใชสามารถบนทกความคดเหนของตนขณะกาลง• การสรางระบบใหผใชสามารถบนทกความคดเหนของตนขณะกาลง
ใชงานระบบนน ๆ
36
Verification & Validation
37
Verification & ValidationVerification & Validation
• คอ กระบวนการตรวจสอบและยนยนความถกตองของระบบงาน• เปนกระบวนการทชวยใหผพฒนาระบบมความแนใจวาระบบทตน• เปนกระบวนการทชวยใหผพฒนาระบบมความแนใจวาระบบทตน
พฒนานน ตรงตามขอกาหนดตกลงไวกบผใชหรอผจดการระบบ และตรงกบความตองการของผใชระบบนนอยเสมอ
38
จดมงหมายของกระบวนการ V & Vจดมงหมายของกระบวนการ V & V
• เพอคนพบขอบกพรองผดพลาดของระบบ• เพอประเมนวาระบบนนสามารถใชงานไดจรง ในสภาพการทางาน• เพอประเมนวาระบบนนสามารถใชงานไดจรง ในสภาพการทางาน
จรงหรอไม
39
ขอแตกตางของ V & Vขอแตกตางของ V & V
• Validationส ไ – การตรวจสอบวาระบบทพฒนาขนมานนถกตองหรอไม
• Verification– การตรวจสอบวาการพฒนาสรางระบบทาอยางถกตองหรอไม
40
กระบวนการทดสอบกระบวนการทดสอบ
แบงออกเปน 2 สวนคอSoftware Testing• Software Testing– การทดสอบโปรแกรม
• System Testing– การทดสอบระบบ
41