เบื้องหลังของตำแหน่ง QA ที่เป็นมากกว่าแค่การหา Bug

Jongsamorn Setthapramote
Life@LINE MAN Wongnai
4 min readFeb 19, 2020

--

Wongnai” หลายคนคงคุ้นเคยกับชื่อนี้ และเชื่อว่าเกือบทุกคนที่รู้จักจะมีแอพ Wongnai อยู่บนจอสมาร์ทโฟนของตัวเอง หรืออาจจะเคยเข้าหน้า Website อย่าง Wongnai.com เพื่อค้นหาร้านอาหาร

บางคนอาจจะสงสัยว่า Wongnai มีระบบการทำงานกันอย่างไร เราจะใช้โอกาสนี้มาเล่าให้ฟังเกี่ยวกับการทำงานของตำแหน่งหนึ่งในบริษัทแห่งนี้ค่ะ

สวัสดีค่ะ เราชื่อเออฟ (อ่านว่า เอิ๊ฟ) ทำงานในตำแหน่ง Quality Assurance Engineer ที่ Wongnai มาเกือบ 2 ปีแล้ว เลยอยากจะแชร์ประสบการณ์ด้านการทำงานที่ Wongnai ว่า QA ที่นี่ เราทำงานกันอย่างไร

QA คืออะไรสำหรับ Wongnai

ก่อนอื่นอยากให้ทุกคนเข้าใจก่อนว่าตำแหน่งนี้คืออะไร

เพราะบางคนอาจจะสงสัยหรือยังไม่รู้ว่า QA นั้นย่อมาจากคำว่าอะไร

QA ย่อมาจากคำว่า “Quality Assurance” ซึ่งมันก็แปลตรงตัวอยู่แล้วว่า

Quality = คุณภาพ

Assurance = การรับรอง

หน้าที่หลักของเราก็คือการทำให้ Feature ใหม่ๆ ของแอพที่กำลังจะปล่อยออกไปนั้นมีคุณภาพมากที่สุด และจะต้องมี Bug* น้อยที่สุด หรือถ้าเป็นไปได้ควรจะไม่มี Bug เลย

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

อ้างอิงจาก Wikipedia

Wongnai เราทำงานกันแบบ Squad

Squad คือทีมที่รวมคนจากหลายทีมเพื่อทำให้เป้าหมายที่มีร่วมกันประสบความสำเร็จ โดยคุณสมบัติสำคัญของ Squad คือต้องมีความสามารถในการจบงานได้ภายใน Squad เอง ไม่พึ่งพา resource จากภายนอกใดๆ หรืออาจจะเปรียบเทียบเหมือนบริษัทย่อยในบริษัทที่คอย contribute ผลงานให้บริษัทใหญ่อีกทีหนึ่งก็ได้

ถ้าเพื่อนๆ อยากรู้จักคำว่า Squad ให้มากขึ้น สามารถไปอ่านบทความ บริษัทใหญ่ขึ้นแต่เราไม่ช้าลง — Wongnai กับทีมแบบ Cross-functional (Squad) ได้เลยค่ะ

QA เราจะทำงานร่วมกับ Squad โดยเราจะอยู่ทุกๆ ขั้นตอน ตั้งแต่ต้นจนจบ ดังนั้นก็หมายความว่าเราค่อนข้างที่จะต้องพบปะผู้คนมากมายพอสมควร ไม่ว่าจะเป็น User, AE, Admin, Operator, Project Manager, UX, Developer และอีกมากมาย

ได้คอยดูแล Support ทุกคนในทีม ทำให้การทำงานในทุกๆ วัน เราก็รู้สึกสนุกและไม่เบื่อเลย แถมยังได้ฝึก Skill ในการสื่อสารไปด้วยในตัว จากที่เราได้พบปะพูดคุยกับผู้คนจากหลากหลายทีม

ตลอดระยะเวลาเกือบ 2 ปีที่ผ่านมา การเป็น QA อยู่ที่ Wongnai มีความท้าทายในการทำงานมาก แล้วก็รู้สึกว่าได้เรียนรู้อะไรมากขึ้น เพราะการที่ได้เขียน Automate ทั้ง Web และ Mobile ทำให้เราได้เขียนโค้ดโดยใช้หลากหลายภาษา

สำหรับเครื่องมือกับภาษาที่ใช้ในการทำ Automation Testing ที่ Wongnai คือ

  1. Puppeteer สำหรับ Web ภาษาที่ใช้คือ JavaScript
  2. XCUITest สำหรับ iOS ภาษาที่ใช้คือ Swift
  3. Espresso สำหรับ Android ภาษาที่ใช้คือ Kotlin

