การทดสอบการปฏิบัติตามข้อกำหนด (Conformance Testing) ในการทดสอบซอฟต์แวร์

การทดสอบความสอดคล้อง

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

อาจเกี่ยวข้องกับด้านเทคนิคบางอย่าง แต่โดยเจตนาจะรวมถึง:

  • ประสิทธิภาพ
  • ฟังก์ชั่น
  • ความแข็งแรง
  • การทำงานร่วมกัน
  • พฤติกรรมของระบบ

ประเภทของการทดสอบความสอดคล้อง

การทดสอบความสอดคล้องอาจเป็นแบบตรรกะหรือทางกายภาพ และประกอบด้วยการทดสอบประเภทต่างๆ ต่อไปนี้

การทดสอบความสอดคล้อง
การทดสอบความสอดคล้อง

เหตุใดเราจึงต้องมีการทดสอบความสอดคล้อง?

  • เพื่อตรวจสอบการปฏิบัติตามข้อกำหนดของระบบ
  • เพื่อตรวจสอบว่าเอกสารประกอบของระบบครบถ้วนตามความจำเป็นหรือไม่
  • เพื่อตรวจสอบการพัฒนา การออกแบบ และการประเมินผลตามข้อกำหนด

เราต้องทดสอบอะไรบ้าง?

  • มาตรฐานที่ใช้ดำเนินการ
  • การเรียกของระบบที่จะพัฒนา
  • ขอบเขตข้อกำหนด
  • วัตถุประสงค์ข้อกำหนด

การทดสอบความสอดคล้องเริ่มต้นโดยฝ่ายบริหารด้วยความมั่นใจอย่างเต็มที่เกี่ยวกับทีมงานและความเข้าใจในมาตรฐาน ข้อกำหนด และขั้นตอนต่างๆ

ในการสร้างการใช้งานที่มีประสิทธิภาพ ควรกล่าวถึงมาตรฐานและข้อกำหนดเฉพาะอย่างชัดเจนเพื่อหลีกเลี่ยงความคลุมเครือ หากไม่เป็นเช่นนั้น การทดสอบความสอดคล้องก็มีประโยชน์ในการดำเนินขั้นตอนที่จำเป็นเพื่อทำให้มีความเกี่ยวข้องและเชื่อถือได้

ควรทำการทดสอบความสอดคล้องเมื่อใดและอย่างไร

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

กระบวนการทดสอบความสอดคล้อง

กระบวนการทดสอบความสอดคล้อง หรือกระบวนการทดสอบการปฏิบัติตามข้อกำหนดนั้นจำเป็นเพื่อให้มั่นใจถึงประสิทธิภาพ ประสิทธิผล และหลีกเลี่ยงความเสี่ยงในอนาคตสำหรับแอปพลิเคชันซอฟต์แวร์ การทดสอบการปฏิบัติตามข้อกำหนดที่มีประสิทธิผลประกอบด้วยกระบวนการทีละขั้นตอนดังต่อไปนี้:

  1. การวิเคราะห์มาตรฐานและข้อมูลจำเพาะ
  2. การเลือกเครื่องมือทดสอบและชุดทดสอบ
  3. การออกแบบขั้นตอนการทดสอบ
  4. การตรวจสอบความถูกต้องที่จำเป็น
  5. การปรับนโยบายและการรับรองการทดสอบที่เกี่ยวข้อง

ให้เราดูการแสดงแผนภาพของกระบวนการทดสอบความสอดคล้อง/การปฏิบัติตามข้อกำหนดโดยย่อเพื่อความเข้าใจที่ดีขึ้น:

กระบวนการทดสอบความสอดคล้อง
กระบวนการทดสอบการปฏิบัติตามข้อกำหนด

ด้วยความช่วยเหลือของ Use Case กระบวนการนี้จะเข้าใจได้ง่ายขึ้น

กระบวนการทดสอบความสอดคล้อง

