“เมื่อไหร่จะได้… เทส!!!”

WooGin St
BUILK
Published in
2 min readNov 1, 2018

“เคยเจอเหตุการณ์เหล่านี้ไหม” ถึงเวลาเทสแล้วโปรแกรมเมอร์ยังไม่ส่งมาให้เทส จนต้องพูดกดดันว่า “เมื่อไหร่จะได้… เทส!!!” คำที่เหล่าโปรแกรมเมอร์คุ้นหู จนสุดท้ายไม่มีเวลาพอที่จะเทส ซึ่งจริงๆ แล้วปัญหาเหล่านี้ เราสามารถแก้ไขได้ด้วยการคิดวิเคราะห์อย่างรอบครอบ นั่นก็คือวัฏจักรของการพัฒนาระบบ ที่จะมาเล่าให้ฟังกันในวันนี้

ขอยกตัวอย่างเหตุการณ์สมมุติที่โปรแกรมเมอร์ติดปัญหาของการกะเวลา และเขียนโปรแกรมผิด จึงส่งงานให้เทสช้า เทสเตอร์ ส่วนใหญ่มักจะใช้คำว่า “เมื่อไหร่จะได้… เทส!!!” เพื่อกดดันโปรแกรมเมอร์ เวลาที่ส่งงานช้าาาา… มว๊ากกก!!!

เมื่อถึงช่วงเวลาที่ตกลงกันว่าโปรแกรมจะเสร็จพร้อมเทส

เทสเตอร์ : พี่ครับพี่ ..ถึงไทม์ไลน์ที่ผมจะต้องได้เทสแล้ว โปรแกรมเทสได้แล้วใช่ไหมครับ

โปรแกรมเมอร์ : ยังเลยน้อง พี่กำลังรีบ ขอเวลาสักครึ่งวันนะ

เทสเตอร์ : ห่ะ.. ครึ่งวันเลยหรอครับ แต่นี่ถึงไทม์ไลน์ที่ผมต้องเทสแล้วนะครับ

โปรแกรมเมอร์ : ใช่ๆ ติดปัญหานิดหน่อยอ่ะน้อง รอก่อนนะ

ผ่านไปครึ่งวัน…

เทสเตอร์ : พี่ครับ ถึงเวลาที่พี่บอกแล้ว โปรแกรมเสร็จแล้วใช่มั้ยครับ

โปรแกรมเมอร์ : ใกล้แล้วๆ อีกนิดเดียวนะใกล้เสร็จแล้ว

เทสเตอร์ : โห…พี่ แล้วเมื่อไหร่ผมจะได้เทสอ่ะครับ

โปรแกรมเมอร์ : ใจเย็นๆ นะได้เทสแน่นอน เดี๋ยวทำเสร็จแล้วจะรีบบอกเลย

ผ่านไปอีก 3 ชั่วโมง…

เทสเตอร์ : เมื่อไหร่ผมจะได้เทสครับพี่ (น้ำเสียง ดุดัน)

โปรแกรมเมอร์ : กำลังดีพลอยแล้ว.. ใจเย็นๆ นะ อีกแปปเดียวก็ได้เทสแล้ว

เทสเตอร์ : ชัวร์นะครับพี่ ผมจะไม่มีเวลาเทสแล้ว

ผ่านไปอีกสักพัก…

เทสเตอร์ : เมื่อไหร่ผมจะได้เทสอ่ะครับ.. พรี่ T_T(ทำเสียง จะร้องไห้)

…1 วันต่อมา

โปรแกรมเมอร์ : พี่ส่งให้เราเทสแล้วนะ พี่กะเวลาผิดไปนิดหน่อย แล้วก็มีบางฟังก์ชั่นที่รีควายเม้นไม่ชัดเจนเลยต้องเพิ่มเงื่อนไขใหม่

เทสเตอร์ : ครับๆ เดี๋ยวผมจะรีบเทสเลยคับ..

