ใช่คุณควรทดสอบเหตุการณ์ทั้งหมดเป็นหน่วย ดังนั้นในตัวอย่างของคุณด้วยโพรซีเดอร์ที่แทรกลงในตารางและทำให้ทริกเกอร์หลายตัวเริ่มต้นคุณควรเขียนการทดสอบหน่วยที่ประเมินโพรซีเดอร์สำหรับอินพุตต่างๆ การทดสอบแต่ละหน่วยควรผ่านหรือล้มเหลวขึ้นอยู่กับว่ามันคืนค่าที่ถูกต้องเปลี่ยนสถานะของตารางอย่างถูกต้องสร้างอีเมลที่ถูกต้องและยังส่งแพ็กเก็ตเครือข่ายที่ถูกต้องถ้ามันถูกออกแบบมาเพื่อทำสิ่งนั้น ในระยะสั้นทุกผลกระทบหน่วยควรมีการตรวจสอบ
คุณถูกต้องว่าการออกแบบการทดสอบหน่วยใช้งานบางอย่าง แต่งานส่วนใหญ่จะต้องทำเพื่อทดสอบหน่วยด้วยตนเองคุณเพียงแค่บันทึกงานที่ต้องใช้ในการทดสอบหน่วยเพื่อที่ว่าเมื่อมีการเปลี่ยนแปลงในอนาคตการทดสอบ สามารถเป็นได้อย่างทั่วถึงและง่ายขึ้น
การเปลี่ยนแปลงข้อมูลทำให้การทดสอบยากขึ้น แต่ก็ไม่ได้ทำให้การทดสอบมีความสำคัญน้อยลงและจริง ๆ แล้วเพิ่มมูลค่าของการทดสอบหน่วยเนื่องจากปัญหาส่วนใหญ่จะต้องคิดเพียงครั้งเดียวมากกว่าทุกครั้งที่มีการเปลี่ยนแปลงหน่วยการเรียนรู้ ชุดข้อมูลที่ถูกบันทึกแทรก / อัปเดต / ลบที่เป็นส่วนหนึ่งของการตั้งค่า / การลดระดับและการดำเนินการที่ จำกัด ขอบเขตสามารถนำมาใช้เพื่อให้ง่ายขึ้น เนื่องจากคำถามไม่ได้เจาะจงเฉพาะฐานข้อมูลรายละเอียดจะแตกต่างกันไป
ไม่มีเกณฑ์ความซับซ้อนในระดับสูงหรือต่ำที่ควรหยุดคุณจากการทดสอบหรือการทดสอบหน่วย ลองพิจารณาคำถามเหล่านี้:
- คุณมักจะเขียนรหัสปราศจากข้อบกพร่องหรือไม่?
- หน่วยเล็ก ๆ มีข้อบกพร่องอยู่เสมอหรือไม่?
- เป็นเรื่องปกติไหมที่ยูนิตขนาดใหญ่จะมีปัญหา?
- มีข้อบกพร่องกี่ข้อในการทำให้เกิดภัยพิบัติ
สมมติว่าคุณเริ่มงานใหม่และได้รับมอบหมายให้ทำการเพิ่มประสิทธิภาพให้กับฟังก์ชั่นขนาดเล็กที่ใช้ในหลาย ๆ สถานที่ แอปพลิเคชันทั้งหมดเขียนและดูแลโดยพนักงานที่ไม่มีใครจำได้ หน่วยมีเอกสารอธิบายพฤติกรรมที่คาดหวังตามปกติ แต่มีเพียงเล็กน้อยเท่านั้น คุณอยากจะหาข้อใดจากข้อใด
- ไม่มีหน่วยทดสอบใด ๆ ในแอปพลิเคชัน หลังจากทำการเปลี่ยนแปลงคุณสามารถทำการทดสอบด้วยตนเองกับตัวเครื่องเพื่อให้แน่ใจว่ามันยังคงส่งคืนค่าที่คาดหวังในเอกสารประกอบ จากนั้นคุณสามารถแผ่ออกไปสู่การผลิตข้ามนิ้วของคุณและหวังว่ามันจะทำงานได้ (หลังจากทั้งหมดคุณมักจะเขียนรหัสข้อผิดพลาดฟรีและการเพิ่มประสิทธิภาพในหนึ่งหน่วยจะไม่ส่งผลกระทบต่ออีก) หรือใช้เวลาจำนวนมาก ทำงานได้เพื่อให้คุณสามารถทดสอบทุกหน่วยด้วยตนเองไม่ว่าโดยตรงหรือโดยอ้อม
- ทดสอบหน่วยตลอดทั้งแอปพลิเคชันที่รันโดยอัตโนมัติทุกวันหรือตามต้องการ พวกเขาตรวจสอบไม่เพียง แต่ค่าอินพุตปกติและการตอบสนองที่คาดหวัง แต่ยังรวมถึงค่าที่ผิดปกติและข้อยกเว้นที่คาดว่าจะได้รับ คุณทำการเปลี่ยนแปลงและเรียกใช้ชุดทดสอบหน่วยสำหรับแอปพลิเคชันทันทีที่เห็นว่าอีกสามหน่วยไม่ส่งคืนผลลัพธ์ที่คาดหวังอีกต่อไป สองอย่างนั้นไม่เป็นพิษเป็นภัยดังนั้นคุณปรับแต่งการทดสอบหน่วยเพื่ออธิบายสิ่งนั้น ที่สามต้องปรับแต่งอีกเล็กน้อยและการทดสอบหน่วยใหม่ขนาดเล็ก หลังจากทำการเปลี่ยนแปลงชุดการทดสอบทั้งหมดจะสำเร็จและคุณจะทำการเปลี่ยนแปลงด้วยความมั่นใจ