💥ทบทวนศัพท์วิศวะซอฟต์แวร์ DTAP กันดีไหม? ลืมหรือยัง?
เพราะตอนไปทำงานจริง
รับรองจะได้ยิน จะได้เห็น จะได้ไม่ต้องแปลกใจ
.
ปกติการพัฒนาซอฟต์แวร์ให้กับองค์กรต่างๆ (Enterprise)
สามารถแบ่งออกเป็นเฟส (Phase)
.
หลักๆ ก็จะแบ่งเป็น 4 เฟส
ศัพท์วิศวะซอฟต์แวร์
เรียกว่า DTAP ซึ่งย่อมาจาก 4 คำคือ
.
✔ Development
✔ Testing
✔ Acceptance
✔ Production
.
การแยกออกมา 4 แบบนี้
ยึดในมุมมองของการ
☑ Test ซอฟต์แวร์
☑ และการ deploy (เอาซอฟต์แวร์ไปขึ้นระบบ)
.
ด้วยเหตุนี้การพัฒนาซอฟต์แวร์
ก็จะแบ่งออกเป็น 4 environment
คำว่า environment หมายถึงสภาวะแวดล้อมของเครื่องเอาไว้ให้ซอฟต์แวร์มันมาทำงาน
(กินความรวมถึง software กับ hardware)
.
ทั้งนี้ environment ก็จะแยกออกมา 4 เฟส
เพื่อให้สะดวกในการทดสอบ
รวมทั้งการเขียนโปรแกรมด้วย
ดังรายละเอียดต่อไปนี้
.
🤴 1) เฟส Development
โปรแกรมเมอร์จะเข้ามาทำงานเขียนโปรแกรมอยู่ในเฟสนี้
environment ส่วนใหญ่ก็จะใช้ notebook
ซึ่งบริษัทเขาจะให้ยืมเอามาใช้งานเขียนโปรแกรม
จะทำ unit test ก็ช่วงนี้
โปรแกรมเมอร์จะงานหนักก็ช่วงนี้
เจอเร่งงาน โน่นนี้นั้น ก็ช่วงนี้
นอนไม่ได้ ข่มตาไม่หลับก็ช่วงนี้ (แซวเล่น)
.
👶 2) เฟส Testing
ทีม Tester ก็จะเข้ามามีบทบาท
เข้ามาทดสอบระบบในระดับการใช้งานเต็มสูบ
ก็จะมี environment แยกออกมาให้ทดสอบ
ซึ่งการ test ก็จะมีหลายแบบ
.
แต่ที่น่าจะได้ยินบ่อยๆ
ก็คือ SIT ไม่ได้หมายถึงนั่งนะ
แต่ย่อมาจาก "System integration testing"
หมายถึงทดสอบเพื่อเช็คว่าระบบต่างๆ
ว่าสามารถทำงานร่วมกันได้อย่างถูกต้องหรือไม่
.
อีกคำหนึ่งเช่น PEN TEST
ไม่ได้แปลว่า ทดสอบปากกา
แต่ย่อมาจาก "Penetration test"
หมายถึงทดสอบการเจาะระบบ หรือ hacker นั่นแหละ
เป็นการทดสอบความปลอดภัย (security)
.
หรืออย่าง Regression Testing
เป็นการทดสอบระบบใหม่
ในกรณีที่มีการ change ในโค้ด
ก็ต้องทดสอบซ้ำๆ ซากๆ
ดูว่าส่วนที่เปลี่ยนแปลงกระทบกับซอฟต์แวร์นั้นๆ
ทั้งในส่วนของ Functional และ Non-Functional หรือไม่
(พูดง่ายๆ เมื่อเราไปแตะแก้โค้ด ก็ต้องมีการทดสอบซ้ำอีกครั้ง ดูว่าการทำงานซอฟต์แวร์ต่างๆ ฟีเจอร์ต่างๆ ไม่เปลี่ยนไปแปลงไปนะ )
.
และ test แบบอื่นๆ ที่ไม่ได้กล่าวถึง
.
ฝั่งโปรแกรมเมอร์ ก็นั่งรอว่าจะมีงานตีกลับมาให้แก้อะไรหรือไม่ 😅
.
🧒 3. เฟส Acceptance
เฟสนี้จะเป็นการทดสอบของฝั่งลูกค้าเป็นหลัก
มีคำศัพท์เรียกว่า UAT ไม่ใช่ UHT นะ
มันย่อมาจาก "User Acceptance Test"
แปลตรงตัวว่าการทดสอบเพื่อยอมรับของยูสเซอร์ (ลูกค้า)
,
ลูกค้า (customer) หรือคนที่จ้างเราพัฒนาซอฟต์แวร์ให้
เขาจะมาทดสอบระบบเรา
(ปกติก็จะมีคนจากทีมเราไปประกบคอยช่วยเหลือลูกค้า)
.
ในเฟสนี้ก็จะมี environment ให้ลูกค้าทดสอบว่า
ตรงใจ ตรงตามที่ตกลงตอนจ้างงานหรือไม่
.
ถ้าลูกค้าหรือคนจ้างโอเค
เราก็จะโอเค ทุกคนต่างโอเค
ก็จะมีการลงนามอนุมัติ
จากผู้ใช้งานเป็นลายลักษณ์อักษร (UAT Sign Off)
เพื่อนำระบบไปใช้งานจริง
.
ถ้าไม่โอเคก็จะต้องตีกลับไปให้แก้ไขใหม่ 😅
.
🧑 4 เฟส Production
เฟสนี้คือช่วงใช้งานจริง
เป็นการเอาซอฟต์แวร์ขึ้นไปใช้งานจริงๆ
เป็น environment ของจริง
ที่ยูสเซอร์มาใช้จริงๆ
.
เป็นช่วงที่โปรดักงานซอฟต์แวร์ที่สร้างเสร็จแล้ว
ถูกปล่อยออกสู่สายตายูสเซอร์ให้เขาได้ใช้งาน
เล่นจริง เจ็บจริง ไม่ใช้สแตนอิน
ไม่มีการทดสอบอะไรอีกแล้ว
เป็นขั้นสุดท้าย จบกระบวนการพัฒนาซอฟต์แวร์
.
ทีมพัฒนาซอฟต์แวร์อย่างเราๆ
ก็พากันเรียกว่า Go live บ๊ายๆ
ขอให้ยูสเซอร์ทุกท่านโชคดี
.
✍เขียนโดย โปรแกรมเมอร์ไทย thai programmer
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...