เมื่อถึงกำหนดส่งงาน

เทสเตอร์ : ยังเทสไม่เสร็จเลยครับ.. แย่แล้ว!!! (คิด.. ให้เดฟช่วยเทสจะทันมั้ย หรือส่งงานไปทั้งๆ แบบนี้เลย)

. . .

เทสเตอร์ : ต้องอยู่เทสเองจนดึกซินะ (…เสียชีวิต!!!)

จากเหตุการณ์ที่ยกตัวอย่างขึ้นมานี้ หากไม่มีการคิดวิเคราะห์และวางแผนการทำงานอย่างรอบครอบ จะก่อให้เกิดปัญหาต่างๆ ตามมา ซึ่งมีผลกระทบต่อระบบและคนที่รับผิดชอบงานด้านนั้นๆ ด้วย

วัฎจักรการพัฒนาระบบ คืออะไร!!?

วัฎจักรการพัฒนาระบบ (System development Life Cycle : SDLC) คือ ขั้นตอนหรือกระบวนการทางความคิดในการพัฒนาระบบ เพื่อแก้ปัญหาทางธุรกิจและตอบสนองความต้องการของผู้ใช้งาน โดยระบบที่พัฒนานั้น อาจจะเริ่มจากการพัฒนาระบบใหม่เลยหรือนำระบบเดิมที่มีอยู่แล้วมาปรับเปลี่ยนให้ดียิ่งขึ้นก็ได้ ซึ่งวัฏจักรของการพัฒนาระบบมีลำดับขั้นตอนวงจรชีวิตที่เหมือนกันตั้งแต่ต้นจนจบ

การพัฒนาระบบที่มีคุณภาพ ประกอบไปด้วยขั้นตอนหลักๆ ดังนี้

1. การวิเคราะห์ (Analysis)

เป็นการตีความ หรือกำหนดเป้าหมายของระบบที่เราจะสร้างขึ้นมา รวมถึงการกำหนดปัญหาต่างๆล่วงหน้า เพื่อป้องกันก่อนที่ปัญหานั้นๆจะเกิดขึ้น

2. การออกแบบ (Design)

เป็นการอธิบายรูปแบบของการทำงานของระบบ รวมถึงแผนผังลำดับโครงสร้างของโปรแกรม เพื่ออธิบายรายละเอียดต่างๆ ให้กับนักพัฒนาในการเขียนโปรเเกรม

3. การเขียนโปรแกรม (Coding)

เป็นการเขียนโปรแกรมเพื่อให้เกิดเป็นรูปเป็นร่างโดยนักพัฒนา ซึ่งโปรแกรมจะต้องสามารถทำงานได้จริงบนอุปกรณ์ต่างๆ นักพัฒนาจะต้องเขียนโปรแกรมให้ออกมาเรียบง่ายไม่ยุ่งยากจนเกินไป และสามารถให้นักพัฒนาคนอื่นนำไปประยุกต์หรือแก้ไขได้

4. การทดสอบ (Testing)

เป็นการทดสอบระบบว่าสามารถทำงานได้ตามที่นักพัฒนาเขียนโปรแกรมไว้ รวมถึงสามารถทำงานได้อย่างถูกต้องตามที่ออกแบบ และการทดสอบนี้เป็นการช่วยหาและลดการเกิดข้อผิดพลาดของระบบที่อาจจะเกิดขึ้นได้ ก่อนที่เราจะนำไปใช้งานจริง

ปล. ขั้นตอนดังกล่าวนี้เป็นเพียงแค่ส่วนหนึ่งของการพัฒนาระบบ ที่ขึ้นอยู่กับมุมมองและการนำเสนอของนักพัฒนาระบบ เพื่อให้สามารถทำงานได้อย่างถูกต้อง และสามารถเพิ่มเติมได้โดยไม่ซับซ้อนในการทำงานของระบบ SDLC

#ผิดพลาดประการใดขออภัยไว้ณที่นี้

--

--