การทดสอบการปฏิบัติตามข้อกำหนด (Conformance Testing) ในการทดสอบซอฟต์แวร์
การทดสอบความสอดคล้อง
การทดสอบความสอดคล้อง เป็นเทคนิคการทดสอบซอฟต์แวร์ที่ใช้รับรองว่าระบบซอฟต์แวร์เป็นไปตามมาตรฐานและข้อบังคับที่กำหนดโดย IEEE, W3C หรือ ETSI วัตถุประสงค์ของการทดสอบความสอดคล้องคือเพื่อกำหนดวิธีที่ระบบที่อยู่ระหว่างการทดสอบยืนยันว่าเป็นไปตามข้อกำหนดส่วนบุคคลของมาตรฐานเฉพาะ การทดสอบความสอดคล้องเรียกอีกอย่างว่าการทดสอบการปฏิบัติตามข้อกำหนด
อาจเกี่ยวข้องกับด้านเทคนิคบางอย่าง แต่โดยเจตนาจะรวมถึง:
- ประสิทธิภาพ
- ฟังก์ชั่น
- ความแข็งแรง
- การทำงานร่วมกัน
- พฤติกรรมของระบบ
ประเภทของการทดสอบความสอดคล้อง
การทดสอบความสอดคล้องอาจเป็นแบบตรรกะหรือทางกายภาพ และประกอบด้วยการทดสอบประเภทต่างๆ ต่อไปนี้
- การทดสอบการปฏิบัติตามข้อกำหนด
- โหลดการทดสอบ
- การทดสอบความเครียด
- การทดสอบปริมาตร

เหตุใดเราจึงต้องมีการทดสอบความสอดคล้อง?
- เพื่อตรวจสอบการปฏิบัติตามข้อกำหนดของระบบ
- เพื่อตรวจสอบว่าเอกสารประกอบของระบบครบถ้วนตามความจำเป็นหรือไม่
- เพื่อตรวจสอบการพัฒนา การออกแบบ และการประเมินผลตามข้อกำหนด
เราต้องทดสอบอะไรบ้าง?
- มาตรฐานที่ใช้ดำเนินการ
- การเรียกของระบบที่จะพัฒนา
- ขอบเขตข้อกำหนด
- วัตถุประสงค์ข้อกำหนด
การทดสอบความสอดคล้องเริ่มต้นโดยฝ่ายบริหารด้วยความมั่นใจอย่างเต็มที่เกี่ยวกับทีมงานและความเข้าใจในมาตรฐาน ข้อกำหนด และขั้นตอนต่างๆ
ในการสร้างการใช้งานที่มีประสิทธิภาพ ควรกล่าวถึงมาตรฐานและข้อกำหนดเฉพาะอย่างชัดเจนเพื่อหลีกเลี่ยงความคลุมเครือ หากไม่เป็นเช่นนั้น การทดสอบความสอดคล้องก็มีประโยชน์ในการดำเนินขั้นตอนที่จำเป็นเพื่อทำให้มีความเกี่ยวข้องและเชื่อถือได้
ควรทำการทดสอบความสอดคล้องเมื่อใดและอย่างไร
- เมื่อเราต้องตรวจสอบความสอดคล้องโดยรวมของระบบ จะมีการดำเนินการทดสอบความสมบูรณ์และความถูกต้องตามข้อกำหนดข้อกำหนด ณ จุดนั้น
- มีหลายวิธีในการดำเนินการที่ไม่แตกต่างจากขั้นตอนวงจรการพัฒนาของเรามากนัก เช่น
- การวิเคราะห์ข้อกำหนดข้อกำหนด
- การเตรียมแผนการทดสอบ
- การเตรียมกรณีทดสอบและวัตถุประสงค์
- สร้างเอกสารสำหรับการออกแบบการทดสอบที่เตรียมไว้
- เราจำเป็นต้องมุ่งเน้นไปที่ลักษณะเฉพาะเพิ่มเติมบางประการ เช่น ชุดย่อย ซึ่งโดยทั่วไปจะมีสามประเภท เช่น 'โปรไฟล์', 'ระดับ' และ 'โมดูล'
- บริษัท เป็นข้อกำหนดย่อยซึ่งรวมถึงฟังก์ชันการทำงานของระบบเพื่อตอบสนองความต้องการและทุ่มเทให้กับผู้ใช้กลุ่มใดกลุ่มหนึ่งโดยเฉพาะ
- Levels เป็นส่วนย่อยของข้อกำหนดโดยที่ Level1 ระบุข้อกำหนดพื้นฐานและ Level2 หมายถึงระดับ 1 + ฟังก์ชันเพิ่มเติม/ใหม่
- โมดูล คือการรวบรวมมาตรฐานและข้อกำหนดที่เกี่ยวข้องกันอย่างมีนัยสำคัญ
กระบวนการทดสอบความสอดคล้อง
กระบวนการทดสอบความสอดคล้อง หรือกระบวนการทดสอบการปฏิบัติตามข้อกำหนดนั้นจำเป็นเพื่อให้มั่นใจถึงประสิทธิภาพ ประสิทธิผล และหลีกเลี่ยงความเสี่ยงในอนาคตสำหรับแอปพลิเคชันซอฟต์แวร์ การทดสอบการปฏิบัติตามข้อกำหนดที่มีประสิทธิผลประกอบด้วยกระบวนการทีละขั้นตอนดังต่อไปนี้:
- การวิเคราะห์มาตรฐานและข้อมูลจำเพาะ
- การเลือกเครื่องมือทดสอบและชุดทดสอบ
- การออกแบบขั้นตอนการทดสอบ
- การตรวจสอบความถูกต้องที่จำเป็น
- การปรับนโยบายและการรับรองการทดสอบที่เกี่ยวข้อง
ให้เราดูการแสดงแผนภาพของกระบวนการทดสอบความสอดคล้อง/การปฏิบัติตามข้อกำหนดโดยย่อเพื่อความเข้าใจที่ดีขึ้น:

