Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

เตรียมความพร้อมกับ DevTestOps กันหรือยัง ?

$
0
0

a-dev-test-ops

a-dev-test-ops ในปัจจุบันคำว่า DevOps (Development + Operation) นั้น ถูกพูด และ นำไปใช้งานกันอย่างมากมายสำหรับการพัฒนา software เพื่อทำให้การพัฒนา software เป็นไปอย่างรวดเร็ว และมีคุณภาพ ให้ตามความต้องการของผู้ใช้งานที่เปลี่ยนแปลงรวดเร็วอย่างมาก เป็นสาเหตุว่าทำไม ต้องมีระบบ Continuous Integration เช่น Jenkins, Bamboo เป็นต้น ต้องมีเครื่องมือพวก Infrastructure as Code เช่น Puppet และ Chef เป็นต้น ต้องมีเครื่องมือเกี่ยวกับ Release Automation หมายความว่า การพัฒนา software กำลังหาแนวทางและกระบวนการใหม่ ๆ เพื่อให้สนองตอบความต้องการของทาง business และ ลูกค้า ให้ได้ดี และ รวดเร็วที่สุด (Quality and Fast)

แต่ปัญหาในการพัฒนา software นั้น ไม่ใช่มีเพียงทีม Development และ Operation เท่านั้น !!

ยังมีปัญหากับทีม Testing/QA อีกด้วย แน่นอนว่ามันจึงเกิด 3 กลุ่มที่แยกออกจากกัน ส่งผลให้เกิดปัญหามากมายตามมา แต่จะขาดส่วนใดส่วนหนึ่งไม่ได้เลย แสดงดังรูป devtestops

ในความเป็นจริงแล้ว เรามักจะขาดเรื่องของ Quality กันไป

ถึงแม้จะนำแนวคิด DevOps มาประยุกต์ใช้เแล้วก็ตาม บ่อยครั้งจะพบว่า กระบวนการทดสอบจะอยู่ในช่วงท้ายของการพัฒนา ซึ่งเป็นสิ่งที่ไม่ถูกต้อง และทำการทดสอบแบบ manual เสียส่วนใหญ่อีก !! ดังนั้น เราควรปรับปลี่ยนกระบวนการพัฒนา ด้วยการนำการทดสอบไปไว้ในทุก ๆ ส่วนของการพัฒนา หรือใช้แนวคิด Test-First มาใช้ นั่นคือ คิดก่อนสิว่า จะทดสอบแต่ละส่วน แต่ละ feature กันอย่างไร ก่อนที่จะเริ่มพัฒนา จากนั้นจึงหาเครื่องมือมาช่วย ที่สำคัญการทดสอบควรจะทำงานแบบอัตโนมัติให้ได้มากที่สุดเท่าที่จะเป็นไปได้ ปล. การทดสอบไม่ใช่เพียงแค่ทดสอบในระดับ code เท่านั้น ควรทำการทดสอบในระดับ requirement ควรทำการทดสอบในระดับ infrastructure ควรทำการทดสอบในระดับ system หรือ end-to-end ควรทำการทดสอบ performance ของระบบโดยรวม
บางครั้งเราอาจจะต้องเปลี่ยนจากคำว่า DevOps ไปเป็น DevTestOps ก็เป็นได้ เรื่องคุณภาพในการพัฒนา software นั้น มันต่อรองไม่ได้นะครับ
สำหรับ Developer ความสามารถทั้งสามก็เป็นสิ่งที่ขาดไม่ได้เช่นเดียวกัน !!

Viewing all articles
Browse latest Browse all 1997

Trending Articles