verification and validation -...

12
Verification and Validation January 31, 2009 2 Objectives เพื่อแนะนําใหรูจักการตรวจทานและการยืนยันความตองการของลูกคา และอภิปรายขอแตกตางระหวางกัน เพื่ออธิบายถึงกระบวนการตรวจโปรแกรมและบทบาทในการทํา Verification และ Validation เพื่ออธิบายวิธีใชการวิเคราะหเชิงสถิตเปนเทคนิค Verification เพื่ออธิบายกระบวนการพัฒนาซอฟตแวรแบบ Clean room January 31, 2009 3 Topics covered การวางแผนเพื่อตรวจทาน verification และยืนยัน validation การตรวจซอฟตแวร inspection การวิเคราะหเชิงสถิติแบบอัตโนมัติ Automated static analysis การพัฒนาซอฟตแวรแบบ Cleanroom January 31, 2009 4 Verification: “Are we building the product right” เรากําลังสรางผลิตภัณฑไดตามขอกําหนดใชหรือไม ซอฟตแวรตองทํางานไดตามที่กําหนด Specification Validation: “Are we building the right product” เรากําลังสรางผลิตภัณฑไดตามความตองการใชหรือไม ซอฟตแวรตองทํางานไดตามความตองการของผูใช Requirement Verification vs validation

Upload: others

Post on 05-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Verification and Validation - elearning.psru.ac.thelearning.psru.ac.th/courses/66/c10_verificationandvalidation.pdf · Verification and Validation January 31, 2009 2 Objectives เพื่อแนะน

Verification and Validation

January 31, 2009 2

Objectives

เพอแนะนาใหรจกการตรวจทานและการยนยนความตองการของลกคา และอภปรายขอแตกตางระหวางกนเพออธบายถงกระบวนการตรวจโปรแกรมและบทบาทในการทา Verification และ Validation

เพออธบายวธใชการวเคราะหเชงสถตเปนเทคนค Verification

เพออธบายกระบวนการพฒนาซอฟตแวรแบบ Clean room

January 31, 2009 3

Topics covered

การวางแผนเพอตรวจทาน verification และยนยน validationการตรวจซอฟตแวร inspection

การวเคราะหเชงสถตแบบอตโนมต Automated static analysisการพฒนาซอฟตแวรแบบ Cleanroom

January 31, 2009 4

Verification: “Are we building the product right”

“เรากาลงสรางผลตภณฑไดตามขอกาหนดใชหรอไม”ซอฟตแวรตองทางานไดตามทกาหนด Specification

Validation: “Are we building the right product”

“เรากาลงสรางผลตภณฑไดตามความตองการใชหรอไม”ซอฟตแวรตองทางานไดตามความตองการของผใช Requirement

Verification vs validation

Page 2: Verification and Validation - elearning.psru.ac.thelearning.psru.ac.th/courses/66/c10_verificationandvalidation.pdf · Verification and Validation January 31, 2009 2 Objectives เพื่อแนะน

January 31, 2009 5

เราตองการทา V & V ในทกๆระยะของวงจรชวตของกระบวนการสรางซอฟตแวรเพอวตถประสงค 2 ประการ

เพอคนหาขอบกพรองในระบบเพอประเมนวาระบบจะใชไดเปนประโยชนในสถานการณจรงหรอไม

The V & V process

January 31, 2009 6

V& V goals

V & V ควรจะสรางความมนใจใหไดวา ซอฟตแวร จะทางานไดตามวตถประสงคไมไดหมายความวาจะปราศจากขอบกพรองเหนอสงอนใดทงหมด ตองดพอสาหรบการใชงานตามเจตนาเดม และการใชงานจะเปนตวชระดบความมนใจวาไดตามความตองการ

January 31, 2009 7

V & V confidence

ขนอยกบวตถประสงคของระบบ การคาดหวงของผใช และสภาพการตลาดSoftware function

ระคบความมนใจขนอยกบความสาคญของซอฟตแวรตอองคกรUser expectations

ผใชอาจมความคาดหวงตาตอซอฟตแวรบางชนดMarketing environment