ตามที่กล่าวไว้ข้างต้นว่า Conformance Testing บางครั้งเรียกว่า Compliance Testing แต่ยังมีข้อเท็จจริงพื้นฐานบางประการที่ทำให้ Conformance Testing แตกต่างจาก Compliance Testing

เราจะตรวจสอบการเปรียบเทียบและความแตกต่างระหว่างทั้งสอง

การทดสอบความสอดคล้อง การทดสอบการปฏิบัติตามข้อกำหนด
การทดสอบความสอดคล้องเป็นวิธีการทดสอบมาตรฐานอย่างเป็นทางการและแม่นยำ การทดสอบการปฏิบัติตามข้อกำหนดเป็นวิธีการทดสอบมาตรฐานที่ไม่เป็นทางการและมีความแม่นยำน้อยกว่า
การรับรองความสอดคล้องนั้นใช้ได้กับระบบปฏิบัติการที่มีอำนาจการรับรองอย่างเป็นทางการเท่านั้น ระบบปฏิบัติการที่ให้ API เดียวของ POSIX (Portable Operating System Interface) ได้รับการกล่าวว่าเป็นไปตามข้อกำหนด
การทดสอบความสอดคล้องใช้สำหรับการทดสอบระบบที่ให้การสนับสนุนอย่างเต็มที่ตามมาตรฐานที่กำหนด การทดสอบการปฏิบัติตามข้อกำหนดใช้สำหรับการทดสอบระบบที่ให้การสนับสนุนมาตรฐานที่กำหนดบางส่วน

ข้อดีของการทดสอบความสอดคล้อง

  1. รับประกันการใช้งานข้อกำหนดเฉพาะอย่างเหมาะสม
  2. รับประกันการพกพาและการทำงานร่วมกันได้
  3. จัดให้มีการใช้มาตรฐานอย่างเหมาะสม
  4. ช่วยให้มั่นใจได้ว่าอินเทอร์เฟซและฟังก์ชันต่างๆ ทำงานตามที่คาดไว้
  5. ช่วยในการระบุพื้นที่ที่จะต้องสอดคล้องกับพื้นที่ที่ไม่สอดคล้องกับเช่นวากยสัมพันธ์และความหมาย

ข้อเสียของการทดสอบความสอดคล้อง

เช่นเดียวกับการทดสอบประเภทอื่นๆ การทดสอบความสอดคล้องก็มีงานบางอย่างที่ทำได้ค่อนข้างยากและอาจกลายเป็นเรื่องท้าทาย บางส่วนมีการระบุไว้ด้านล่าง

  1. เพื่อทำการทดสอบความสอดคล้องอย่างมีประสิทธิภาพ จำเป็นต้องระบุระดับของระบบที่ต้องทดสอบพร้อมกับวิธีการที่เหมาะสม
  2. การจัดหมวดหมู่ข้อกำหนดเป็นโปรไฟล์ ระดับ และโมดูล
  3. การกำหนดค่าล่วงหน้า
  4. การออกแบบส่วนขยาย ตัวเลือก และวิธีการดำเนินการทดสอบให้ประสบความสำเร็จ

การทดสอบความสอดคล้อง: มุมมองที่สำคัญ:

การทดสอบความสอดคล้องมีบางด้านที่ต้องการความสนใจและความรู้เป็นพิเศษเพื่อการใช้งานที่ประสบความสำเร็จ

  1. วิธีการทดสอบที่เหมาะสมที่สุด
  2. การเลือกเครื่องมือทดสอบที่จะทำให้กระบวนการทดสอบเป็นแบบอัตโนมัติ
  3. ความเข้าใจที่ชัดเจนเกี่ยวกับการทดสอบความสอดคล้องที่แสดงเฉพาะความไม่สอดคล้องแทนที่จะเป็นความสอดคล้อง
  4. การออกแบบและการนำโปรแกรมการทดสอบความสอดคล้องไปใช้
  5. กำหนดวิธีดำเนินการอย่างเป็นทางการ
  6. นโยบายและกฎระเบียบ

