สายงานสุดฮอต ตัวตึงสุดๆกันแบบตะโกนไม่แพ้สาย Dev นักพัฒนาซอฟต์แวร์เลยคืองาน Quality Assurance หรือ QA นั่นเอง หลายๆคนที่สนใจสายงานนี้อาจศึกษามาคร่าวๆแล้วว่าพื้นฐาน QA นั้นต้องทำอะไรบ้าง แต่ Job Skills เดือนนี้พิเศษไปกว่านั้น เราจะไปเจาะลึกงาน Technical QA หรือ QA Ops ที่ไม่ได้ร่วมอยู่ในทีมงาน Squad ในการ Delivery Project แต่เป็นศูนย์กลางยานแม่ในการสนับสนุน QA ที่ไปประจำการอยู่ในทีม Squad ต่างๆ อีกที โดยรายละเอียดแบบเจาะลึกตามไปอ่านจากบทสัมภาณ์ของ คุณเน๊ต Technical Test Manager ที่ให้เกียรติมาช่วยเติมเต็มภาพจิ๊กซอว์ให้คอมพลีตสมบูรณ์ขึ้นไปอีกขั้นได้เลย รับรองว่าอ่านจบมีความรู้ไปต่อยอดพร้อมสมัครงานสาย QA ได้แบบสบายๆแน่นอน
ก่อนอื่นช่วยแนะนำตัวเองให้นิดนะคะ
สวัสดีครับ ชื่อเน็ตครับ ปัจจุบันเป็น Technical Test Manager หน่วยงาน QA ครับ เริ่มต้นการทำงานในสายงาน Developer ในหลายบริษัทเริ่มตั้งแต่ Siamguru, AIS และ Thompson Reuters รวมๆแล้วก็มากกว่า 10 ปี โดยลักษณะงานที่ทำมาก็มีตั้งแต่ พัฒนาเว็บไซต์ต่างๆรวมไปถึงระบบ Core backend จากนั้นก็เปลี่ยนมาทำสาย QA ที่ Ascend แล้วก็ต่อด้วย SCB จนมาเป็น SCB TechX ทุกวันนี้ครับ
สายงาน QA จริงๆแล้วต่างจาก QC อย่างไรหรือคะ? แล้วมีความสำคัญกับ Project อย่างไรบ้าง?
โดยภาพรวมแล้วขอบเขตของงาน QA มีความครอบคลุมมากกว่า QC ครับ โดยงาน QC หลักๆแล้วจะหมายถึงการทดสอบและควบคุม ทำให้ Product ที่พัฒนาออกมาสามารถทำงานได้ถูกต้องตรงตามที่ออกแบบไว้ แต่ QA จะต้องมองภาพใหญ่กว่านั้น โดยจะต้องเริ่มกระบวนการตั้งแต่เริ่มต้นไปจนจบ Project เลยไม่ได้โฟกัสไปที่ตัว End Product เท่านั้น แต่ต้องคิดไปถึงกระบวนการ วิธีการ ขั้นตอนต่างๆ รวมไปถึงเลือกใช้เครื่องมือหรือ Framework ที่เหมาะสมเพื่อช่วยควบคุม ป้องกัน และลดข้อผิดพลาดต่างๆที่อาจเกิดขึ้นในขั้นตอนของการทดสอบด้วย โดยสรุปแล้ว QC จะมุ่งไปที่ตัว Product แต่ QA จะมองไปที่ Process มากกว่าครับ งานของ QA จึงเป็นงานที่มีความสำคัญกับ Project เป็นอย่างมาก เพราะคุณภาพที่เราพูดถึงกันนั้นไม่ได้มีขอบเขตแค่ซอฟต์แวร์ทำงานได้ถูกต้อง ไม่มีข้อผิดพลาดเท่านั้น แต่รวมไปถึงส่วนของ Non-Functional เช่น ความเสถียร ประสิทธิภาพ และความปลอดภัยของระบบด้วยครับ เพราะถึงแม้ Product จะมี Feature มากมายแค่ไหน แต่หากทำงานได้ช้าหรือไม่มีความปลอดภัย ก็คงจะเป็น product ที่ไม่น่าใช้ครับ
ลักษณะงานของคุณเน็ตต้องทำงานอะไรบ้างคะ?
ลักษณะของ QA โดยทั่วไปจะทำงานอยู่ในทีม Squad ของแต่ละ Product โดยจะทำงานร่วมกับทีมตั้งแต่แรกเริ่มไปจนจบในแต่ละ Release เลย ขั้นตอนการทำงานคร่าวๆก็มีตั้งแต่ ทำความเข้าใจ Requirements เข้าใจ Design ออกแบบ Test Case เขียน Test Script ทำการทดสอบ และ สรุปผลโดยการออก Test Report อย่างไรก็ตามในแต่ละ Sprint งานของ QA จะมีค่อนข้างเยอะพอสมควร เมื่อเกิดปัญหาในเชิงเทคนิคกับเครื่องมือ หรือ Framework ที่ใช้ก็อาจไม่มีเวลาพอที่จะทำการแก้ไขหรือปรับปรุงให้ดีขึ้น ตรงจุดนี้ จึงทำให้เกิด QA ขึ้นมาอีกกลุ่ม ที่เข้ามาช่วยซัพพอร์ต ก็คืองานที่ทีมผมกำลังทำอยู่ครับ การทำงานในส่วนนี้เรียกว่า Technical QA ครับ หรืออาจจะรู้จักกันในชื่อ QA Ops ก็ได้ โดย QA ในส่วนนี้จะไม่ต้องเข้าร่วมอยู่ในทีม Squad ต่างๆ แต่จะทำหน้าที่เป็น Service Pool ตรงกลาง คอยซัพพอร์ต QA ในทีม Squad หน้าที่หลักๆคือ ให้คำแนะนำและแก้ไขปัญหาเชิงเทคนิค สร้าง Testing Pipeline ที่คอยสนับสนุนกระบวนการทดสอบตั้งแต่สร้าง Test Case ไปจนถึง ออก Test Report ศึกษาเทคโนโลยีใหม่ๆและจัดเทรนนิ่งเพื่อเพิ่มทักษะให้กับ QA Squad ช่วยทำ Automated Script ในส่วน Backlog ที่ค้างอยู่ของทีมต่างๆ นอกจากนี้ยังรวมไปถึงการทำ Performance Test ด้วยครับ
ชอบอะไรในงาน QA และมีความท้าทายอย่างไรบ้าง?
ตอนเริ่มทำงานเป็นนักพัฒนาใหม่ๆ ผมรู้สึกสนุกกับการเขียนโค้ดมากครับ รู้สึกดีที่สามารถทำให้ Application ต่างๆ ทำงานตามที่เราต้องการได้ แต่พอมาทำงาน QA ผมพบว่ามันทำให้ขอบเขตการทำงานของเรากว้างขึ้น ต้องมองภาพใหญ่ขึ้น ไม่ได้โฟกัสแต่ตัว Product อย่างเดียวเท่านั้น นอกจากนี้งานในส่วน Technical QA นี้มีความเป็นอิสระสูงมากครับ งานจะไม่ได้ทำแบบเดิมๆทุกๆวัน แต่ละวันจะเจอปัญหาใหม่ๆเข้ามาให้แก้ไข ทำให้มีโอกาสพัฒนาทักษะในหลายๆด้าน และถึงแม้จะเป็นงาน Testing แต่ยังคงต้องใช้ทักษะการเขียนโค้ดในการสร้างเครื่องมือต่างๆ ขึ้นมาใช้งาน ยกตัวอย่างเช่นปัจจุบันเรามีเครื่องมือที่พัฒนาขึ้นมาเองเพื่อใช้ในการ Import หรือ Export และ ออก Report ที่ซัพพอร์ต Test Framework มากกว่า 10 ตัว โดยรวมแล้วงานมีความสนุก ไม่จำเจ และได้ความรู้ใหม่ๆตลอดเวลาครับ
ชอบอะไรในงาน QA และมีความท้าทายอย่างไรบ้าง?
ปัจจุบันงานในสาย QA เปลี่ยนไปจากแต่ก่อนมากครับ นอกจาก QA จะต้องสามารถทำความเข้าใจการทำงานของระบบและมองหาจุดที่จะทำการทดสอบได้แล้วนั้น การทำ Automated Test ทำให้ QA จำเป็นต้องมีทักษะในการเขียนโค้ดได้ในระดับนึงด้วย ไม่จำเป็นต้องเขียนโค้ดได้เท่ากับนักพัฒนา หรือ Dev แต่ควรจะสามารถเขียน Script สั้นๆได้ นอกจากนี้ควรมีพื้นฐานความรู้ในการทำ Automated Test Framework บ้างจะดีมากครับ น้องๆสามารถฝึกฝนได้ด้วยตนเองโดยอาจจะเริ่มต้นจาก Robot Framework ก็ได้เพราะสามารถเอาไปต่อยอดกับ Framework อื่นๆได้ง่าย แต่สิ่งเหล่านี้สามารถพัฒนาเพิ่มเติมภายหลังได้ครับ สิ่งสำคัญคือถ้าน้องๆมีความสนใจในงาน QA มีความมุ่งมั่นตั้งใจเรียนรู้อย่างเต็มที่แล้ว งาน QA จะไม่ได้ยากเกินความสามารถและน้องๆจะสามารถก้าวหน้าในสายงานนี้ได้แน่นอนครับ พวกพี่ๆพร้อมจะเปิดโอกาสให้น้องๆได้มาลองทำดูครับ
เส้นทางการทำงานของ QA สามารถต่อยอดไปทำอะไรต่อได้บ้างหรือคะ?
คุณภาพของ Product เป็นเรื่องของทุกคนในทีมต้องช่วยกัน ซึ่งกระบวนการทำงานตลอดทั้งโปรเจคมีเรื่องของคุณภาพเข้าไปเกี่ยวข้องด้วยทั้งสิ้น QA เป็นเหมือนคนที่มีหน้าที่สนับสนุนทีมในด้านนี้ ทำให้งานของ QA เกี่ยวข้องกับทุกๆ Role ตั้งแต่ PO, PM, Developer ไปจนถึง Deployment Engineer เมื่อต้องทำงานร่วมกันทำให้ QA มองเห็นงานในภาพกว้างและมีความเข้าใจการทำงานในแต่ละ role เป็นอย่างดี ข้อได้เปรียบของ QA อย่างหนึ่งคือ การทำงานจะช่วยฝึกให้มี Mindset ในการสนใจภาพรวมของ Product เป็นอย่างมาก ไม่ได้สนใจแค่ว่าจบ Testing Phase แล้วงานจะจบ สิ่งนี้จะเป็นประโยชน์ทำให้สามารถต่อยอดไปทำงานในส่วนอื่นๆได้ ถ้ามีความสนใจในส่วน Business ก็อาจจะไปเป็น BA,PO ได้ ถ้าสนใจเรื่องการจัดการก็ไปเป็น PM ได้ หรือหากสนใจด้าน Technical ก็สามารถไปเป็น SA ได้ครับ
นอกเหนือจากเรื่องงานแล้ว ไลฟสไตล์ของคนทำงานสาย QA เป็นอย่างไรบ้างคะ ช่วยเล่าให้ฟังนิดค่ะ
โดยส่วนใหญ่ QA มักจะเป็นสายเฮฮาปาร์ตี้ครับ 555 เนื่องจากต้องทำงานร่วมกับคนหลายๆส่วนงานทำให้มักจะมีมนุษย์สัมพันธ์ดีระดับนึง อาจจะเพื่อความราบรื่นในการทำงาน (ฮา) นอกเหนือจากเวลางานก็น่าจะเหมือนกับคนสาย IT และ GenY, GenZ ทั่วๆไป เช่น เล่นเกม ท่องเที่ยว ถ่ายรูป ดื่มน้ำ(??) โดยรวมเวลาทำงานเราก็จริงจัง เวลาเล่นเราก็เต็มที่ครับ