วงจรการทดสอบ TF

วงจรการทดสอบที่ดำเนินการโดยใช้ Trade Federation ประกอบด้วย 4 ระยะที่แยกกัน ซึ่งออกแบบมาโดยอิงตามอินเทอร์เฟซที่กําหนดไว้อย่างเป็นทางการ

อินเทอร์เฟซที่กําหนด

  • Build Provider: ระบุบิลด์ที่จะทดสอบ โดยดาวน์โหลดไฟล์ที่เหมาะสมหากจำเป็น
  • Target Preparer: เตรียมสภาพแวดล้อมการทดสอบ ซึ่งอาจรวมถึงการติดตั้งซอฟต์แวร์และการกําหนดค่าอุปกรณ์
  • ทดสอบ: เรียกใช้การทดสอบและรวบรวมผลลัพธ์การทดสอบ ซึ่งอาจเป็นการทดสอบ JUnit ใดก็ได้ แม้ว่าอินเทอร์เฟซ IRemoteTest ของเราได้รับการออกแบบมาโดยเฉพาะให้ทำงานได้ดีในสภาพแวดล้อมของ Trade Federation
  • Test Invocation Listener (การรายงานผลลัพธ์): คอยฟังผลการทดสอบ โดยปกติแล้วเพื่อส่งต่อผลการทดสอบไปยังที่เก็บหรือแสดงผลการทดสอบต่อ Test Runner

เอนทิตีการทดสอบพื้นฐานใน TF คือการกําหนดค่า (config) ไฟล์การกําหนดค่าคือไฟล์ XML ที่ประกาศคอมโพเนนต์วงจรชีวิตของการทดสอบ

การแยกวงจรการทดสอบนี้มีไว้เพื่อให้นํามาใช้ซ้ำได้ การใช้การออกแบบนี้จะช่วยให้นักพัฒนาซอฟต์แวร์สร้างการทดสอบได้เพียงครั้งเดียว จากนั้นผู้ผสานรวมสามารถสร้างการกำหนดค่าต่างๆ เพื่อเรียกใช้การทดสอบนั้นในสภาพแวดล้อมต่างๆ ได้ เช่น อาจสร้างการกําหนดค่าที่จะเรียกใช้การทดสอบในเครื่องและแสดงผลลัพธ์ไปยัง stdout จากนั้นอาจสร้างการกําหนดค่าที่ 2 ที่จะทําการทดสอบเดียวกัน แต่ใช้ Test Invocation Listener อื่นเพื่อจัดเก็บผลการทดสอบไว้ในฐานข้อมูล การกำหนดค่าที่ 3 อาจออกแบบมาเพื่อทำการทดสอบอย่างต่อเนื่องจากห้องทดลองทดสอบที่ใดที่หนึ่ง

โปรดทราบว่าการกําหนดค่าพร้อมกับอาร์กิวเมนต์บรรทัดคําสั่ง (ตามที่ Test Runner ระบุ) เรียกว่าคําสั่ง เมื่อ TF จับคู่คําสั่งกับ ITestDevice และดําเนินการ ออบเจ็กต์ที่ตามมาจะเรียกว่าการเรียกใช้ กล่าวโดยย่อคือ การเรียกใช้จะครอบคลุมการเรียกใช้การทดสอบ TF ทั้งหมดตลอดวงจรการทดสอบ

คอมโพเนนต์การกําหนดค่าเพิ่มเติม

เอาต์พุตและข้อผิดพลาดของระยะ

แต่ละระยะของการเรียกใช้จะทํางานตามลําดับและมีเป้าหมายที่เฉพาะเจาะจง ส่วนนี้จะอธิบายเอาต์พุตและข้อผิดพลาดปกติของแต่ละระยะ

ผู้ให้บริการบิลด์

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

ข้อผิดพลาดที่พบบ่อยที่สุดในขั้นตอนนี้คือ การดาวน์โหลดหรือค้นหาไฟล์ที่ขอไม่สำเร็จ

ข้อผิดพลาดในระยะนี้จะส่งผลให้มีการรายงานข้อผิดพลาดโดยตรงและไม่มีการเรียกใช้การทดสอบ

การเตรียมเป้าหมาย

ระยะนี้ตั้งค่าสถานะที่จําเป็นสําหรับเป้าหมายที่ทดสอบ ระยะนี้สามารถเปลี่ยนแปลงการตั้งค่าอุปกรณ์หรือโฮสต์ได้ตามต้องการสำหรับการเรียกใช้การทดสอบหนึ่งๆ

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

ข้อผิดพลาดในระยะนี้จะทําให้ระบบเรียกใช้การล้างข้อมูลเป้าหมาย รายงานข้อผิดพลาด และไม่มีการเรียกใช้การทดสอบ

การทดสอบ

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

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

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

การรายงานผลลัพธ์

ระยะนี้จะรายงานผลลัพธ์และข้อผิดพลาดไปยังบริการที่กําหนดค่าไว้ (เช่น เซิร์ฟเวอร์และไฟล์ในเครื่อง)

แม้ว่าเครื่องมือรายงานผลแต่ละรายการอาจมีข้อผิดพลาด แต่เครื่องมือเหล่านี้จะแยกจากกัน (เครื่องมือรายงานรายการหนึ่งจะไม่พบข้อผิดพลาดจากเครื่องมือรายงานรายการอื่น) ข้อผิดพลาดเหล่านี้จะส่งผลต่อการรายงานผลลัพธ์ของผู้รายงานแต่ละรายเท่านั้น และดูข้อผิดพลาดได้ในบันทึก