ทำงานที่นี่ Skill การ Coding เพิ่มขึ้นแน่นอน ที่สำคัญ ต้องขอขอบคุณทีม Developer ด้วยที่คอยช่วยเหลือและให้ความร่วมมือเป็นอย่างดี

เห็นมั้ยว่า Developer ที่ Wongnai น่ารัก รับรองว่าจะมีความสุขมากถ้าได้มาทำงานด้วย

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

พูดได้ว่าสำหรับที่ Wongnai แล้ว QA มีบทบาทอยู่ในทุกๆ ขั้นตอนของการสร้าง Product หรือ Feature เพราะเราจะต้องเริ่มทำตั้งแต่

  • เก็บ Requirement จาก User ที่ใช้งานจริง
  • Planning (Brainstorm กับ Team)ในการคิด Scope และวางแผนสำหรับ Feature นั้นๆ
  • เขียน Test Spec ที่เราต้องการร่วมกับ Developer
  • หลังจากที่ Developer ทำงานเสร็จ ไม้ต่อไปก็คือ QA อย่างเราจะเริ่ม Test ตามที่เราได้เขียน Test Spec ไว้
  • ถ้าการทำงานไม่ถูกต้องเราจะต้อง Reject งานกลับไปให้ Developer จนกว่า Flow ของการทำงานและ Design ทั้งหมด จะต้องถูกต้องตาม Requirement ที่ได้รับ
  • เมื่อทุกอย่างถูกต้องแล้ว Feature นั้นก็จะถูกปล่อยออกไปใช้งานจริง

ซึ่งมีการ Test ทั้งแบบ Manual และ Automate ถ้าหากว่ามี Bug ตอนที่ทำการ Test QA อย่างเราก็พร้อมจะ Reject ไปให้ Developer แก้ทันที โดยที่ Feature เหล่านั้นจะไม่ถูกปล่อยออกไปจนกว่าทุกอย่างจะถูกต้องตาม Requirement (ถ้า QA ทักหรือเดินไปหา Developer คนไหน ทุกคนจะต้องหวั่นเกรงอย่างแน่นอน )

Manual Testing

ภาษาแบบชาวบ้านๆ ก็คือการ Test แบบใช้มือ (จริงๆ แล้วก็ใช้ทั้งมือ ตา และสมองไปพร้อมๆ กัน)

ที่นี่ เราไม่เคยหยุดพัฒนา Feature ใหม่ๆ เพราะ Product เราจะถูกปล่อยทุกๆ อาทิตย์ โดยที่ Wongnai เราก็ไม่ได้มีแค่ 1 หรือ 2 Squads แต่มีเกือบ 10 Squads

ที่สำคัญ ทุก Feature ที่ถูกปล่อยออกไปนั้นจะต้องผ่าน QA อย่างเราไปให้ได้ซะก่อน ซึ่งในแต่ละอาทิตย์นั้น ทั้ง 3 Platforms คือ iOS, Android และ Web จะมีการทำ Regression Test ก่อนทุกครั้ง

Regression Test คือ ก่อนที่แอพจะถูกปล่อยออกไปสู่ผู้ใช้งานจริง ทุกๆ Feature ทั้งหมดจะถูกทดสอบว่าสามารถทำงานได้อย่างถูกต้องสมบูรณ์ที่สุด

ข้อดีของการการทำ Manual Test คือการที่เราได้จำลองการเป็นผู้ใช้งานจริงทำให้เราได้ Feedback ถึง User Experience ว่าการใช้งาน Feature หนึ่งๆ User จะได้ประสบการณ์การใช้งานที่ดีหรือไม่​

ถ้าเราใช้การทำ Automation Testing เราจะไม่สามารถรู้สึกถึงจุดนี้ได้ และถ้าเราเจอจุดที่ User Experience ไม่ดี เราสามารถที่จะ Feedback กลับไปบอกทีมเพื่อให้ทีมทำการแก้ไขก่อนที่จะปล่อยแอพออกไป

Automation Testing

ด้วยการที่ต้อง Regression Test ทุกๆ อาทิตย์ กับ Test Scenario จำนวนมหาศาล เราจึงได้ค้นพบขุนทรัพย์อันล้ำค่า นั่นก็คือ Automation Testing ที่เราสามารถ Regression Test ได้ภายในการ Click แค่ครั้งเดียว