การนาผลตภณฑออกสตลาดกอนอาจมความสาคญกวาการตรวจพบขอบกพรองในโปรแกรม

January 31, 2009 8

Software inspections: เกยวกบการวเคราะหตวแทนของระบบเชงสถต เพอคนหาปญหา (static)

อาจใช Tool ชวยตรวจวเคราะห เอกสารและโปรแกรม code

Software testing: เกยวกบการลงมอทดสอบและสงเกตพฤตกรรมของผลตภณฑ (dynamic)

ใชขอมลทดสอบระบบและสงเกตผลการทางาน

Static and dynamic verification

Page 3: Verification and Validation - elearning.psru.ac.thelearning.psru.ac.th/courses/66/c10_verificationandvalidation.pdf · Verification and Validation January 31, 2009 2 Objectives เพื่อแนะน

January 31, 2009 9

Static and dynamic V&V

January 31, 2009 10

Program Testing

สามารถตรวจสอบขอผดพลาดได แตไมสามารถตรวจสงทขาดหายไปเทคนคการทดสอบ Non-Functional กคอตองสงใหทางานแลวตรวจดพฤตกรรมของซอฟตแวรควรใชรวมกบการตรวจเชงสถต เพอใหการตรวจสอบครบถวน

January 31, 2009 11

Types of testing

Defect testing การทดสอบหาขอบกพรองการทดสอบมไวเพอคนหาขอบกพรองของระบบเมอการทดสอบเสรจเรยบรอยกจะทราบถงขอบกพรองอธบายเพมเตมในบทท 23

Validate testing การทดสอบยนยนความตองการวตถประสงคเพอแสดงใหเหนวาซอฟตแวรทางานไดตามความตองการเมอการทดสอบเสรจเรยบรอย กจะทราบวา ไดนาซอฟตแวรไปใชไดตามความตองการ

January 31, 2009 12

Testing and debugging

การทดสอบเพอหาขอบกพรองกบการ debugging เปนกระบวนการตางกนV&V เกยวของกบการคนหาขอบกพรองทมอยในโปรแกรมDebugging คอการคนหาตาแหนงของทผดและแกไขDebugging คอการตงสมมตฐานในการทางานของโปรแกรมไวแลวทดสอบตามขอสมมตฐาน เพอหาขอผดพลาดของระบบ

Page 4: Verification and Validation - elearning.psru.ac.thelearning.psru.ac.th/courses/66/c10_verificationandvalidation.pdf · Verification and Validation January 31, 2009 2 Objectives เพื่อแนะน

January 31, 2009 13

The debugging process

January 31, 2009 14

V&V Planning

ตองการการวางแผนอยางรอบคอบ เพอใหไดผลสงสดจากการตรวจและทดสอบควรเรมวางแผนตงแตตอนตนของกระบวนการแผนควรมสมดลระหวางการตรวจทานและทดสอบแผนทดสอบ กคอการวางมาตรฐานกระบวนการทดสอบมากกวาการอธบายการทดสอบผลตภณฑ

January 31, 2009 15

The V-model of development

January 31, 2009 16

โครงสรางของแผนทดสอบซอฟตแวร

กระบวนการทดสอบการสบหาประวตของความตองการชนสวนทตองทดสอบกาหนดการทดสอบวธการบนทกผลการทดสอบอปกรณทจาเปนในการทดสอบ ทง Hardware และ Software

ขอจากดตางๆ

Page 5: Verification and Validation - elearning.psru.ac.thelearning.psru.ac.th/courses/66/c10_verificationandvalidation.pdf · Verification and Validation January 31, 2009 2 Objectives เพื่อแนะน

January 31, 2009 17

The software test plan

January 31, 2009 18

Software inspections

การตรวจสอบน ผทตรวจสอบจะมงคนหาความผดปกตและขอบกพรองการตรวจสอบไมจาเปนตองเปดระบบ ดงนนจงสามารถตรวจสอบไดกอนใชงานจรงสามารถนาไปใชกบชนสวนตางๆของระบบ (Requirement , Design , Configuration data , test data)เปนทประจกษแลววาเปนเทคนคทมประสทธภาพ สาหรบคนหาขอผดพลาดในโปรแกรม

