วงจรชีวิตการทดสอบ TF

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

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

  • ผู้ให้บริการบิล ด์ : จัดเตรียมบิลด์เพื่อทดสอบ ดาวน์โหลดไฟล์ที่เหมาะสมหากจำเป็น
  • ผู้จัดเตรียมเป้าหมาย : เตรียมสภาพแวดล้อมการทดสอบ ซึ่งอาจรวมถึงการติดตั้งซอฟต์แวร์และการกำหนดค่าอุปกรณ์
  • การทดสอบ : ดำเนินการทดสอบและรวบรวมผลการทดสอบ นี่อาจเป็นการทดสอบ 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 ที่มีไฟล์อ้างอิงที่จำเป็นทั้งหมดเพื่อตั้งค่าและรันการทดสอบ

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

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

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

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

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

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

แบบทดสอบ

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

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

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

การรายงานผล

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

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