Testing (การทดสอบ)
มัน สมเหตุสมผลมากที่จะมีชุดของ automated functional test เพื่อให้ feedback ที่รวดเร็วเกี่ยวกับคุณภาพของซอฟต์แวร์ของคุณก่อนที่ผู้ใช้จะเห็น และนี่คือสิ่งที่คุณควรทำอย่างแน่นอน ไมโครเซอร์วิสให้ตัวเลือกมากมายในแง่ของประเภทของ test ที่คุณสามารถเขียนได้ อย่างที่เราสำรวจไว้ใน Chapter 9
เมื่อเทียบกับสถาปัตยกรรมประเภทอื่น end-to-end test สามารถเป็นปัญหาโดยเฉพาะสำหรับสถาปัตยกรรมไมโครเซอร์วิส มันอาจมีต้นทุนสูงกว่าในการเขียนและดูแลรักษาสำหรับสถาปัตยกรรมไมโครเซอร์วิส เมื่อเทียบกับสถาปัตยกรรมที่ไม่กระจายตัวและง่ายกว่า และตัว test เองก็อาจมีความล้มเหลวมากขึ้นซึ่งไม่จำเป็นต้องชี้ไปที่ปัญหาในโค้ดของคุณเสมอไป End-to-end test ที่ครอบคลุมหลายทีมท้าทายเป็นพิเศษ
เมื่อเวลาผ่านไป ให้มองหาทางลดการพึ่งพา end-to-end test พิจารณาแทนที่ความพยายามส่วนหนึ่งที่ใส่ลงไปในการทดสอบรูปแบบนี้ด้วย consumer-driven contract, การตรวจสอบความเข้ากันได้ของ schema และการทดสอบใน production กิจกรรมเหล่านี้สามารถส่งมอบผลลัพธ์ได้มีประสิทธิภาพกว่า end-to-end test มากในการจับปัญหาได้อย่างรวดเร็วในระบบที่กระจายตัวมากขึ้น