January 31, 2009 19

Inspection success

ในการตรวจครงหนงอาจจะพบขอผดพลาดหลายชนด ในการทดสอบ,ขอบกพรองหนงอาจจะซอนขอบกพรองอนๆไว ทาใหตองทดสอบหลายครง

January 31, 2009 20

Inspections and testing

การตรวจและการทดสอบเปนงานเสรมซงกนและกน และไมขดแยงกบเทคนคการตรวจทานในกระบวนการ V&V จะใชทงสองเทคนคนการตรวจจะสามารถเชควาผลทไดครบตามทระบไว แตอาจจะไมใชความตองการแทจรงของลกคาการตรวจไมสามารถเชค Non-functional เชน การใชงานสะดวก ใหผลเรวทนใจ ฯลฯ

Page 6: Verification and Validation - elearning.psru.ac.thelearning.psru.ac.th/courses/66/c10_verificationandvalidation.pdf · Verification and Validation January 31, 2009 2 Objectives เพื่อแนะน

January 31, 2009 21

Program inspections

เปนวถทางการตรวจเอกสาร อยางเปนทางการมจดมงหมายทจะตรวจจบขอบกพรอง (ไมใชแกไข)ขอบกพรองอาจจะผดตรรกะ , ความผดปกตท code ซงจะชโยงไปถงขอผดพลาดทเงอนไข (เชน ตวแปรไมมคาเรมตน) ไมไดตามมาตรฐาน

January 31, 2009 22

Inspection Pre-conditions

ตองมการตรวจอยางละเอยดทมงานตองมความคนเคยกบมาตรฐานขององคกรตองมการแกไข Code หรอคาของระบบอนๆควรเตรยมรายการเชคขอผดพลาดไวฝายบรหารตองยอมรบวาการตรวจเชคจะเพมคาใชจายในกระบวนการซอฟตแวรฝายบรหารไมควรนาผลการตรวจเชคไปวดผลการทางานของพนกงานวาใครทาผด

January 31, 2009 23

The inspection process

January 31, 2009 24

Inspection procedure

นาเสนอภาพรวมของระบบใหทมงานตรวจสอบควรแจก Code และคมอใหทมงานลวงหนาดาเนนการตรวจสอบและบนทกขอผดพลาดทพบทาการแกไขขอผดพลาดทพบอาจจะมหรอไมมการตรวจสอบซากได

Page 7: Verification and Validation - elearning.psru.ac.thelearning.psru.ac.th/courses/66/c10_verificationandvalidation.pdf · Verification and Validation January 31, 2009 2 Objectives เพื่อแนะน

January 31, 2009 25

Inspection roles

January 31, 2009 26

Inspection checklists

ควรนาเอารายการขอผดพลาดสามญมาเปนฐานในการตรวจสอบการตรวจขอผดพลาดดวย Checklists ขนอยกบภาษาทใชเขยนโปรแกรม ลกษณะของขอผดพลาดมกจะเกดขนในภาษาของโปรแกรมทเขยนโดยทวไปถาการตรวจสอบ “หละหลวม” รายการทจะตองตรวจสอบกตองมมากขนตวอยางเชน : การกาหนดคาเรมตน , การตงชอคาคงท , จดสนสดการวนซา (loop), ขอบเขตของ array ฯลฯ

January 31, 2009 27

Inspection checks 1

January 31, 2009 28

Inspection checks 2

Page 8: Verification and Validation - elearning.psru.ac.thelearning.psru.ac.th/courses/66/c10_verificationandvalidation.pdf · Verification and Validation January 31, 2009 2 Objectives เพื่อแนะน

January 31, 2009 29

Inspection rate