นอกจากนี้เรายังสามารถตั้งเวลาให้ระบบ Run Test ทั้งหมดเองโดยอัตโนมัติ ทำให้ชีวิตของ QA อย่างเราสบายขึ้นเป็นกอง เพราะเราสามารถเอาเวลาที่เหลือมาทำอย่างอื่น เช่น เพิ่ม Skill ของตัวเอง เพิ่ม Performance ของทีม เป็นต้น

ตอนนี้ทีม QA ของเรากำลังพัฒนาระบบให้สามารถนำ Automation Testing เข้ามาใช้ทำงานจริงได้ ในทุก Feature ทุก Platforms ของ Wongnai เพื่อเพิ่มประสิทธิภาพ คุณภาพ และลด Process ของการทำงานลง

หน้าที่สำคัญที่ QA จะต้องรับผิดชอบอีกอย่างที่จะไม่พูดถึงไม่ได้เลยคือ การดูแลและคอย Support Bug Report

Bug Report

คือการที่ User (ทั้ง User ที่ใช้งาน Wongnai และพนักงานที่ใช้ Wongnai) เจอปัญหาต่างๆ จากการใช้งาน Wongnai โดยจะมีทีมที่รับปัญหามาจาก User คอยแจ้งปัญหาใน Bug Report โดยที่ QA จะทำการตรวจสอบปัญหาเบื้องต้นให้ ถ้าแก้ไขได้ก็จะแก้ไขให้ทันที หรือถ้าแก้ไขไม่ได้ อาจจะต้องนำ Issue เหล่านั้นให้ทีมที่เกี่ยวข้องช่วยแก้ไขต่อไป

การทำงานคร่าวๆ ของตำแหน่ง QA ที่ Wongnai ก็ประมาณนี้แหละ พูดได้เลยว่า QA อยู่ในทุกขั้นตอน ตั้งแต่คิด Feature จนถึงการ Support ปัญหาให้ User ด้วย

6 Skills ที่ QA ที่ Wongnai ควรจะต้องมี

  1. Attitude(ทัศนคติ): การทำงาน Routine บางครั้งอาจจะเบื่อ ดังนั้น QA ที่ดีควรจะต้องมีทัศนคติที่ดีอยู่เสมอ และให้บอกตัวเองเสมอว่าเรากำลังเพิ่มคุณภาพให้กับสิ่งที่เรากำลังทำไม่ว่าสิ่งเหล่านั้นอาจจะเป็นแค่เรื่องเล็กน้อย
  2. Passion(ความหลงใหล): สนุกที่ได้เรียนรู้และไม่หยุดพัฒนาตัวเองให้เก่งขึ้นอยู่เสมอ
  3. Analytical Skills(ทักษะทางด้านการวิเคราะห์): ความสามารถในการแปลง Requirement ที่ซับซ้อนออกมาเป็น Test Spec เพื่อให้ง่ายต่อการทำงานจริงของ Developer
  4. Communication Skills(การสื่อสาร): คือ การพูด การอ่าน การเขียน โดย QA ที่ดีนั้นควรจะต้องทำได้ดีทั้ง 3 อย่าง เพราะในการทำงานหลักๆ ของเราจะต้องติดต่อกับผู้คนจากหลากหลายตำแหน่ง
  5. Technical Skills(ทักษะทางด้านเทคนิค): มีความรู้ในด้านการ Coding หลากหลายภาษาอยู่พอสมควร เช่น JavaScript, Python, Swift, Kotlin, JSON หรือรวมไปถึงการใช้งาน Git เป็นต้น
  6. Productivity(ผลิตภาพ): QA เราต้องมั่นใจได้ ว่าสิ่งที่เราปล่อยผ่านออกไปถึงมือผู้ใช้งานจริงคือสิ่งที่ดีที่สุดแล้วจริงๆ และจะต้องถูกต้องตาม Requirement ที่ได้รับมา

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

สำหรับใครที่สนใจอยากจะมาร่วมเป็นส่วนหนึ่งของ Wongnai QA Team ก็สามารถ “กดที่นี่” ได้เลย

ส่วนน้องๆ คนไหนสนใจสมัคร Internship น้องๆ ก็สามารถ “กดที่นี่” เพื่อสมัครในตำแหน่ง “Quality Assurance Engineer” ได้เลยเช่นเดียวกันค่ะ

หวังว่าเราจะได้ร่วมงานกันค่ะ

--

--