การตรวจสอบการออกแบบและกระบวนการตรวจสอบ
⚡ สรุปอย่างชาญฉลาด
การตรวจสอบการออกแบบ (Design verification) ยืนยันว่าผลลัพธ์ของการออกแบบตรงกับข้อมูลป้อนเข้าการออกแบบที่บันทึกไว้ ในขณะที่การตรวจสอบความถูกต้องของการออกแบบ (Design validation) ยืนยันว่าผลิตภัณฑ์ที่เสร็จสมบูรณ์แล้วตอบสนองความต้องการที่แท้จริงของผู้ใช้ ทั้งสองกระบวนการนี้ดำเนินการตลอดช่วงการพัฒนา ไม่ใช่เพียงครั้งเดียวในตอนท้าย
การตรวจสอบการออกแบบ
การตรวจสอบการออกแบบ การตรวจสอบการออกแบบเป็นวิธีการยืนยันโดยการตรวจสอบและแสดงหลักฐานว่าผลลัพธ์ของผลิตภัณฑ์ซอฟต์แวร์ที่ออกแบบนั้นตรงตามข้อกำหนดที่ป้อนเข้าไป เป้าหมายของกระบวนการตรวจสอบการออกแบบในระหว่างการพัฒนาซอฟต์แวร์คือการทำให้แน่ใจว่าผลิตภัณฑ์ซอฟต์แวร์ที่ออกแบบนั้นตรงกับสิ่งที่ระบุไว้
ข้อมูลนำเข้าในการออกแบบ คือ ข้อกำหนดทางกายภาพและประสิทธิภาพใดๆ ที่ใช้เป็นพื้นฐานในการออกแบบ ผลลัพธ์ของการออกแบบ คือ ผลลัพธ์ของแต่ละขั้นตอนการออกแบบและของความพยายามในการออกแบบทั้งหมด ในอุตสาหกรรมที่มีการควบคุม เช่น อุปกรณ์ทางการแพทย์ ผลลัพธ์การออกแบบขั้นสุดท้ายจะกลายเป็นพื้นฐานสำหรับบันทึกข้อมูลหลักของอุปกรณ์ ซึ่งเป็นเหตุผลว่าทำไมคำศัพท์เกี่ยวกับการควบคุมการออกแบบจึงปรากฏบ่อยครั้งในเอกสารการตรวจสอบ
ในทางปฏิบัติ การตรวจสอบจะเปรียบเทียบเอกสารสองชุด ได้แก่ ข้อกำหนด มาตรฐาน และข้อจำกัดที่ป้อนเข้าไป กับแบบร่าง รหัส และคำแนะนำการทดสอบที่ได้มา หากพบความไม่ตรงกันใดๆ จะถือเป็นข้อบกพร่องในการตรวจสอบ
การตรวจสอบการออกแบบ
การตรวจสอบยืนยันความสอดคล้องภายใน ในขณะที่การตรวจสอบความถูกต้องตั้งคำถามที่ยากกว่าว่า ข้อกำหนดดังกล่าวได้อธิบายถึงผลิตภัณฑ์ที่ถูกต้องตั้งแต่แรกหรือไม่
การตรวจสอบการออกแบบ การตรวจสอบความถูกต้องของการออกแบบ คือกระบวนการประเมินผลิตภัณฑ์ซอฟต์แวร์เทียบกับข้อกำหนดที่แท้จริงของผู้ใช้ปลายทางหรือผู้มีส่วนได้ส่วนเสีย วัตถุประสงค์ของการตรวจสอบความถูกต้องของการออกแบบคือการทดสอบผลิตภัณฑ์ซอฟต์แวร์หลังจากการพัฒนาเสร็จสิ้น เพื่อยืนยันว่าตรงตามข้อกำหนดเหล่านั้นเมื่อใช้งานในสภาพแวดล้อมของผู้ใช้เอง
การตรวจสอบความถูกต้องเกี่ยวข้องกับการแสดงให้เห็นถึงความสอดคล้องและความสมบูรณ์ของงานออกแบบเมื่อเทียบกับความต้องการของผู้ใช้ นี่คือขั้นตอนที่คุณสร้างเวอร์ชันของผลิตภัณฑ์ขึ้นมาจริง ๆ และตรวจสอบความถูกต้องเทียบกับข้อกำหนดของผู้ใช้
แถบด้านล่างแสดงคำอธิบายกิจกรรมทั้งสองส่วนตามที่มักนำเสนอในเอกสารบันทึกการออกแบบ
แผนภาพต่อไปนี้แสดงกระบวนการตรวจสอบความถูกต้องของการออกแบบ ตั้งแต่ความต้องการของผู้ใช้ไปจนถึงผลิตภัณฑ์ที่ผ่านการตรวจสอบความถูกต้องแล้ว
จุดประสงค์คือเพื่อพิสูจน์ด้วยหลักฐานที่เป็นรูปธรรมว่าผลิตภัณฑ์นั้นตรงตามความต้องการของผู้ใช้ที่ระบุไว้ หลักฐานที่เป็นรูปธรรมก็คือหลักฐานทางกายภาพของผลลัพธ์ เช่น รูปภาพ ไฟล์ข้อความ ไฟล์เสียง หรือรายงานที่ลงนามแล้ว ซึ่งแสดงให้เห็นว่าขั้นตอนดังกล่าวได้ดำเนินการจริง
ด้วยหลักฐานที่เป็นรูปธรรม กระบวนการนี้จะตรวจสอบอย่างสม่ำเสมอว่าผลิตภัณฑ์ตรงตามข้อกำหนดที่กำหนดไว้ล่วงหน้าหรือไม่ โดยเกี่ยวข้องกับกิจกรรมการทดสอบ การตรวจสอบ การวิเคราะห์ และเทคนิคที่คล้ายคลึงกัน ซึ่งเป็นเหตุผลว่าทำไมการตรวจสอบความถูกต้องจึงมักอาศัยหลักฐานที่เป็นรูปธรรม การทดสอบระบบ และ การทดสอบการยอมรับของผู้ใช้ แทนที่จะตรวจสอบในระดับหน่วยย่อย
ความแตกต่างระหว่างการตรวจสอบการออกแบบและการตรวจสอบความถูกต้อง
มักมีความเข้าใจผิดระหว่างการตรวจสอบและการรับรองความถูกต้องอยู่เสมอ ทั้งสองเป็นกิจกรรมที่แตกต่างกัน และดำเนินการในทุกขั้นตอนของกระบวนการพัฒนา ไม่ใช่เพียงแค่ในขั้นตอนสำคัญขั้นตอนเดียว
| การตรวจสอบการออกแบบ | การตรวจสอบการออกแบบ |
|---|---|
| การตรวจสอบการออกแบบใช้ในกรณีที่ผลลัพธ์การออกแบบจริงควรตรงกับผลลัพธ์การออกแบบที่คาดหวัง ซึ่งเป็นไปตามข้อกำหนดของผลิตภัณฑ์ | การตรวจสอบความถูกต้องของการออกแบบใช้เพื่อยืนยันว่าการออกแบบขั้นสุดท้ายตรงตามความคาดหวังและความต้องการของผู้ใช้ |
| การตรวจสอบการออกแบบถามว่า: คุณออกแบบผลิตภัณฑ์ได้ถูกต้องหรือไม่? | การตรวจสอบความถูกต้องของการออกแบบถามว่า: คุณได้ออกแบบผลิตภัณฑ์ที่ถูกต้องหรือไม่? |
| การตรวจสอบการออกแบบรวมถึงหน่วยและหลัก การทดสอบระดับการบูรณาการ. | การตรวจสอบการออกแบบประกอบด้วยการบูรณาการระดับรองหรือสูงกว่าและการทดสอบระดับระบบ |
| บางแง่มุมของการตรวจสอบความถูกต้องของการออกแบบสามารถดำเนินการได้ในระหว่างการตรวจสอบการออกแบบ แต่การตรวจสอบการออกแบบไม่สามารถใช้ทดแทนการตรวจสอบความถูกต้องของการออกแบบได้ | การตรวจสอบการออกแบบเป็นไปตามการตรวจสอบการออกแบบที่ประสบความสำเร็จ |
| การตรวจสอบการออกแบบสามารถดำเนินการได้ทั้งกับแต่ละโมดูลหรือกับระบบที่ประกอบเสร็จแล้ว ภายใต้เงื่อนไขใดๆ ก็ได้ | การตรวจสอบการออกแบบจะต้องดำเนินการภายใต้เงื่อนไขที่กำหนดตามความต้องการของผู้ใช้ |
| การตรวจสอบการออกแบบอาจใช้เทคนิคแบบคงที่ ซึ่งรวมถึงการตรวจสอบระบบ การวิเคราะห์ และกิจกรรมการตรวจสอบอย่างเป็นทางการ | การตรวจสอบความถูกต้องของการออกแบบประกอบด้วยรายงานฉบับสุดท้ายของผลการทดสอบ ซึ่งจะได้รับการตรวจสอบ อนุมัติ และลงนาม เอกสารเหล่านี้จะถูกจัดเก็บไว้เพื่อใช้อ้างอิงในอนาคต |
วิธีลัดที่มีประโยชน์: การตรวจสอบส่วนใหญ่คือ งานคงที่ เมื่อเทียบกับเอกสาร ในขณะที่การตรวจสอบความถูกต้องส่วนใหญ่เป็นไปในลักษณะเดียวกับการตรวจสอบเอกสาร การทดสอบแบบไดนามิก ต่อต้านการสร้างที่กำลังดำเนินอยู่
กระบวนการตรวจสอบการออกแบบ
กระบวนการตรวจสอบประกอบด้วยห้าขั้นตอน และแต่ละขั้นตอนจะสร้างผลลัพธ์ที่ขั้นตอนถัดไปต้องอาศัย
การระบุและการจัดเตรียม:
- ในระหว่างการพัฒนารายละเอียดข้อกำหนด จะมีการระบุขั้นตอนการตรวจสอบควบคู่ไปด้วย วิธีนี้ช่วยให้ผู้ออกแบบมั่นใจได้ว่ารายละเอียดข้อกำหนดนั้นสามารถตรวจสอบได้จริง เพื่อให้วิศวกรทดสอบสามารถเริ่มวางแผนและขั้นตอนการทดสอบโดยละเอียดได้ การเปลี่ยนแปลงใดๆ ต่อรายละเอียดข้อกำหนดจะต้องได้รับการแจ้งให้ทราบ
- ระบุแนวทางที่ดีที่สุดสำหรับการดำเนินการตรวจสอบ และกำหนดวิธีการวัด ทรัพยากร เครื่องมือ และสิ่งอำนวยความสะดวกที่จำเป็น
- แผนการตรวจสอบที่เสร็จสมบูรณ์แล้วจะถูกทบทวนร่วมกับทีมออกแบบเพื่อค้นหาปัญหาต่างๆ ก่อนที่จะสรุปแผนขั้นสุดท้าย
การวางแผน:
- การวางแผนการตรวจสอบเป็นกิจกรรมที่ดำเนินการควบคู่กันไปทั้งทีมหลักและทีมพัฒนา โดยจะเกิดขึ้นตลอดวงจรชีวิตของโครงการและจะได้รับการปรับปรุงทุกครั้งที่มีการเปลี่ยนแปลงข้อมูลป้อนเข้าด้านการออกแบบ
- ในขั้นตอนนี้ ซอฟต์แวร์หรือระบบที่อยู่ระหว่างการทดสอบจะถูกบันทึกรายละเอียดไว้ในขอบเขตการทดสอบ
- มีการจัดทำแผนการทดสอบเบื้องต้นและปรับปรุงแก้ไขในภายหลัง แผนดังกล่าวระบุถึงขั้นตอนสำคัญที่ช่วยลดความเสี่ยงของโครงการ
- มีการเลือกเครื่องมือ สภาพแวดล้อมการทดสอบ และกลยุทธ์การพัฒนา และระบุข้อกำหนดที่ต้องได้รับการยืนยันผ่านการตรวจสอบหรือการวิเคราะห์
เดเวโลping:
- กรณีทดสอบ การพัฒนาเกิดขึ้นพร้อมกับ วิธีการ SDLC ทีมงานโครงการได้ดำเนินการตามแผนแล้ว โดยได้ระบุวิธีการทดสอบที่หลากหลายในขั้นตอนนี้
- ต้องพัฒนาข้อมูลป้อนเข้าด้านการออกแบบเพื่อให้แม้แต่กิจกรรมการตรวจสอบที่ง่ายที่สุดก็มีความชัดเจนและตรวจสอบได้
- เวลาในการตรวจสอบจะลดลงเมื่อตรวจสอบแนวคิดที่คล้ายคลึงกันตามลำดับ เนื่องจากผลลัพธ์ของการทดสอบหนึ่งสามารถนำมาใช้เป็นข้อมูลป้อนเข้าสำหรับการทดสอบครั้งต่อไปได้
- Tracมีการสร้างลิงก์ความน่าจะเป็นระหว่างกรณีทดสอบและข้อมูลป้อนเข้าด้านการออกแบบที่เกี่ยวข้อง เพื่อให้มั่นใจว่าทุกข้อกำหนดได้รับการทดสอบ และผลลัพธ์การออกแบบตรงกับข้อมูลป้อนเข้าด้านการออกแบบ
การดำเนินการ:
- ขั้นตอนการทดสอบที่สร้างขึ้นในระหว่างขั้นตอนการพัฒนาจะถูกดำเนินการตามแผนการทดสอบและปฏิบัติตามอย่างเคร่งครัดในระหว่างกิจกรรมการตรวจสอบ
- หากเกิดผลลัพธ์ที่ไม่ถูกต้อง หรือหากจำเป็นต้องแก้ไขขั้นตอนใดๆ การเปลี่ยนแปลงเหล่านั้นจะต้องได้รับการบันทึกและได้รับการอนุมัติอย่างเป็นทางการ
- ปัญหาใดๆ ที่พบจะถูกบันทึกเป็นข้อบกพร่องผ่านระบบปกติ กระบวนการจัดการข้อบกพร่อง.
- A tracเมทริกซ์ความสามารถ ถูกสร้างขึ้นเพื่อตรวจสอบว่าข้อมูลป้อนเข้าด้านการออกแบบทั้งหมดที่ระบุไว้ในแผนการทดสอบการตรวจสอบได้รับการทดสอบแล้ว และเพื่อกำหนดอัตราการผ่าน
รายงาน:
- กิจกรรมนี้จะดำเนินการเมื่อสิ้นสุดแต่ละขั้นตอนของการดำเนินการตรวจสอบ
- รายงานการตรวจสอบการออกแบบให้สรุปโดยละเอียดเกี่ยวกับผลการตรวจสอบ รวมถึงการจัดการการกำหนดค่า ผลลัพธ์สำหรับการทดสอบแต่ละประเภท และปัญหาที่พบระหว่างกิจกรรมการตรวจสอบ
- การตรวจสอบการออกแบบ tracรายงานความเหมาะสม (Eability Report) จัดทำขึ้นเพื่อเปรียบเทียบข้อกำหนดและผลการทดสอบที่เกี่ยวข้อง เพื่อยืนยันว่าข้อกำหนดทั้งหมดได้รับการทดสอบแล้ว และผลลัพธ์ที่ได้มีความเหมาะสม
- ข้อบกพร่องใดๆ จะได้รับการบันทึกและแก้ไขอย่างเหมาะสม
- Revจะมีการตรวจสอบอีกครั้งเมื่อการตรวจสอบการออกแบบเสร็จสมบูรณ์ และผลลัพธ์จะได้รับการอนุมัติอย่างเป็นทางการ
กระบวนการตรวจสอบการออกแบบ
การตรวจสอบความถูกต้องไม่มีลำดับขั้นตอนที่ตายตัว แต่จะใช้ชุดวิธีการที่ได้รับการยอมรับจำนวนหนึ่ง และโดยปกติแล้วโครงการหนึ่งๆ จะใช้วิธีการมากกว่าหนึ่งวิธี
- การเปรียบเทียบกับแบบที่เทียบเท่ากัน บางแบบอาจได้รับการตรวจสอบความถูกต้องโดยการเปรียบเทียบกับอุปกรณ์ที่คล้ายคลึงกันซึ่งมีวัตถุประสงค์การใช้งานที่คล้ายคลึงกัน โดยเฉพาะอย่างยิ่งเมื่อตรวจสอบความถูกต้องของการเปลี่ยนแปลงการกำหนดค่าโครงสร้างพื้นฐานที่มีอยู่ หรือแบบมาตรฐานที่กำลังถูกนำไปใช้ในระบบหรือแอปพลิเคชันใหม่
- การสาธิตและการตรวจสอบ สามารถใช้ทั้งสองวิธีหรือวิธีใดวิธีหนึ่งเพื่อตรวจสอบความถูกต้องของข้อกำหนดและฟังก์ชันการทำงานอื่นๆ ของผลิตภัณฑ์ได้
- การวิเคราะห์ สามารถวิเคราะห์การออกแบบได้โดยใช้แบบจำลองทางคณิตศาสตร์หรือการจำลองที่สร้างฟังก์ชันการทำงานที่ต้องการขึ้นมาใหม่
- การทดสอบ มีการทดสอบการออกแบบขั้นสุดท้ายเพื่อตรวจสอบความสามารถของระบบในการทำงานตามที่กำหนด ซึ่งเป็นจุดเริ่มต้นของขั้นตอนต่อไป การทดสอบการใช้งาน และ การทดสอบที่ไม่เกี่ยวข้องกับการทำงาน ตรงตามความต้องการของผู้ใช้
- เอกสาร แผนการทดสอบ การดำเนินการ และผลลัพธ์ควรได้รับการบันทึกและเก็บรักษาไว้เป็นส่วนหนึ่งของบันทึกการออกแบบ การตรวจสอบความถูกต้องนั้นท้ายที่สุดแล้วคือผลลัพธ์ที่รวบรวมได้จากกิจกรรมการตรวจสอบความถูกต้องทั้งหมด
- การให้เหตุผลเรื่องความเท่าเทียมกัน เมื่อใช้ผลิตภัณฑ์ที่เทียบเท่ากันในการตรวจสอบความถูกต้องของการออกแบบขั้นสุดท้าย ผู้ผลิตต้องจัดทำเอกสารแสดงความคล้ายคลึงและความแตกต่างใดๆ จากการผลิตครั้งแรก
ตัวอย่าง
ตัวอย่างการใช้งานสั้นๆ จะช่วยให้เห็นความแตกต่างได้อย่างชัดเจน
- ลองพิจารณาผลิตภัณฑ์ง่ายๆ อย่างเช่น นาฬิกากันน้ำ
- เอกสารข้อกำหนดของผลิตภัณฑ์อาจระบุว่า “นาฬิกาต้องกันน้ำได้ขณะว่ายน้ำ” นั่นคือความต้องการของผู้ใช้ และเป็นสิ่งที่ใช้วัดการตรวจสอบความถูกต้อง
- ข้อกำหนดด้านการออกแบบอาจระบุว่า “นาฬิกาควรทำงานได้แม้ผู้ใช้จะว่ายน้ำเป็นเวลานาน” นั่นคือข้อมูลป้อนเข้าในการออกแบบ และเป็นสิ่งที่ใช้วัดผลการตรวจสอบ
- ผลการทดสอบควรยืนยันว่านาฬิกาตรงตามข้อกำหนดเหล่านี้ หากไม่ตรงตามข้อกำหนด จะดำเนินการออกแบบใหม่ต่อไปจนกว่าจะตรงตามข้อกำหนด
โปรดสังเกตว่านาฬิกาอาจผ่านการตรวจสอบความถูกต้อง แต่ยังคงล้มเหลวในการตรวจสอบความเหมาะสม หากข้อกำหนดระบุว่าการว่ายน้ำระยะยาวคือสิบห้านาที แต่ผู้ว่ายน้ำจริงอยู่ในน้ำเป็นเวลาหนึ่งชั่วโมง ผลลัพธ์ของการออกแบบจะตรงกับข้อมูลป้อนเข้าอย่างสมบูรณ์แบบ แต่ผู้ใช้ก็ยังไม่สามารถใช้งานได้
ข้อดีของการตรวจสอบความถูกต้องและการตรวจสอบการออกแบบ
การดำเนินกิจกรรมทั้งสองอย่างต่อเนื่อง แทนที่จะเป็นด่านสุดท้าย จะก่อให้เกิดประโยชน์ดังต่อไปนี้
- สามารถตรวจสอบการออกแบบได้อย่างต่อเนื่อง ซึ่งทำให้สามารถตอบสนองความต้องการที่ผู้ใช้กำหนดไว้ในทุกขั้นตอนได้
- การตรวจสอบความถูกต้องของการออกแบบจะชี้ให้เห็นถึงความแตกต่างระหว่างวิธีการทำงานของฟังก์ชันการทำงานกับวิธีการทำงานที่คาดหวังไว้
- การจัดทำเอกสารขั้นตอนการตรวจสอบความถูกต้องจะช่วยให้เข้าใจการทำงานได้ง่ายขึ้นในภายหลัง เมื่อใดก็ตามที่มีการเปลี่ยนแปลงหรือปรับปรุงเพิ่มเติม
- ระยะเวลาในการพัฒนาลดลงอย่างต่อเนื่องและประสิทธิภาพการทำงานดีขึ้น ซึ่งช่วยให้ส่งมอบผลิตภัณฑ์ได้ตามที่คาดหวัง
- กระบวนการนี้จะกำหนดขอบเขตและขนาดของวิธีการตรวจสอบความถูกต้องแต่ละวิธีที่จะต้องนำมาใช้
- การตรวจสอบความถูกต้องสามารถดำเนินการได้โดยใช้ข้อมูลการออกแบบโดยละเอียดซึ่งแสดงถึงข้อกำหนดขั้นสุดท้ายของผู้ใช้
- ความแตกต่างใดๆ ระหว่างผลลัพธ์และเอกสารความต้องการของผู้ใช้จะถูกบันทึกไว้ แทนที่จะสูญหายไป
- การเปลี่ยนแปลงใดๆ ต่อการออกแบบที่ผ่านการตรวจสอบแล้วจะกระตุ้นกระบวนการตรวจสอบซ้ำ ดังนั้นข้อมูลจึงไม่เคยคลาดเคลื่อนไปจากผลิตภัณฑ์
- การบันทึกทุกกิจกรรมที่เกิดขึ้นระหว่างการตรวจสอบความถูกต้อง ถือเป็นการพิสูจน์ได้อย่างเพียงพอว่าการออกแบบตรงตามความต้องการของผู้ใช้
ดังนั้น การตรวจสอบและรับรองการออกแบบจึงควรวางแผนไว้ภายในกรอบการทำงานที่กว้างขึ้น วงจรชีวิตการทดสอบซอฟต์แวร์ และจับคู่กับสิ่งอื่น ประเภทของการทดสอบซอฟต์แวร์แทนที่จะมองว่าเป็นกระบวนการปฏิบัติตามกฎระเบียบที่แยกต่างหาก