การทดสอบความสอดคล้องของระบบมือถือ

เช่นเดียวกับการทดสอบซอฟต์แวร์ประเภทอื่นๆ การทดสอบความสอดคล้องก็สามารถทำได้เช่นกัน โทรศัพท์มือถือ ระบบ เมื่อประกอบระบบแล้ว จะมีการตรวจสอบการใช้งานก่อนใช้งานผ่านการทดสอบความสอดคล้อง

การทดสอบจะดำเนินการตามประเภทของเครือข่าย เช่น GSM หรือ CDMA เพื่อให้เกิดความสอดคล้องและทำงานร่วมกันได้
การทดสอบเหล่านี้อาจรวมถึง;

  • การทดสอบโปรโตคอล
  • ความปลอดภัย /การทดสอบความปลอดภัย
  • การทดสอบซิมการ์ด
  • การทดสอบความถี่วิทยุ (RF)
  • การทดสอบเสียง
  • การทดสอบการดูดซึมจำเพาะ

ตัวอย่างการใช้ Case Diagram

แผนภาพกรณีการใช้งานต่อไปนี้แสดงให้เห็นวิธีดำเนินการทดสอบความสอดคล้องสำหรับระบบมือถือที่ใช้งาน

ตัวอย่างการใช้ Case Diagram

นอกจากนี้ สามารถอธิบายรายละเอียดเพิ่มเติมได้ดังต่อไปนี้สำหรับการทดสอบซิมการ์ดในสองขั้นตอน

  1. การตรวจสอบรหัสผ่าน
การตรวจสอบรหัสผ่าน
การตรวจสอบรหัสผ่าน
  1. กำลังโทร
กำลังโทร
กำลังโทร

อาจมีสองกรณีสำหรับระบบเช่น

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 รัฐใดสามารถเข้าถึงได้จากรัฐใดก็ได้ ออกจากสถานะและกลับสู่ก่อนหน้าหรือถัดไป _ ควรเปลี่ยนสถานะได้สำเร็จ เปลี่ยนสถานะได้สำเร็จ ส่ง _

ข้อกำหนดเหล่านี้แสดงให้เห็นว่าการทดสอบความสอดคล้องยังมีประโยชน์ในการทดสอบการนำมาตรฐานทางเทคนิคไปใช้ด้วย

เพื่อให้กระบวนการทดสอบมีความสม่ำเสมอ จึงได้มีการกำหนดกรณีทดสอบ ขึ้นอยู่กับประเภทของเครือข่าย กรณีทดสอบหลายร้อยกรณีอาจถูกกำหนดและดำเนินการเพื่อให้แน่ใจว่าระบบมือถือทำงานตามข้อกำหนดข้อกำหนด

สรุป

  • การทดสอบความสอดคล้องเรียกอีกอย่างว่าการทดสอบประเภทซึ่งเป็นวิธีการทดสอบที่เป็นทางการ
  • ใช้เพื่อตรวจสอบว่าระบบเป็นไปตามข้อกำหนดข้อกำหนดหรือไม่
  • ประกอบด้วยการทดสอบความเครียด การทดสอบโหลด การทดสอบปริมาตร และการทดสอบการปฏิบัติตามข้อกำหนด
  • ถือเป็นการทดสอบการปฏิบัติตามข้อกำหนดด้วย แต่มีความแตกต่างพื้นฐานระหว่างทั้งสองอย่าง
  • โปรแกรมการทดสอบความสอดคล้อง วิธีทดสอบ และเครื่องมือทดสอบเป็นส่วนที่สำคัญที่สุดของการทดสอบความสอดคล้อง
  • การรับประกันการใช้งานมาตรฐานและการทำงานร่วมกันทำได้โดยผ่านการทดสอบความสอดคล้องในวิศวกรรมซอฟต์แวร์
  • มีการทดสอบความสอดคล้องสำหรับระบบเคลื่อนที่ด้วย