500 รายการตอชวโมงในชวงภาพรวม125 ประโยคคาสงตอชวโมงในชวงการเตรยมตวสามารถตรวจได 90-125 รายการตอชวโมงการตรวจสอบนบไดวาเปนขนตอนทแพงการตรวจสอบ 500 บรรทดจะคดเปน 40 ชวโมงทางาน ซงเปนเงนประมาณ 2,800 ปอนด ทสหราชอาณาจกร (ประเทศองกฤษ)

January 31, 2009 30

Automated static analysis

Static analyses เปนเครองมอสาหรบตรวจประโยคคาสงทเปน textทาการวเคราะหไวยากรณของโปรแกรมและคนหาเงอนไขทมแนวโนมวาไมถกตองและแจงใหทมงาน V&V ทราบเปนวธการทมประสทธภาพทชวย inspection แตเปนเพยงเครองมอเสรม มไดนามาใชแทนการตรวจสอบ

January 31, 2009 31

Static analysis checks

January 31, 2009 32

Stages of static analysis

1. Control flow analysis : ตรวจเชคโปรแกรมทมทางออก-ทางเขาหลายทาง , คนหา code สวนทเขาไมถง

2. Data use analysis : ตรวจพบตวแปรทไมไดตงคาเรมตน ,ตวแปรทแทนคาซาสองแตเปนตวแปรทไมไดใชงาน ฯลฯ

3. Interface analysis : เชคความสมาเสมอของชดคาสง การกาหนดวธการทางาน

Page 9: Verification and Validation - elearning.psru.ac.thelearning.psru.ac.th/courses/66/c10_verificationandvalidation.pdf · Verification and Validation January 31, 2009 2 Objectives เพื่อแนะน

January 31, 2009 33

Stages of static analysis

1. Information flow analysis : วเคราะหและระบคาตวแปรทตองพงพากน ไมไดดกจบความวปรต แตระบชขอมล เพอตรวจตว code

2. Path analysis : ระบเสนทางของโปรแกรมและคาสงททางานตามเสนทางนน เหมาะสาหรบกระบวนการรวว

3. ระยะทงสองนจะกอใหเกดขอมลมากมายขอมลเหลานนตองใชดวยความระมดระวง

January 31, 2009 34

Use of static analysis

มประโยชนโดยเฉพาะอยางยงเมอนามาใชกบภาษา C เพราะคอมไพเลอรจะไมสามารถคนพบขอผดพลาดหลายทไดประหยดไดนอยกวา เมอใชกบภาษา Java ซงสามารถตรวจพบขอผดพลาดไดมากในขณะททาการ compile

January 31, 2009 35

Verification and formal methods

สามาถนาเอาวธ formal มาใชเมอมการระบความจาเปนของระบบเปนเชงคณตศาสตรเปนเทคนคพนฐานการตรวจทานเชงสถตรวมถงการวเคราะหทางคณตศาสตรทกาหนด spec.ไว และอาจกอใหเกดขอโตแยงกนวาโปรแกรมททาไวไมตรงตาม spec. ทางคณตศาสตรทกาหนด

January 31, 2009 36

Arguments for formal methods

การระบความตองการเชงคณตศาสตรทาใหตองทาการวเคราะหในรายละเอยด ซงจะทาใหพบขอผดพลาดไดสามารถตรวจพบขอผดพลาดจากการทางานไดกอนการทดสอบ ถาทาการวเคราะหโปรแกรมไปพรอมๆ กบการระบความตองการ

Page 10: Verification and Validation - elearning.psru.ac.thelearning.psru.ac.th/courses/66/c10_verificationandvalidation.pdf · Verification and Validation January 31, 2009 2 Objectives เพื่อแนะน

January 31, 2009 37

Arguments against formal methods

ผเชยวชาญโดเมนไมเขาใจเครองหมายทตองการใชคาใชจายสงในการระบความตองการและ ยงสงขนถาตองพสจนวาโปรแกรมทางานไดตามความตองการมเทคนคการทา V&V ทถกกวาและสามารถใหความมนใจในระดบเดยวกน

January 31, 2009 38

Cleanroom software development

ชอ Cleanroom ไดมาจากกระบวนการผลตทาชนสวนกงตวนา ปรชญาคอการปองกน มใหมขอบกพรองดกวาการแกไขขอบกพรองทเกดขนกระบวนการชนดน อยบนพนฐานตอไปน ;

