2
ตัวอย่างการทดสอบหน่วยที่ดีสำหรับนักพัฒนา C ฝังตัว [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันจะพูดคุยกับแผนกของฉันในสัปดาห์หน้าเกี่ยวกับการทดสอบหน่วยและการพัฒนาที่เน้นการทดสอบ เป็นส่วนหนึ่งของเรื่องนี้ฉันจะแสดงตัวอย่างจริงจากรหัสบางอย่างที่ฉันเขียนเมื่อเร็ว ๆ นี้ แต่ฉันยังต้องการแสดงตัวอย่างง่ายๆที่ฉันจะเขียนในการพูดคุย ฉันค้นหาตัวอย่างที่ดีจากเว็บ แต่ฉันพยายามหาสิ่งที่เหมาะสมกับการพัฒนาของเราโดยเฉพาะ ซอฟต์แวร์เกือบทั้งหมดที่เราเขียนนั้นเป็นระบบควบคุมฝังตัวลึกที่ทำงานบนไมโครคอนโทรลเลอร์ขนาดเล็ก มีรหัส C จำนวนมากที่ใช้งานได้ง่ายกับการทดสอบหน่วย (ฉันจะพูดถึงการทดสอบหน่วยบนพีซีแทนที่จะเป็นเป้าหมายเอง) ตราบใดที่คุณยังไม่ชัดเจนในเลเยอร์ 'ก้น': สิ่งที่พูดถึงโดยตรง ไปยังอุปกรณ์ต่อพ่วงไมโครคอนโทรลเลอร์ อย่างไรก็ตามตัวอย่างส่วนใหญ่ที่ฉันพบมักใช้การประมวลผลแบบสตริง (เช่นตัวอย่างตัวเลข Dive Into Python เลขโรมันที่ยอดเยี่ยม) และเนื่องจากเราแทบจะไม่เคยใช้สตริงสิ่งนี้จึงไม่เหมาะ (เกี่ยวกับฟังก์ชันไลบรารีเท่านั้นโดยทั่วไปแล้วโค้ดของเราใช้ มีmemcpy, memcmpและmemset,strcat หรือนิพจน์ทั่วไปไม่ถูกต้อง) ดังนั้นในคำถาม: ทุกคนสามารถเสนอตัวอย่างที่ดีของฟังก์ชั่นที่ฉันสามารถใช้เพื่อสาธิตการทดสอบหน่วยในเซสชั่นสดได้หรือไม่? คำตอบที่ดีในความเห็น (อาจมีการเปลี่ยนแปลง) ของฉันอาจจะ: ฟังก์ชั่นที่เรียบง่ายพอที่ทุกคน (แม้กระทั่งผู้ที่เขียนโค้ดเป็นครั้งคราว) สามารถเข้าใจได้ ฟังก์ชั่นที่ไม่ปรากฏว่าไม่มีจุดหมาย (เช่นการทำพาริตีหรือซีอาร์ซีน่าจะดีกว่าฟังก์ชั่นที่คูณสองตัวเลขด้วยกันและเพิ่มค่าคงที่แบบสุ่ม); ฟังก์ชั่นที่สั้นพอที่จะเขียนต่อหน้าผู้คน (ฉันอาจใช้ประโยชน์จากคลิปบอร์ดมากมายของ …