ด้วยความช่วยเหลือของ Use Case กระบวนการนี้จะเข้าใจได้ง่ายขึ้น
ตามที่กล่าวไว้ข้างต้นว่า Conformance Testing บางครั้งเรียกว่า Compliance Testing แต่ยังมีข้อเท็จจริงพื้นฐานบางประการที่ทำให้ Conformance Testing แตกต่างจาก Compliance Testing
เราจะตรวจสอบการเปรียบเทียบและความแตกต่างระหว่างทั้งสอง
การทดสอบความสอดคล้อง | การทดสอบการปฏิบัติตามข้อกำหนด |
---|---|
การทดสอบความสอดคล้องเป็นวิธีการทดสอบมาตรฐานอย่างเป็นทางการและแม่นยำ | การทดสอบการปฏิบัติตามข้อกำหนดเป็นวิธีการทดสอบมาตรฐานที่ไม่เป็นทางการและมีความแม่นยำน้อยกว่า |
การรับรองความสอดคล้องนั้นใช้ได้กับระบบปฏิบัติการที่มีอำนาจการรับรองอย่างเป็นทางการเท่านั้น | ระบบปฏิบัติการที่ให้ API เดียวของ POSIX (Portable Operating System Interface) ได้รับการกล่าวว่าเป็นไปตามข้อกำหนด |
การทดสอบความสอดคล้องใช้สำหรับการทดสอบระบบที่ให้การสนับสนุนอย่างเต็มที่ตามมาตรฐานที่กำหนด | การทดสอบการปฏิบัติตามข้อกำหนดใช้สำหรับการทดสอบระบบที่ให้การสนับสนุนมาตรฐานที่กำหนดบางส่วน |
ข้อดีของการทดสอบความสอดคล้อง
- รับประกันการใช้งานข้อกำหนดเฉพาะอย่างเหมาะสม
- รับประกันการพกพาและการทำงานร่วมกันได้
- จัดให้มีการใช้มาตรฐานอย่างเหมาะสม
- ช่วยให้มั่นใจได้ว่าอินเทอร์เฟซและฟังก์ชันต่างๆ ทำงานตามที่คาดไว้
- ช่วยในการระบุพื้นที่ที่จะต้องสอดคล้องกับพื้นที่ที่ไม่สอดคล้องกับเช่นวากยสัมพันธ์และความหมาย
ข้อเสียของการทดสอบความสอดคล้อง
เช่นเดียวกับการทดสอบประเภทอื่นๆ การทดสอบความสอดคล้องก็มีงานบางอย่างที่ทำได้ค่อนข้างยากและอาจกลายเป็นเรื่องท้าทาย บางส่วนมีการระบุไว้ด้านล่าง
- เพื่อทำการทดสอบความสอดคล้องอย่างมีประสิทธิภาพ จำเป็นต้องระบุระดับของระบบที่ต้องทดสอบพร้อมกับวิธีการที่เหมาะสม
- การจัดหมวดหมู่ข้อกำหนดเป็นโปรไฟล์ ระดับ และโมดูล
- การกำหนดค่าล่วงหน้า
- การออกแบบส่วนขยาย ตัวเลือก และวิธีการดำเนินการทดสอบให้ประสบความสำเร็จ
การทดสอบความสอดคล้อง: มุมมองที่สำคัญ:
การทดสอบความสอดคล้องมีบางด้านที่ต้องการความสนใจและความรู้เป็นพิเศษเพื่อการใช้งานที่ประสบความสำเร็จ
- วิธีการทดสอบที่เหมาะสมที่สุด
- การเลือกเครื่องมือทดสอบที่จะทำให้กระบวนการทดสอบเป็นแบบอัตโนมัติ
- ความเข้าใจที่ชัดเจนเกี่ยวกับการทดสอบความสอดคล้องที่แสดงเฉพาะความไม่สอดคล้องแทนที่จะเป็นความสอดคล้อง
- การออกแบบและการนำโปรแกรมการทดสอบความสอดคล้องไปใช้
- กำหนดวิธีดำเนินการอย่างเป็นทางการ
- นโยบายและกฎระเบียบ
การทดสอบความสอดคล้องของระบบมือถือ
เช่นเดียวกับการทดสอบซอฟต์แวร์ประเภทอื่นๆ การทดสอบความสอดคล้องก็สามารถทำได้เช่นกัน โทรศัพท์มือถือ ระบบ เมื่อประกอบระบบแล้ว จะมีการตรวจสอบการใช้งานก่อนใช้งานผ่านการทดสอบความสอดคล้อง
การทดสอบจะดำเนินการตามประเภทของเครือข่าย เช่น GSM หรือ CDMA เพื่อให้เกิดความสอดคล้องและทำงานร่วมกันได้
การทดสอบเหล่านี้อาจรวมถึง;
- การทดสอบโปรโตคอล
- ความปลอดภัย /การทดสอบความปลอดภัย
- การทดสอบซิมการ์ด
- การทดสอบความถี่วิทยุ (RF)
- การทดสอบเสียง
- การทดสอบการดูดซึมจำเพาะ
ตัวอย่างการใช้ Case Diagram
แผนภาพกรณีการใช้งานต่อไปนี้แสดงให้เห็นวิธีดำเนินการทดสอบความสอดคล้องสำหรับระบบมือถือที่ใช้งาน
นอกจากนี้ สามารถอธิบายรายละเอียดเพิ่มเติมได้ดังต่อไปนี้สำหรับการทดสอบซิมการ์ดในสองขั้นตอน
- การตรวจสอบรหัสผ่าน