Incremental development

Formal specification

Static verification using correctness arguments

Statistical testing to determine program reliability

January 31, 2009 39

The Cleanroom process

January 31, 2009 40

Cleanroom process characteristics

ระบความตองการ โดยใช State transition โมเดลแบงงานและจดลาดบตามความสาคญ วาลกคาตองการอะไรกอน-หลง เพอพฒนาใชการเขยนโปรแกรมเชงโครงสราง – จากดการควบคมและยอสรปขอมลตรวจเชคอยางเขมงวด โดยวธ Static verification ทดสอบดวยวธ Statistical Testing

Page 11: Verification and Validation - elearning.psru.ac.thelearning.psru.ac.th/courses/66/c10_verificationandvalidation.pdf · Verification and Validation January 31, 2009 2 Objectives เพื่อแนะน

January 31, 2009 41

Formal specification and inspections

ใช State based โมเดล เปน System specification และใชกระบวนการตรวจเชค ตรวจโปรแกรมกบโมเดลกาหนดวธการเขยนโปรแกรม เพอใหโมเดลถายทอดความตองการ ไปสระบบอยางชดเจนใชเหตผลทางคณตศาสตร (ไมใชการพสจน) เพอเพมความมนใจในกระบวนการตรวจเชค

January 31, 2009 42

Specification team รบผดชอบดแล System Specification

Development team รบผดชอบการพฒนาและตรวจทาน ระยะนยงไม executed หรอ compiled ซอฟตแวรCertification team รบผดชอบเตรยมวธการทางสถต เพอทดสอบซอฟตแวร หลงจากพฒนาแลว ใช reliability growth โมเดล เปนตวชวาซอฟตแวรเปนทยอมรบใชงานได

Cleanroom process teams

January 31, 2009 43

ผลทไดจากกระบวนการ Cleanroom เปนทประทบใจ เพราะระบบทไดมามขอผดพลาดนอยการประเมนโดยคนนอก บงชวาไมแพงกวาวธการอนมขอผดพลาดนอยกวากระบวนการพฒนาแบบเดมอยางไรกตาม กระบวนการนยงไมเปนทแพรหลาย เพราะการนามาใชในสภาพแวดลอมทวศวกรรมมประสบการณนอยหรอมการจงใจนอย ยงไมชดเจน

Cleanroom process evaluation

January 31, 2009 44

Key pointsVerification และ validation ไมเหมอนกน

Verification พสจนวาไดตามทกาหนดValidation พสจนวาไดตามทลกคาตองการ

ควรกาหนด Test plans เปนแนวทางในการทดสอบเทคนค Static verification คอ การตรวจและวเคราะหโปรแกรม เพอหาขอผดพลาด

Page 12: Verification and Validation - elearning.psru.ac.thelearning.psru.ac.th/courses/66/c10_verificationandvalidation.pdf · Verification and Validation January 31, 2009 2 Objectives เพื่อแนะน

January 31, 2009 45

Key pointsการตรวจเชคโปรแกรมเปนการตรวจหาขอผดพลาดทมประสทธภาพProgram code in inspections เปนการตรวจแบบเปนระบบ โดยทมงานเลกๆ เพอหาตาแหนงของ Errorsเครองมอ Static analysis สามารถคนหาความผดปกตของโปรแกรมซงอาจจะเปนสาเหตของขอผดพลาดในโปรแกรม Codeกระบวนการพฒนาซอฟตแวร แบบ Cleanroom ประกอบดวย

Incremental development Static verification Statistical testing.

January 31, 2009 46

Exercises

ใหบอกขอแตกตางระหวาง Verification กบ Validation, และอธบายวาทาไม Validation จงเปนกระบวนการทยากกวา.อธบายและใหเหตผลวาทาไม program inspection จงเปนเทคนคทมประสทธภาพในการคนพบขอผดพลาดของ program. และขอผดพลาดชนดใดท program inspection อาจตรวจไมพบ.