QA

เมื่อวานหลัง Meetup ไปกินเบียร์ต่อแล้วมีคนเปิดประเด็นประมาณว่า ถ้าเรามี QA แล้วที่คอยทดสอบเคสต่างๆ ให้เรายังจำเป็นต้องมี Unit Test อีกหรือป่าว ถ้ามีหน้าที่มันต่างกันยังไง เรามีแค่ Unit Test ได้มั้ย บังเอิญว่าพึ่งต้องคิดเรื่องนี้กับที่ทำอยู่พอดีเลยเขียนไว้หน่อย แต่เมื่อคืนก็ตอบไปแล้วหละ

Unit Test ต่างจากการที่ QA ทำการทดสอบระบบยังไง, ส่วนตัวแยกตรงนี้ออกเป็นสองส่วนคือคนที่รู้ว่าระบบทำงานยังไงอย่างดี (White Box) กับคนที่รู้แค่ขอบเขตของสิ่งที่ต้องการ และผลลัพธ์ที่อยากได้ (Black Box) อย่างแรกสุดยังคงเป็นหน้าที่ของ Programmer ที่ต้องคอยทำไว้ หน้าที่หลักๆ White Box ส่วนใหญ่แล้วจะมีประโยชน์กับ Programmer กันเองมากกว่า เพื่อที่เวลาแก้โค้ดแล้วไม่ต้องกังวลว่าสิ่งที่เคยทำไปแล้ว จะกระทบหรือ รู้ว่าตอนนี้เราทำงานถึงไหนแล้ว ปัญหาเขียน code พวกนี้สิ่งที่เราสนใจและมองเห็นจะแคบลงเรื่อยๆ จนเหลือเท่าที่เราทำผ่านมาเท่านั้น แม้ requirement จะเขียนไว้ละเอียดยังไง ก็รับรองได้ว่าจะมีจุดที่เราไม่ได้คาดคิดไว้เสมอ ตรงนี้เลยเป็นหน้าที่ของ QA ที่ยังไม่ได้มองเข้ามาลึกแบบ Programmer ทั้งหลายมามองว่าระบบมีอะไรต้องทำเพิ่มบ้าง หรือเราทำพลาดไปบ้างอีกที

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

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

ส่วนตัวก็มีความเห็นเรื่อง QA แค่นี้แหละ เพราะไม่ได้ทำงานตรงส่วนนี้ตรงๆ เคยไปเล่น Selenium กับ Load test นิดหน่อยแค่นั้น แถมเดี๋ยวนี้จริงๆ มี Pentest อีกเรียกว่านับวันจะยิ่งซับซ้อนขึ้นเรื่องๆ ถ้ามี Meetup ด้านนี้บ้างบางทีก็อยากเข้าไปฟังบ้างเลยหละว่าทำงานกันยังไงบ้าง แต่ตอนนี้คงได้แค่ออกความเห็นผิวๆ แค่นี้แหละ