- กำลังโทร

อาจมีสองกรณีสำหรับระบบเช่น
1. เรียกความสำเร็จ
2. โทรล้มเหลว
ในทำนองเดียวกันสำหรับการทดสอบโปรโตคอล ให้พิจารณากรณีการใช้งานต่อไปนี้

กำลังติดตาม เทมเพลตกรณีทดสอบ จะช่วยให้คุณเข้าใจว่าเราสามารถเขียนกรณีทดสอบได้อย่างไร การทดสอบโปรโตคอล
รหัสทดสอบ | สถานการณ์ทดสอบ | ขั้นตอนการทดสอบ | ข้อมูลการทดสอบ | ผลลัพธ์ที่คาดหวัง | ผลลัพธ์ที่แท้จริง | สถานะ | หมายเหตุ |
---|---|---|---|---|---|---|---|
PT001 | โปรโตคอลไม่มีเดดล็อก | เริ่มต้นด้วยกระบวนการสื่อสาร | _ | ควรสร้างการสื่อสารให้ประสบความสำเร็จ | การสื่อสารก่อตั้งขึ้นเรียบร้อยแล้ว | ส่ง | _ |
PT002 | คำสั่ง “Ping” ทำงานได้อย่างถูกต้องสำหรับระยะเวลาหมดเวลา | ป้อนคำสั่ง Ping เป็น 'Ping -w' ในพร้อมท์คำสั่ง | ปิง 1000 | ควรแสดงข้อความ “ส่งสำเร็จ” | ข้อความแสดง "ส่งสำเร็จ" | ส่ง | _ |
PT003 | นับไม่ ของคำขอ 'echo' | ป้อนคำสั่ง Ping เป็น 'Ping -n' ใน command prompt | ปิง 4 | ควรเริ่มส่ง Ping 0.0.0.4 ด้วยข้อมูล 32 ไบต์ และควรแสดงข้อความ “ส่งสำเร็จ” | เริ่มส่ง Ping 0.0.0.4 ด้วยข้อมูลขนาด 32 ไบต์ แต่แสดงข้อความ “การส่งล้มเหลว” | ล้มเหลว | ข้อผิดพลาดด้านความหมาย/การทำงาน |
PT004 | รัฐใดสามารถเข้าถึงได้จากรัฐใดก็ได้ | ออกจากสถานะและกลับสู่ก่อนหน้าหรือถัดไป | _ | ควรเปลี่ยนสถานะได้สำเร็จ | เปลี่ยนสถานะได้สำเร็จ | ส่ง | _ |
ข้อกำหนดเหล่านี้แสดงให้เห็นว่าการทดสอบความสอดคล้องยังมีประโยชน์ในการทดสอบการนำมาตรฐานทางเทคนิคไปใช้ด้วย
เพื่อให้กระบวนการทดสอบมีความสม่ำเสมอ จึงได้มีการกำหนดกรณีทดสอบ ขึ้นอยู่กับประเภทของเครือข่าย กรณีทดสอบหลายร้อยกรณีอาจถูกกำหนดและดำเนินการเพื่อให้แน่ใจว่าระบบมือถือทำงานตามข้อกำหนดข้อกำหนด
สรุป
- การทดสอบความสอดคล้องเรียกอีกอย่างว่าการทดสอบประเภทซึ่งเป็นวิธีการทดสอบที่เป็นทางการ
- ใช้เพื่อตรวจสอบว่าระบบเป็นไปตามข้อกำหนดข้อกำหนดหรือไม่
- ประกอบด้วยการทดสอบความเครียด การทดสอบโหลด การทดสอบปริมาตร และการทดสอบการปฏิบัติตามข้อกำหนด
- ถือเป็นการทดสอบการปฏิบัติตามข้อกำหนดด้วย แต่มีความแตกต่างพื้นฐานระหว่างทั้งสองอย่าง
- โปรแกรมการทดสอบความสอดคล้อง วิธีทดสอบ และเครื่องมือทดสอบเป็นส่วนที่สำคัญที่สุดของการทดสอบความสอดคล้อง
- การรับประกันการใช้งานมาตรฐานและการทำงานร่วมกันทำได้โดยผ่านการทดสอบความสอดคล้องในวิศวกรรมซอฟต์แวร์
- มีการทดสอบความสอดคล้องสำหรับระบบเคลื่อนที่ด้วย