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

⚡ สรุปอย่างชาญฉลาด

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

  • 🔘 เรียกอีกอย่างว่า: การทดสอบความสอดคล้อง หรือ การทดสอบประเภท คือ การตรวจสอบอย่างเป็นทางการเทียบกับมาตรฐานที่เผยแพร่แล้ว
  • 📚 ครอบคลุม: ประกอบด้วยการทดสอบความสอดคล้อง การรับน้ำหนัก ความเค้น และปริมาตร ภายในโปรแกรมการตรวจสอบความสอดคล้องเดียว
  • 🧭 เซตย่อย: ข้อกำหนดต่างๆ จะถูกจัดกลุ่มเป็น โปรไฟล์ ระดับ และโมดูล ก่อนที่จะเริ่มการออกแบบการทดสอบ
  • 🔄 กระบวนการ: วิเคราะห์มาตรฐาน เลือกเครื่องมือ ออกแบบขั้นตอน ตรวจสอบความถูกต้อง แล้วจึงนำนโยบายการรับรองมาใช้
  • 📱 มือถือ: อุปกรณ์ GSM และ CDMA เพิ่มการทดสอบโปรโตคอล, ซิมการ์ด, RF, เสียง และการดูดซับเสียง
  • 🇧🇷 ความแตกต่าง: การปฏิบัติตามข้อกำหนดอย่างเป็นทางการและได้รับการสนับสนุนอย่างเต็มที่เรียกว่า Conformance ส่วนการปฏิบัติตามข้อกำหนดอย่างไม่เป็นทางการและได้รับการสนับสนุนเพียงบางส่วนเรียกว่า Compliance

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

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

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

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

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

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

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

แผนภาพด้านล่างแสดงให้เห็นว่าการทดสอบประเภทต่างๆ เหล่านี้ทำงานร่วมกันอย่างไรภายในโปรแกรมการปฏิบัติตามข้อกำหนดเดียว

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

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

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

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

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

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

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

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

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

  • การวิเคราะห์ข้อกำหนดข้อกำหนด
  • การเตรียมแผนการทดสอบ
  • การเตรียมกรณีทดสอบและระบุวัตถุประสงค์ของการทดสอบ
  • จัดทำเอกสารสำหรับแบบทดสอบที่เตรียมไว้

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

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

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

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

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

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

กระบวนการทดสอบความสอดคล้องห้าขั้นตอน ตั้งแต่การวิเคราะห์มาตรฐานไปจนถึงการรับรอง

หากนำเสนอในรูปแบบกรณีศึกษา กระบวนการเดียวกันนี้จะแสดงให้เห็นว่าผู้แสดงบทบาทใดเป็นผู้ดำเนินการในแต่ละขั้นตอน

แผนภาพแสดงกรณีการใช้งานของกระบวนการทดสอบความสอดคล้อง โดยมีผู้ทดสอบและผู้รับรองเป็นผู้เกี่ยวข้อง

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

การทดสอบความสอดคล้องบางครั้งเรียกว่าการทดสอบการปฏิบัติตามข้อกำหนด แต่มีข้อแตกต่างพื้นฐานบางประการระหว่างทั้งสองอย่าง ตารางด้านล่างนี้เปรียบเทียบทั้งสองอย่าง

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

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

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

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

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

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

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

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

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

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

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

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

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

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

แผนภาพกรณีการใช้งานสำหรับการทดสอบความสอดคล้องของระบบมือถือที่ใช้งานจริง

สามารถอธิบายขั้นตอนการทดสอบซิมการ์ดได้เป็นสองขั้นตอน ขั้นตอนแรกคือ การตรวจสอบรหัสผ่าน, แสดงด้านล่าง.

กรณีศึกษาการตรวจสอบรหัสผ่านซิมการ์ดด้วยเส้นทางรหัส PIN ที่ถูกต้องและไม่ถูกต้อง

ขั้นที่ 2 คือ กำลังโทรออกซึ่งมีผลลัพธ์สองอย่าง คือ การโทรสำเร็จ และ การโทรล้มเหลว

ตัวอย่างการใช้งานการโทร โดยแสดงผลลัพธ์การโทรสำเร็จและการโทรล้มเหลว

การทดสอบโปรโตคอลเป็นไปตามรูปแบบเดียวกัน ดังที่กรณีตัวอย่างนี้แสดงให้เห็น

กรณีศึกษาการทดสอบโปรโตคอลสำหรับระบบมือถือที่อยู่ระหว่างการทดสอบความสอดคล้อง

แม่แบบกรณีทดสอบด้านล่างแสดงวิธีการเขียนกรณีทดสอบสำหรับการทดสอบโปรโตคอล

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

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

คำถามที่พบบ่อย

IEEE, W3C, ETSI และ 3GPP เป็นองค์กรที่ถูกกล่าวถึงบ่อยที่สุด นอกเหนือจาก ISO โดยแต่ละองค์กรจะเผยแพร่ข้อกำหนด และในหลายกรณี จะมีชุดทดสอบอย่างเป็นทางการที่ห้องปฏิบัติการจะดำเนินการก่อนที่จะให้การรับรอง

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

ใช่ สำหรับโค้ดการตรวจสอบและการยืนยันที่ซ้ำซ้อนรอบๆ ชุดทดสอบที่เผยแพร่แล้ว ตัวรันเนอร์ของ Agentic ยังสามารถเรียกใช้ชุดทดสอบซ้ำได้ในทุกๆ การสร้าง แต่เกณฑ์การผ่านต้องมาจากมาตรฐาน ไม่ใช่จากตัวช่วย

หน่วยงานรับรองหรือห้องปฏิบัติการทดสอบที่ได้รับการรับรองจากองค์กรมาตรฐาน ไม่ใช่ทีมพัฒนา ผลลัพธ์ที่ประกาศเองมักจะเรียกว่าคำประกาศความสอดคล้องมากกว่าใบรับรอง

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

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

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

A tracเมทริกซ์ความสามารถที่เชื่อมโยงทุกข้อกำหนดของมาตรฐานเข้ากับกรณีทดสอบ ผลลัพธ์ที่ได้ และคำชี้แจงเกี่ยวกับโปรไฟล์หรือระดับที่อ้างไว้ ผู้ตรวจสอบจะอ่านเอกสารชุดนี้แทนที่จะอ่านตัวโค้ด

สรุปโพสต์นี้ด้วย: