วงจรชีวิตของการทดสอบที่ดำเนินการโดยใช้สหพันธ์การค้าประกอบด้วยสี่ขั้นตอนที่แยกจากกัน ซึ่งได้รับการออกแบบโดยใช้อินเทอร์เฟซที่กำหนดไว้อย่างเป็นทางการ
อินเทอร์เฟซที่กำหนด
- ผู้ให้บริการบิล ด์ : จัดเตรียมบิลด์เพื่อทดสอบ ดาวน์โหลดไฟล์ที่เหมาะสมหากจำเป็น
- ผู้จัดเตรียมเป้าหมาย : เตรียมสภาพแวดล้อมการทดสอบ ซึ่งอาจรวมถึงการติดตั้งซอฟต์แวร์และการกำหนดค่าอุปกรณ์
- การทดสอบ : ดำเนินการทดสอบและรวบรวมผลการทดสอบ นี่อาจเป็นการทดสอบ JUnit แม้ว่าอินเทอร์เฟซ IRemoteTest ของเราได้รับการออกแบบมาโดยเฉพาะเพื่อให้ทำงานได้ดีในสภาพแวดล้อมของสหพันธ์การค้า
- Test Invocation Listener (การรายงานผลการทดสอบ) : ฟังผลการทดสอบ โดยปกติเพื่อวัตถุประสงค์ในการส่งต่อผลการทดสอบไปยังที่เก็บหรือแสดงให้ Test Runner
เอนทิตีการทดสอบพื้นฐานใน TF คือการ กำหนดค่า (config) การกำหนดค่าคือไฟล์ XML ที่ประกาศองค์ประกอบวงจรชีวิตของการทดสอบ
การแยกวงจรชีวิตของการทดสอบนี้มีวัตถุประสงค์เพื่อให้สามารถนำกลับมาใช้ใหม่ได้ เมื่อใช้การออกแบบนี้ นักพัฒนาสามารถสร้างการทดสอบได้เพียงครั้งเดียว จากนั้น Integrator ก็สามารถสร้างการกำหนดค่าต่างๆ เพื่อเรียกใช้การทดสอบนั้นในสภาพแวดล้อมที่แตกต่างกัน ตัวอย่างเช่น พวกเขาสามารถสร้างการกำหนดค่าที่จะรันการทดสอบบนเครื่องโลคัลและดัมพ์ผลลัพธ์ไปยัง stdout จากนั้นพวกเขาก็สามารถสร้างการกำหนดค่าที่สองที่จะรันการทดสอบเดียวกันนั้น แต่ใช้ Test Invocation Listener อื่นเพื่อเก็บผลการทดสอบไว้ในฐานข้อมูล การกำหนดค่าที่สามอาจได้รับการออกแบบให้ทำการทดสอบอย่างต่อเนื่องจากห้องปฏิบัติการทดสอบบางแห่ง
จะสะดวกที่จะทราบว่าการกำหนดค่าพร้อมกับอาร์กิวเมนต์บรรทัดคำสั่ง (ตามที่ให้โดย Test Runner) เรียกว่า Command เมื่อ TF จับคู่คำสั่งกับ ITestDevice
และรันคำสั่ง ออบเจ็กต์ที่ตามมาจะเรียกว่า Invocation กล่าวโดยย่อ Invocation ครอบคลุมการดำเนินการทดสอบ TF ที่สมบูรณ์ตลอดวงจรชีวิตทั้งหมด
ส่วนประกอบการกำหนดค่าเพิ่มเติม
- การ กู้คืนอุปกรณ์ : กลไกในการกู้คืนการสื่อสารของอุปกรณ์หากสูญหาย
- Logger : รวบรวมข้อมูลการบันทึกการแลกเปลี่ยน
เอาต์พุตสเตจและข้อผิดพลาด
แต่ละขั้นตอนของการร้องขอจะดำเนินการตามลำดับและมีเป้าหมายเฉพาะ ส่วนนี้อธิบายผลลัพธ์ปกติและข้อผิดพลาดของแต่ละขั้นตอน
สร้างผู้ให้บริการ
ขั้นตอนนี้จะสร้างและส่งออกอ็อบเจ็กต์ IBuildInfo
ที่มีไฟล์อ้างอิงที่จำเป็นทั้งหมดเพื่อตั้งค่าและรันการทดสอบ
ข้อผิดพลาดที่พบบ่อยที่สุดในขั้นตอนนี้คือความล้มเหลวในการดาวน์โหลดหรือค้นหาไฟล์ที่ร้องขอ
ข้อผิดพลาดในขั้นตอนนี้ส่งผลให้เกิดการรายงานข้อผิดพลาดโดยตรง และไม่มีการเรียกใช้การทดสอบ
การเตรียมเป้าหมาย
ขั้นตอนนี้ตั้งค่าสถานะที่จำเป็นสำหรับเป้าหมายภายใต้การทดสอบ ขั้นตอนนี้สามารถเปลี่ยนอุปกรณ์หรือการตั้งค่าโฮสต์ได้ตามต้องการสำหรับการเรียกใช้การทดสอบที่กำหนด
ข้อผิดพลาดทั่วไปในขั้นตอนนี้มักเกี่ยวข้องกับความล้มเหลวในการตั้งค่าอุปกรณ์ในสถานะที่กำหนด (เช่น การกะพริบล้มเหลว) และความล้มเหลวในการค้นหาไฟล์ที่จำเป็นสำหรับการตั้งค่า
ข้อผิดพลาดในขั้นตอนนี้ส่งผลให้เป้าหมายการล้างข้อมูลทำงาน การรายงานข้อผิดพลาด และไม่มีการเรียกใช้การทดสอบ
แบบทดสอบ
ขั้นตอนนี้รันการทดสอบที่ร้องขอบนเป้าหมายที่เตรียมไว้ก่อนหน้านี้ และรายงานผลการดำเนินการทดสอบทั้งหมด
ข้อผิดพลาดทั่วไปในขั้นตอนนี้มักเกี่ยวข้องกับเป้าหมายภายใต้การทดสอบที่ไม่พร้อมใช้งานหรือข้อผิดพลาดบางอย่างทำให้เกิดการทดสอบบางส่วน ข้อผิดพลาดเหล่านี้คือปัญหาด้านโครงสร้างพื้นฐานที่ส่งผลต่อการดำเนินการทดสอบ ซึ่งตรงข้ามกับความล้มเหลวของกรณีทดสอบเดียว
ข้อผิดพลาดในขั้นตอนนี้ส่งผลให้การดำเนินการทดสอบหยุดทำงาน เป้าหมายการล้างข้อมูลกำลังทำงาน การรายงานข้อผิดพลาด และรับผลลัพธ์บางส่วน
การรายงานผล
ขั้นตอนนี้รายงานผลลัพธ์และข้อผิดพลาดไปยังบริการที่กำหนดค่าไว้ (เช่น เซิร์ฟเวอร์และไฟล์ในเครื่อง)
แม้ว่าผู้รายงานผลลัพธ์แต่ละคนอาจมีข้อผิดพลาด แต่ก็แยกจากกัน (ผู้รายงานคนหนึ่งไม่เห็นข้อผิดพลาดจากอีกคนหนึ่ง) ข้อผิดพลาดเหล่านี้มีผลกับการรายงานผลลัพธ์ของผู้รายงานแต่ละคนเท่านั้น และสามารถดูข้อผิดพลาดได้ในบันทึก