จากรายงานเรื่อง World Quality Report 2015-16 นั้น
ทำให้เราเห็นแนวโน้มรวมทั้งคำแนะนำต่าง ๆ ของ Software Testing ในปี 2016
ดังนั้นจึงทำการสรุปไว้นิดหน่อย
ในปี 2015 ที่ผ่านมานั้นพบว่า มีการนำแนวคิด Agile และ DevOps
เข้ามาประยุกต์ใช้ในองค์กรต่าง ๆ สูงมาก
มีเป้าหมายเพื่อเพิ่มคุณภาพและ Time-to-market ของ product ต่าง ๆ
รวมทั้งยังสามารถรับมือต่อการเปลี่ยนแปลง
และทำการ release ระบบงานได้สะดวก รวดเร็วขึ้น
นั่นแสดงว่าในส่วนของการทดสอบ จำเป็นต้องมี Test Automation หรือ การทดสอบแบบอัตโนมัติจากรายงาน World Quality Report 2015-16 สรุปแนวโน้มของ Software Testing ไว้ดังนี้
1. มีการลงทุนสูงขึ้นอย่างต่อเนื่อง !!
2. แนวคิดและแนวปฏิบัติเรื่อง Agile + DevOps เข้ามามีบทบาทสูงขึ้นมาก
นั่นหมายถึง delivery time หรือเวลาในการส่งมอบ product จะสั้นหรือเร็วมากขึ้น และ product ยังต้องมีคุณภาพในระดับสูง ดังนั้นจำเป็นต้องนำการทดสอบในระดับต่าง ๆ มาไว้ในกระบวนการเสมอ ทั้ง Developer testing และ Customer testingนั่นหมายความว่า Agile + Agile Testing + DevOps เป็นสิ่งที่ต้องอยู่ร่วมกัน หรือถูกหล่อหลอมให้เป็นเรื่องเดียวกัน และ มีเป้าหมายเดียวกัน นั่นคือ ส่งมอบงานที่มีคุณภาพได้อย่างรวดเร็ว และ บ่อย ๆ เพื่อให้สามารถแข่งขันในตลาดได้
3. Security testing เป็นเรื่องที่ขาดไปไม่ได้เลย
ในปัจจุบันข้อมูลต่าง ๆ เกิดขึ้นเยอะ และ เร็วมาก ๆ รวมทั้งคนเราบริโภค หรือ เสพข้อมูลกันเยอะและง่ายมาก ๆ ดังนั้นเรื่อง Security Testing หรือ การทดสอบความปลอดภัยจึงมีความสำคัญอย่างมาก เพื่อทำการควบคุมและตรวจสอบข้อมูล รวมทั้งดูว่าข้อมูลเหล่านั้นทำให้เกิดความเสี่ยง หรืออาจจะส่งผลร้ายต่อระบบหรือไม่ ? หรืออาจจะถูกโจมตีจากภายนอกได้หรือไม่ ? ตัวอย่างเช่น การ review code ด้วยเครื่องมือวิเคราะห์ source code รวมทั้งการทำ penetrating testing อีกด้วย4. Mobile Testing มันจำเป็นมาก ๆ และ ต้องเน้นเป็นพิเศษ
Mobile ได้กลายมาเป็นส่วนหลักของตลาดไปแล้ว ดูได้จากจำนวนผู้ใช้งาน ดูได้จากจำนวน App ที่มีให้ download ดูได้จาก roadmap ต่าง ๆ ของแต่ละองค์กร หลาย ๆ องค์กรมีนโยบาย Mobile First ไปแล้ว ดูได้จากความต้องการ Mobile developer ทั้ง Android และ iOS แต่การทดสอบระบบบน Mobile กลับยังไม่ดีเท่าที่ควร หรือบางที่ยังทำการทดสอบแบบ manual เป็นหลัก !! ซึ่งขัดแย้งต่อ Time-to-maket อย่างมาก รวมทั้ง Mobile app จะต้องทำการ release บ่อยกว่า web application เยอะมาก ดังนั้นมันจึงเป็นความท้าทายอย่างมาก ว่าเราจะทดสอบ Mobile Testing กันอย่างไร ? เพื่อตอบสนองความต้องการทั้งเรื่องของคุณภาพและ Time-to-market !! รวมไปถึงเรื่อง Security Testing สำหรับ mobile ด้วย การทดสอบ Mobile App มีเยอะมาก ๆ ทั้ง Unit testing ทั้ง Integration testing ทั้ง UI testing ทั้ง Regression testing ทั้ง Security testing ทั้ง Performance testing5. Test Automation หรือ การทดสอบแบบอัตโนมัติ
การทดสอบระบบงานแบบอัตโนมัติเป็นหัวใจของ Continuous Delivery เนื่องจากขั้นตอนการทำงานมันเปลี่ยนไป- ตอบรับต่อการเปลี่ยนแปลงได้เร็วไหม ?
- ทำงานเป็นรอบสั้น !!
- ต้องค้นหาและดักจับข้อผิดพลาดต่าง ๆ ได้อย่างรวดเร็ว
แต่เรากลับพบว่า มีผู้เชี่ยวชาญเรื่องนี้น้อยมาก ๆ ทั้ง Developer, Tester !! มันจึงเป็นความท้าทายในปี 2016 อย่างมาก
โดยสรุปแล้วเราควรเน้นในเรื่องต่าง ๆ ดังนี้
- Security testing เป็นสิ่งที่จำเป็นต้องมีและต้องทำงานแบบอัตโนมัติ
- เน้นในเรื่องคุณภาพที่ส่งผลต่อลูกค้าเป็นหลัก เนื่องจากไม่ค่อยให้ความสำคัญกันมากนัก
- ปรับเปลี่ยนขั้นตอนการทำงานใหม่ นั่นคือนำแนวคิด Agile และ DevOps มาประยุกต์ใช้กันมากขึ้น
- ปรับปรุงการทดสอบ เพื่อให้มีคุณภาพและ Time-to-market
- การทดสอบต้องเป็นแบบ Continuous Testing นั่นคือต้องทดสอบกันอยู่ตลอดเวลา
- ต้องทำการปรับปรุงความสามารถของคน ทั้งการทดสอบ การพัฒนา และ release เพื่อทำให้เกิด Test Automation ขึ้นมา