ทีมหนึ่งเคยส่งบอร์ดพร้อมตราประทับ “ผ่านการทดสอบเชิงฟังก์ชัน” เพราะบูตโหลดเดอร์พิมพ์ป้าย UART เป็นมิตร ข้อความตรงกัน, อุปกรณ์ไฟเขียว, และตารางเวลาดูไม่น่ากลัว จากนั้นหน่วยแรกเริ่มกลับมาพร้อมรีเซ็ตสุ่ม—ประมาณ 6% ความล้มเหลวในช่วงต้นในไม่กี่พันชิ้น—ในช่วงที่ผลิตภัณฑ์ต้องการความน่าเชื่อถือ บนโต๊ะ, บอร์ดดูเหมือนจะดีจนกว่าจะเกิดกิจกรรมจริง: การส่ง BLE burst ดึงพลังงานและแสดงให้เห็นว่ามีการ sag ของ rail 1.8 V บน scope การวัด สาเหตุหลักไม่ได้เป็นพฤติกรรมเฟิร์มแวร์ลึกลับ มันเป็นความเป็นจริงของการประกอบ: ตัวเหนี่ยวนำที่ถูกแทนที่ด้วยเครื่องหมายบนสุดคล้ายกันแต่พฤติกรรมการอิ่มตัวต่างกัน พร้อมกับการทดสอบที่ไม่เคยทดสอบ rail
การหลบหนีนี้ไม่ใช่แค่ความผิดพลาดทางเทคนิคเท่านั้น แต่เป็นความล้มเหลวทางสังคมที่สวมชุดเทคนิค เมื่อรายงานกล่าวว่า “ผ่านการทำงาน” คนอื่นได้ยินว่า “คุณสมบัติได้รับการรับรอง” และองค์กรเริ่มทำการตัดสินใจส่งสินค้าโดยใช้แผนที่เท็จ
ฟังก์ชันไม่ใช่คำพ้องความหมายของ “มันพิมพ์อะไรบางอย่าง”
ขอบเขตแรก: การทดสอบที่ผิดพลาดโดยบังเอิญยังคงผิดพลาดอยู่
เมื่อเฟิร์มแวร์ล่าช้าหรือไม่เสถียร การทดสอบเบื้องต้นจำเป็นต้องทำตัวเหมือนสิ่งที่มันเป็น: ตัวตรวจจับข้อบกพร่องของการประกอบและฐานข้อมูลฮาร์ดแวร์ การเรียกมันว่า “ฟังก์ชัน” เป็นวิธีที่ทีมโดยบังเอิญรับรองพฤติกรรมที่พวกเขาไม่เคยทดสอบ
นี่คือกับดักป้าย “การทดสอบฟังก์ชัน” คนหนึ่งพูดว่า “เราต้องการการทดสอบฟังก์ชันโดยไม่มีเฟิร์มแวร์” และสิ่งที่พวกเขามักหมายถึงคือ “เราต้องการวิธีที่จะให้สายการผลิตดำเนินต่อไปโดยไม่เปลี่ยนโรงงานเป็นห้องทดลองเฟิร์มแวร์” นั่นเป็นเป้าหมายที่แตกต่างกัน คำพูดแรกชวนให้เกิดการรับรองแบบ PASS/FAIL อย่างหยาบๆ คำพูดที่สองชวนให้ทำการทดสอบที่มีขอบเขตพร้อมคำอ้างสิทธิ์และคำอ้างสิทธิ์ที่ชัดเจน ซึ่งช่วยป้องกันการโต้เถียงในรีวิวการสร้าง นอกจากนี้ยังทำให้แดชบอร์ดซื่อสัตย์เมื่อผู้นำถามถึงอัตราการผ่านและใครบางคนพยายามเทียบ automation กับคุณภาพ
เพื่อป้องกันการเบี่ยงเบนของขอบเขต บังคับให้ทุกแผนการทดสอบเบื้องต้นตอบคำถามสองข้อเป็นลายลักษณ์อักษร: ข้อบกพร่องใดที่นี่จับได้ และพฤติกรรมของผลิตภัณฑ์ใดที่นี่รับรอง ไม่ รับรอง บางทีมทำเป็นเอกสารการลงนามแบบสองคอลัมน์ในระหว่างการส่งมอบ DVT ถึง PVT เพราะความจำไม่สามารถอยู่รอดภายใต้แรงกดดันของตารางเวลา
| หมวดหมู่ | การทดสอบสามารถอ้างสิทธิ์นี้ได้ | การทดสอบต้องไม่อ้างสิทธิ์นี้ |
|---|---|---|
| การคัดกรองการประกอบล่วงหน้า | ตรวจจับข้อบกพร่องในการประกอบที่สอดคล้องกับการวัดที่กำหนด (ราง/นาฬิกา/รีเซ็ต/ความต่อเนื่อง/ความจริงเชิงอนาล็อกหนึ่งหรือสอง) | รับรองคุณสมบัติที่มองเห็นได้ของลูกค้า, ประสิทธิภาพในสภาพต่าง ๆ, ความปลอดภัย/การปฏิบัติตามข้อกำหนด, หรือ “ทำงาน” ในความหมายกว้าง |
| ช่วยด้วยเฟิร์มแวร์ในภายหลัง | ตรวจสอบพฤติกรรมเฉพาะที่เชื่อมโยงกับภาพทดสอบและความต้องการที่สามารถทำซ้ำได้และการติดตามข้อกำหนด | หมายความว่ามีการครอบคลุมอยู่นอกเหนือจากแฟล็กคุณสมบัติที่เปิดใช้งานหรืออยู่นอกเงื่อนไขการทดสอบ |
ผู้ชมมืออาชีพไม่จำเป็นต้องมีคำจำกัดความของ JTAG, SWD, UART, I2C หรือ SPI ที่นี่ งานที่มีประโยชน์คือการตัดสินใจว่าสามารถวัดได้อย่างแน่นอนในวันนี้ และวิธีที่การวัดเหล่านั้นถูกตั้งชื่อและดำเนินต่อไปเพื่อไม่ให้ใครใช้เป็นอาวุธในไฟเขียว
ฐานข้อมูล Measurement-First: ราง, จากนั้นนาฬิกา/รีเซ็ต, แล้วความจริงเชิงอนาล็อกหนึ่ง
ฐานข้อมูลแรกไม่หมายถึงการเพิ่ม “การทดสอบมากขึ้น” มันหมายถึงการสร้างชุดของสิ่งที่ไม่เปลี่ยนแปลงเล็กน้อย—โดยปกติ 5 ถึง 8 ชิ้น—ที่บอร์ดต้องปฏิบัติตามก่อนที่อาการของเฟิร์มแวร์ใด ๆ จะคุ้มค่าที่จะถกเถียง รางและนาฬิกาเป็นสิ่งที่ไม่เปลี่ยนแปลงแบบคลาสสิกเพราะเป็นเงื่อนไขเบื้องต้นสำหรับทุกอย่าง และยากที่จะโต้แย้งเมื่อจับบนเครื่องมือแทนในล็อก
สิ่งนี้ปรากฏในรูปแบบ “ข้ออ้างเฟิร์มแวร์ล่าช้าที่ซ่อนปัญหาเกี่ยวกับนาฬิกา” ในกรณีหนึ่ง บอร์ดบูตได้บางครั้งและค้างในบางครั้ง และ “เฟิร์มแวร์ไม่เสถียร” กลายเป็นคำอธิบายเริ่มต้น การแก้ไขเริ่มต้นด้วยการกำจัดความแปรปรวน: ทำซ้ำการทดลองเดียวกันใน 50 รอบของการเปิดเครื่อง จับเวลาการเริ่มต้นและรีเซ็ตของตัวสั่นสะเทือน และหยุดการถือว่าบันทึกข้อมูลที่ไม่สอดคล้องกันเป็นหลักฐาน แหล่งนาฬิกามีการเริ่มต้นที่ขอบเขตในสภาพเย็นเนื่องจากการเลือกตัวเก็บประจุโหลดที่ “ใกล้เคียงพอ” บนกระดาษ เมื่อวัดและแก้ไขแล้ว เฟิร์มแวร์ก็หยุดดูเหมือนจะไม่เสถียร ชัยชนะไม่ได้อยู่ที่รูปแบบล็อกที่ดีกว่า แต่เป็นคลื่นและวินัยในการทำซ้ำ
ความสำคัญอันดับแรกของฐานข้อมูลคือรางไฟฟ้า เพราะถ้ารางไฟฟ้าไม่ถูกต้อง อาการอื่น ๆ ก็จะเป็นเท็จ นั่นหมายถึงการวัดมากกว่า “บูตได้แสดงว่าพลังงานดี” มันหมายถึงแรงดันไฟฟ้าปกติของราง การลำดับตาม Enable และ Reset, การสั่นสะเทือน/เสียงรบกวนด้วยแบนด์วิดธ์ที่รู้จักและเทคนิคการใช้หัววัดที่ดี และความเครียดที่ตั้งใจทำให้ใกล้เคียงกับ transient ที่เลวร้ายที่สุด ตัวอย่างเช่น scope ซีรีส์ Tektronix MDO3000 และแหล่งจ่ายไฟเชิงโต๊ะอย่าง Keysight E36313A สามารถทำสิ่งเหล่านี้ได้โดยไม่ต้องพิธีรีตรอง และ DMM ที่เทียบเท่าเช่น Fluke 87V ก็จับความเท็จได้อย่างรวดเร็ว
เรื่องราว “ตราประทับ PASS ที่เสียค่าใช้จ่ายเพียงหนึ่งในสี่” เป็นเหตุผลที่ดีที่จะถือว่าการตอบสนองโหลดชั่วคราวเป็นสิ่งที่ไม่สามารถละเว้นได้ การเปรียบเทียบแบนเนอร์ UART สามารถผ่านได้บนรางไฟฟ้าขอบเขตต่ำเพราะการบูตเป็นเหตุการณ์ที่มีความเครียดต่ำเมื่อเทียบกับวิทยุ มอเตอร์ หรือเซ็นเซอร์ที่ดึงกระแสเป็นช่วง ๆ การโหลดสคริปต์ 10 วินาที หรือขั้นตอนซ้ำได้ใด ๆ ที่ประมาณ transient กระแสจริง เป็นวิธีที่ถูกในการล้าง Inductor ที่แทนที่ Capacitor ที่ผิดค่า หรือ regulator ที่แทบจะเสถียร โดยไม่มีความเครียดนั้น การทดสอบจะตรวจสอบเพียงว่าบอร์ดเงียบเท่านั้น ไม่ได้หมายความว่ามันแข็งแรง
ในจุดนี้กับดักการสแกน I2C มักปรากฏขึ้น: “การสแกน I2C ของเราแสดงอุปกรณ์ดังนั้นฮาร์ดแวร์จึงดี” การนับจำนวนยังสามารถผ่านได้แม้จะมีค่าดึงขึ้นผิดพลาด รางไฟฟ้าขอบเขตต่ำที่จ่ายให้กับ level shifter การเชื่อมต่อเย็นที่เปิดในสั่นสะเทือน หรือ clock ที่เริ่มต้นช้าเกินไปจนทำให้การจับเวลาเสียหาย มันก็สามารถผ่านได้ในขณะที่อ้างอิงอนาล็อกไม่ได้มาตรฐาน เพราะการสื่อสารดิจิทัลยังคงสมบูรณ์แบบจนกว่าการวัดจะเบี่ยงเบนในสนาม การสแกน I2C เป็นการตรวจสอบเบื้องต้นที่มีประโยชน์ แต่ไม่ใช่หลักฐานของฐานพลังงานและการจับเวลาที่เสถียร
ฐานข้อมูลที่ตั้งใจให้รอดจากการเปลี่ยนแปลงเฟิร์มแวร์ต้องมีอย่างน้อยหนึ่งตัวอย่างเกณฑ์ที่ชัดเจน เพราะความคลุมเครือคือวิธีที่ “การวัด” กลายเป็นความรู้สึก ตัวอย่าง ไม่ใช่กฎสากล: ราง 1.8 V อาจต้องอยู่ในช่วง ±5% สถานะคงที่ และภายใต้โหลดที่กำหนด (เช่น การประมาณการระเบิดของวิทยุที่คาดหวัง) การลดลงอาจถูกจำกัดไว้ที่ <100 mV พร้อมการฟื้นตัวภายในหน้าต่างสั้น ๆ หน้าต่างนั้นอาจเป็นน้อยกว่ามิลลิวินาทีหรือหลายมิลลิวินาทีขึ้นอยู่กับ regulator, โปรไฟล์โหลด, และ IC ที่ตามมาสามารถรับได้ ขอบเขตความไม่แน่นอนนี้สำคัญ: ค่าขีดจำกัด ripple และ droop ขึ้นอยู่กับการชดเชย regulator เฉพาะ, แบนด์วิดธ์ของการตรวจจับ, พื้นที่วงจรของหัววัด, และรูปร่าง transient จริง วิธีที่ทำให้ขีดจำกัดซื่อสัตย์คือการตรวจสอบบนยูนิตทองคำและบนยูนิตที่รู้ว่ามีปัญหา (หรือข้อผิดพลาดที่สร้างขึ้น) เพื่อยืนยันว่าการวัดสามารถแยกแยะระหว่าง “แข็งแรง” และ “ใกล้จะสร้างคิว RMA” ได้
ฐานรากควรรวมชุดทดสอบอนาล็อกขนาดเล็กบนบอร์ดสัญญาณผสมด้วย เพราะการข้ามอนาล็อกคือวิธีที่ทีมส่งมอบความล้มเหลวที่ “ใช้งานได้บนโต๊ะทดลองของฉัน” ความล้มเหลวแบบคลาสสิกนั้นละเอียดอ่อนและมีราคาแพง: อินเทอร์เฟซดิจิทัลสมบูรณ์แบบ ค่าดูเหมือนสมเหตุสมผลที่อุณหภูมิห้อง แล้วการอ่านค่าจากสนามก็เบี่ยงเบนไปตามอุณหภูมิหรือการเปลี่ยนแปลงของแหล่งจ่ายไฟ ในโปรแกรมเซ็นเซอร์หนึ่ง สาเหตุคือการทดแทนที่ขาดแคลน: อ้างอิง 2.048 V ที่ใส่เข้าไปด้วยเกรดความทนทานผิด ตัวอักษรในหมายเลขชิ้นส่วนต่างกันหนึ่งตัว Firmware พยายามกลบเกลื่อนการเบี่ยงเบนด้วยตารางการชดเชย จนกว่าจะมีคนวัดพินอ้างอิงและดูการแจกจ่ายรหัส ADC ด้วยอินพุตคงที่ การแก้ไขคือการควบคุม BOM และการวัดอ้างอิงเดียวในช่วงทดสอบเบื้องต้นด้วยเกณฑ์ที่เข้มงวดพอที่จะจับการทดแทน การสอบเทียบไม่สามารถแก้ไขกลุ่มชิ้นส่วนที่สลับกันได้ มันเพียงตกแต่งความล้มเหลวจนกว่ามันจะหลบหนี
นาฬิกาและการรีเซ็ตสมควรมีตำแหน่งฐานรากด้วยเหตุผลเดียวกับรางไฟ: พวกมันสร้างความเท็จถ้าพวกมันอยู่ในระดับขอบเขต พฤติกรรมง่ายๆ—จับเวลาการปล่อยรีเซ็ตและการเริ่มต้นของตัวสัญญาณนาฬิกาในรอบพลังงานหลายสิบรอบ—เปลี่ยน “การแขวนแบบสุ่ม” ให้เป็นระบบที่สามารถทำซ้ำได้ มันยังช่วยป้องกันทีมที่อยู่ในโซนเวลาต่างกันไม่ให้กลายเป็นการโต้แย้งใน Slack เกี่ยวกับใครทำอะไรพังในช่วงกลางคืน
พิสูจน์อุปกรณ์ก่อนตำหนิบอร์ด (วินัย Golden-First)
ความล้มเหลวเป็นช่วงๆ มักมีต้นกำเนิดจากกลไก และอุปกรณ์ทดสอบการผลิตเป็นระบบกลไกที่มีผลกระทบทางไฟฟ้า การถือผลลัพธ์ของอุปกรณ์เป็นความจริงพื้นฐานโดยไม่พิสูจน์ว่าอุปกรณ์เป็นวิธีที่ทีมเปลืองเวลาไปกับการแก้ไขซ้ำซ้อนที่ไม่มีโอกาสช่วยเหลือ
อุปกรณ์ทดสอบแบบเตียงตะปูเคยเริ่มล้มเหลวในบอร์ดที่เคยผ่านการทดสอบบนโต๊ะ ผลที่แสดงไม่สม่ำเสมอ ซึ่งทำให้ “ความไม่เสถียรของเฟิร์มแวร์” เป็นแพะรับบาปง่ายที่สุด การเคลื่อนไหวที่รวดเร็วที่สุดคือการรันบอร์ดทองคำที่รู้ว่าดีผ่านอุปกรณ์ทดสอบและเปรียบเทียบความต้านทานการสัมผัสผ่านพินโพโก้ บอร์ดทองก็ล้มเหลวเช่นกัน ซึ่งทันทีที่เปลี่ยนความผิดไปจากการออกแบบและไปยังโครงสร้างทดสอบ สาเหตุไม่ซับซ้อน: ตัวเชื่อมต่อในอุปกรณ์ทดสอบอยู่นอกช่วงความทนทาน ทำให้การจัดตำแหน่งเปลี่ยนไปจนพินโพโก้สองตัวแตะกันแทบไม่ติด เปลี่ยนตัวเชื่อมต่อ แล้วรูปแบบความล้มเหลวก็หายไป หลังจากนั้น ขั้นตอนการทดสอบอุปกรณ์เองก็กลายเป็นสิ่งที่ไม่สามารถต่อรองได้
ใช้ต้นไม้การตัดสินใจนี้เพื่อป้องกันความวุ่นวายช่วงต้น:
- ถ้าหน่วยทองคำล้มเหลวบนอุปกรณ์ทดสอบ: หยุดสัมผัส DUTs ตรวจสอบความต้านทานการสัมผัสของพินโพโก้ การจัดตำแหน่งตัวเชื่อมต่อ สถานะการสอบเทียบเครื่องมือ และการเดินสายของอุปกรณ์ทดสอบก่อนการดีบักระดับบอร์ดใดๆ
- ถ้าหน่วยทองผ่านแต่ DUT ล้มเหลว: ดำเนินการวินิจฉัยบอร์ดโดยใช้การวัดฐานราก บันทึกหมายเลขซีเรียล การแก้ไขบอร์ด ID ของอุปกรณ์ทดสอบ และสภาพแวดล้อม เพื่อเปรียบเทียบความล้มเหลว ไม่ใช่จำลองซ้ำจากความทรงจำ
วลี “ความล้มเหลวแบบสุ่มบนอุปกรณ์ทดสอบ” ควรถูกมองว่าเป็นคำขอพิสูจน์อุปกรณ์ทดสอบ ไม่ใช่คำขอให้ดูบันทึกเฟิร์มแวร์เพียงอย่างเดียว พฤติกรรมเดียวนี้เปลี่ยนโทนเสียงของการดีบักข้ามไซต์ในช่วงดึก เพราะมันทำให้ขอบเขตการค้นหากว้างขึ้นทันที
ครอบคลุมชั้นของ Defect-Class: บันได Fault-Model ขนาดเล็กชนะ “ชุดทดสอบครบถ้วน” โรงละคร
กลยุทธ์การทดสอบในช่วงต้นที่มีประสิทธิผลไม่ใช่รายการตรวจสอบที่ยาวที่สุด แต่เป็นรายการที่จับคลาสความผิดพลาดที่เป็นไปได้มากที่สุดด้วยการวัดที่เชื่อถือได้ราคาถูกที่สุด พร้อมทั้งทำให้การเลื่อนออกไปเป็นเรื่องชัดเจนเพื่อไม่ให้ถูกซุกซ่อนในตราประทับสีเขียว
บันไดโมเดลข้อผิดพลาดเริ่มจากการนับกลุ่มความผิดพลาดที่ปรากฏจริงในบิลด์ตามสัญญา: การเปิด, การลัดวงจร, ชิ้นส่วนผิด, ทิศทางผิด, ชิ้นส่วนขาด, สะพานบัดกรี, และการจัดตำแหน่งกลไกผิด จากนั้นจึงแมปแต่ละกลุ่มไปยังวิธีการตรวจจับที่ไม่ต้องการเฟิร์มแวร์แอปพลิเคชันที่เสถียร: AOI สำหรับการวางตำแหน่งและความผิดพลาดด้านขั้ว, การตรวจสอบความต่อเนื่องเมื่อสามารถเข้าถึงได้, ลายเซ็นรางและการตอบสนองโหลดสำหรับการแทนที่และการขาดพาสซีฟ, และการสแกนขอบเขตเมื่อสายและการเข้าถึงเป็นจริง ค่าของบันไดไม่ใช่การครอบคลุมทางทฤษฎี แต่เป็นความสามารถในการพูดออกมาและเขียนว่า “การทดสอบนี้จับการเปิด/ลัดวงจรบนเน็ตเหล่านี้ แต่ไม่ได้รับรองคุณสมบัติ X”
สิ่งนี้ยังแก้ปัญาความกดดันในการ “ทำให้การทดสอบการผลิตเป็นอัตโนมัติเต็มรูปแบบตอนนี้” การทำให้อัตโนมัติไม่ใช่ความก้าวหน้า หากมันทำให้เกิดเสียงรบกวน การพิสูจน์ความสามารถซ้ำของอุปกรณ์ทดสอบ การกำหนดค่าคงที่ และการเลือกการทดสอบกลุ่มความผิดพลาดที่จะยังคงมีความหมายเหมือนเดิมในสัปดาห์หน้า คือความก้าวหน้า ทุกอย่างอื่นเป็นละครบนแดชบอร์ด
การเลื่อนออกไปต้องมีเส้นป้องกัน เพราะผู้คนมองว่า “ไม่ได้ทดสอบ” เท่ากับความละเลย การกรอบความคิดที่ดีกว่าคือการที่การเลื่อนออกไปเป็นการตัดสินใจเสี่ยงโดยเจตนา: เลื่อนออกไปเพราะการเข้าถึงขาด, เพราะเฟิร์มแวร์มีความผันผวนสูง, หรือเพราะกลุ่มความผิดพลาดหาได้ยากเมื่อเทียบกับตารางเวลาและบริบทการสร้างในปัจจุบัน จุดประสงค์คือหยุดไม่ให้การเลื่อนออกไปกลายเป็นการอ้างสิทธิ์โดยนัย
Boundary-Scan: หลักฐานเชิงกำหนด, เมื่อฮาร์ดแวร์อนุญาตให้ทำ
การสแกนขอบเขตเป็นเครื่องมือที่ไม่หวือหวาที่สุดและมีอำนาจสูงสุดในสถานการณ์นี้ เพราะสามารถให้การครอบคลุมแบบแน่นอนสำหรับการเปิดและลัดวงจรบนชิ้นส่วนพินละเอียดโดยไม่ต้องใช้เฟิร์มแวร์แอปพลิเคชัน มันยังลดการถกเถียงลง ถ้าสายสามารถทำการทดสอบการเชื่อมต่อและเน็ตแสดงการเปิด ก็ไม่มีการโต้แย้งว่า การปรับจังหวะเฟิร์มแวร์จะเป็นการแก้ไข
ในกรณีหนึ่งที่มีความล้มเหลวของบัสเป็นระยะ ๆ ตัววิเคราะห์ตรรกะราคาถูกทำให้บัสดู “เกือบจะดี” ซึ่งช่วยให้ความผิดพลาดมุ่งไปที่การตั้งเวลาเฟิร์มแวร์ การทดสอบเชื่อมต่อ boundary-scan แยกการเปิดบนพินที่อยู่ที่อยู่ BGA — ซึ่งน่าจะเป็นการเชื่อมต่อเย็น — โดยไม่ต้องรอข้อมูลบันทึกเพิ่มเติมหรือโค้ดเพิ่มเติม ซึ่งช่วยหลีกเลี่ยงวงจรการทำงานซ่อมแซมด้วยรังสีเอกซ์ที่มีราคาแพงและเปลี่ยนการซ่อมแซมให้เป็นการดำเนินการเป้าหมายพร้อมการตรวจสอบเชิงปริมาณ การประสานงานระหว่าง Everett และทีม CM ในปีนังกลายเป็นเรื่องง่ายขึ้นเพราะหลักฐานเป็นเชิงกำหนด
การตรวจสอบความเป็นจริงมีความสำคัญ: boundary-scan ใช้งานได้เฉพาะเมื่อการเข้าถึงเป็นจริง การออกแบบความต่อเนื่องของสายต้องถูกวางแผนไว้ BSDL ต้องใช้งานได้ดี การดึงขึ้นและการเชื่อมต่อควรเป็นไปอย่างสมเหตุสมผล และการตั้งค่าความปลอดภัยไม่ใช่ “ปัญหาภายหลัง” — การเข้าถึงดีบักที่ฟิวส์แล้วเป็นข้อจำกัดที่เข้มงวด คำขอที่หวังไว้ทั่วไปคือ “สามารถทดสอบทุกอย่างด้วย boundary scan ได้ไหม” มักจะคู่กับ “ไม่มีแผ่นทดสอบแต่ก็ยังควรทำได้” คำตอบที่ซื่อสัตย์คือความเป็นไปได้ขึ้นอยู่กับการเข้าถึงสายคุณภาพของ BSDL และสถานะการล็อคดาวน์; การสัญญาเปอร์เซ็นต์การครอบคลุมโดยไม่มีข้อมูลเหล่านี้เป็นวิธีที่แผนการทดสอบกลายเป็นนิยาย
การประนีประนอมเชิงปฏิบัติที่ช่วยให้ทีมไม่หมุนวนคือการทดลอง boundary-scan บนบอร์ดหนึ่งโดยใช้การเข้าถึงอุปกรณ์และชุดเครื่องมือที่ตั้งใจไว้ (ชุด Corelis/Asset/Keysight เป็นที่นิยมในโรงงาน) หากใช้งานได้ ก็สามารถแทนที่การถกเถียงกันหลายวันในการวิเคราะห์ความล้มเหลวในอนาคต หากไม่ใช้งานได้ แผนควรเปลี่ยนกลับไปใช้ราง สัญญาณนาฬิกา รีเซ็ต และชุดลายเซ็นอนาล็อกขนาดเล็ก — สิ่งที่ยังสามารถวัดได้ผ่านตัวเชื่อมต่อและแผ่นปะ
สายรัดที่รอดชีวิต: ตอนนี้น้อยที่สุด, ลึกขึ้นในภายหลัง
การทดสอบเบื้องต้นมักล้มเหลวเพราะเปราะบาง ไม่มีเอกสาร หรือผูกติดกับเครื่องมือของคนเดียว การใช้สายรัดขั้นต่ำที่ยังคงอยู่ได้อย่างน่าเบื่อคือ: ตัววิ่ง, แผนที่พินเฉพาะบอร์ด, การตั้งค่าขีดจำกัด และการบันทึกข้อมูลที่ทำให้การรันซ้ำเปรียบเทียบได้
แบบแผนที่คงอยู่ผ่านการเขียนใหม่ของเฟิร์มแวร์หลายครั้งคือสายรัดสามชั้น: การแสดงภาพการกระตุ้น/การวัด (ไดรเวอร์เครื่องมือผ่านสิ่งที่คล้าย pyvisa หรือชั้น DAQ), แผนที่บอร์ด (มักเป็น YAML pin map ก็เพียงพอแล้ว), และกรณีทดสอบที่ยังคงเป็นเชิงกำหนด การบันทึกข้อมูลเป็น CSV ที่ใช้หมายเลขซีเรียลเป็นกุญแจอาจเพียงพอในช่วงต้น ตราบใดที่เมตาดาต้าถูกควบคุมอย่างเข้มงวด: เวอร์ชันบอร์ด, รหัสอุปกรณ์, สภาพแวดล้อม, และเวอร์ชันภาพทดสอบเมื่อเกี่ยวข้องกับเฟิร์มแวร์ ตัวเลือกภาษา (Python กับ LabVIEW กับสภาพแวดล้อมของผู้ขาย) มีความสำคัญน้อยกว่าขอบเขตโมดูลาร์ VI ของ LabVIEW ที่เป็นโมโนลิธิกซึ่งสามารถแก้ไขได้โดยคนเดียวกลายเป็นความเสี่ยงด้านบุคลากรมากกว่ากลยุทธ์การทดสอบ
ยังมีความไม่แน่นอนที่ละเอียดอ่อนซึ่งอยู่ในบทสนทนาเกี่ยวกับสายรัด: ลายเซ็นโปรไฟล์กระแสไฟฟ้า พวกมันมีพลังเมื่อสถานะเฟิร์มแวร์เสถียร เมื่อเฟิร์มแวร์เปลี่ยนแปลงทุกวัน ขีดจำกัดกระแสควรถือเป็นการตรวจจับแนวโน้ม/ความผิดปกติ ไม่ใช่การผ่าน/ล้มเหลวที่แน่นอน เว้นแต่ทีมจะสามารถล็อกรูปภาพทดสอบเวอร์ชันพร้อมกับแฟลกคุณสมบัติที่ควบคุมได้และความสามารถในการทำซ้ำ
จุดส่งมอบเป็นเรื่องง่าย: การทดสอบเบื้องต้นสามารถขยายข้ออ้างของตนได้เมื่อเฟิร์มแวร์เติบโตขึ้น แต่ต้องให้สายรัดรักษาชั้นการวัดให้เชื่อถือได้และชื่อเสียงยังคงซื่อสัตย์ การคัดกรองเบื้องต้นช่วยลดการหลุดรอดของการประกอบ แต่ไม่ได้รับรองพฤติกรรมของผลิตภัณฑ์
