QA101 รวมทุกสิ่งที่ Software Tester มือใหม่ควรรู้

Doppio_Toasty-EDlT0R

QA

March 24, 2026

Table of Content

เจาะลึกโลก Software QA: จากมือใหม่สู่เส้นทางมือโปร (QA 101)

ในโลกของการพัฒนาซอฟต์แวร์ ไม่ว่าจะเป็นแอปพลิเคชันช้อปปิ้งออนไลน์หรือแอปธนาคาร หน้าที่ในการเขียนโค้ดเป็นของโปรแกรมเมอร์ (Developer) แต่คนที่จะตอบได้ว่าแอปนั้นใช้งานได้จริงและมีคุณภาพหรือไม่ คือ Software QA (Quality Assurance) หรือ Software Tester

1. หัวใจของการทดสอบ: Functional vs Non-functional

งานของ QA แบ่งออกเป็นสองมิติหลักที่ต้องตรวจสอบ

Functional Test: คือการดูว่าซอฟต์แวร์ “ทำอะไรได้บ้าง” ตามที่กำหนดไว้หรือไม่ เช่น ต้องล็อกอินได้ ค้นหาสินค้าได้ หรือชำระเงินสำเร็จ

Non-functional Test: คือการดูว่าซอฟต์แวร์ “ทำงานได้ดีแค่ไหน” (How well)

เช่น ความเร็วในการตอบสนอง (Performance), ความง่ายในการใช้งาน (Usability/UX), และความปลอดภัย (Security)

ตัวอย่างเช่น หากล็อกอินผ่านแต่ต้องรอถึง 2 นาที แบบนี้ถือว่าสอบตกในแง่ Non-functional

2. งานหลักของ QA: การออกแบบ Test Case และการเข้าใจโครงสร้างระบบ

งานแรกและเป็นงานสำคัญที่สุดคือการ Design Test Case QA ที่เก่งไม่เพียงแต่ต้องเข้าใจฟีเจอร์ แต่ต้องเข้าใจ Architecture (โครงสร้างระบบ) ด้วย ในยุคปัจจุบันที่ซอฟต์แวร์เชื่อมต่อกันผ่าน Microservices การที่ QA รู้ว่าโมดูลไหนคุยกับโมดูลไหน (เช่น ระบบ Login เชื่อมกับ Database หรือ Payment เชื่อมกับธนาคาร) จะช่วยให้เราออกแบบการทดสอบได้ครอบคลุม (Coverage) และมองเห็นผลกระทบ (Side effect) เมื่อมีการเปลี่ยนแปลงได้อย่างแม่นยำ

นอกจากนี้ QA ต้องใช้ Testing Technique เพื่อออกแบบให้ได้จำนวนเคสที่น้อยที่สุดแต่ครอบคลุมมากที่สุด เพราะในความเป็นจริงเราไม่สามารถทดสอบได้ 100% ของทุกกรณีที่เป็นไปได้

3. การรันเทสและการจัดการ Bug

เมื่อได้รับซอฟต์แวร์มา QA จะทำการ Execute Test ซึ่งทำได้ 2 วิธี

– Manual Test: ใช้คนคลิกและทดสอบตามขั้นตอนที่เขียนไว้

– Automation Test: เขียนโค้ดให้คอมพิวเตอร์รันเทสแทน ซึ่งประหยัดเวลาและทำงานได้ 24 ชั่วโมง เหมาะกับเคสที่ต้องรันซ้ำบ่อยๆ หากพบว่าผลลัพธ์ไม่เป็นไปตามที่คาดหวัง (Fail) QA ต้องทำการ Log Bug (หรือ Defect) โดยระบุขั้นตอนที่ทำให้เกิดปัญหา (Steps to replicate) และความรุนแรง (Severity) เพื่อให้ Developer แก้ไข และส่งกลับมาให้ QA ทำการ Re-testing อีกครั้ง

4. การบริหารความเสี่ยง (Risk Management): หัวใจของการส่งมอบงาน

ในโลกความเป็นจริง ไม่มีซอฟต์แวร์ใดที่ไม่มีBug 100% การจะปล่อยแอปพลิเคชันให้ผู้ใช้ (Sign-off) จึงขึ้นอยู่กับ Risk Management ทีมต้องชั่งน้ำหนักระหว่าง “ความเสียหายจากBug” กับ “โอกาสทางธุรกิจ”

เช่น หากBugนั้นรุนแรงน้อยแต่การรอแก้จะทำให้เสียรายได้วันละล้าน ทีมอาจตัดสินใจปล่อยแอปไปก่อนแล้วค่อยตามแก้ไข

5. “One Million Dollar Person”: QA ที่บริษัทต้องการ

QA ที่มีค่าที่สุดคือคนที่มองเห็น Big Picture (ภาพรวม)

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

คนที่เข้าใจความเชื่อมโยงทั้งระบบเช่นนี้คือ “บุคคลทรงคุณค่า” ขององค์กร

บทสรุปสำหรับผู้ที่ต้องการย้ายสายงาน

การย้ายสายงานมาเป็น QA อาจทำให้เกิดอาการ “ใจพัง” ในช่วงแรกเพราะต้องเผชิญกับภาษาเทคนิคที่ไม่คุ้นเคย แต่แหล่งข้อมูลยืนยันว่า หากผ่านช่วง “กำแพงภาษา” นี้ไปได้ และมีพี่เลี้ยง (Mentor) คอยแนะนำ คุณจะสามารถปรับตัวและประสบความสำเร็จในสายงาน Tech ได้ในที่สุด

Related Blog

Other

Shared library คืออะไร และทำไมเราจึงควรใช้ในทีมและองค์กร วันนี้อยากจะมาเล่าเรื่อง Doppio Common Library

สวัสดีครับ บทความนี้อยากจะมาแชร์ไอเดียซึ่งหลายๆ คนอาจจะมีประสบการณ์กับอะไรพวกนี้มาอยู่แล้ว แต่มือใหม่ในด้าน Automation หลายๆ คน อาจจะยังไม่รู้จัก หรือยังไม่เข้าใจว่ามันคืออะไร บทความนี้ผมจะมาอธิบายให้ฟังกันครับ จุดเริ่มต้น หลายๆ คนที่ทำ automation อาจจะเคยประสบพบเจอกับเหตุการณ์ว่า พอเราย้ายไปทำโปรเจค automation อันใหม่แล้วบางทีเราก็มักจะเจอกับสิ่งที่เราเคยทำไปแล้ว ยกตัวอย่างเช่น และเหตุการณ์อื่นๆ ในลักษณะคล้ายกัน คือ เรา หรือเพื่อนร่วมทีมของเราที่อาจจะอยู่คนละโปรเจคหรือคนละทีม ได้เจอโจทย์คล้ายๆกันมาบ้างแล้ว และสิ่งที่เราต้องการในสถานการณ์นี้ก็คือ ทำยังไงให้เราสามารถสิ่งที่เราหรือใครสักคนในองค์กรเราเคยทำมาแล้ว ให้ได้เร็ว ไม่ต้องไปเสียเวลาเหมือนทำใหม่อีกรอบ ณ จุดเริ่มต้น (แบบตั้งไข่เลยนะ) เรามักจะมีประโยคคลาสสิคที่เราส่งไปให้เพื่อน “เฮ้ยๆ ขอโค้ดหน่อยดิ” , “เฮ้ยๆ ไป copy ได้ที่ repo ไหนบ้าง” ประมาณนี้ ทีนี้ถามว่ามันก็ตอบโจทย์ที่เราต้องการได้นะ ก็คือ ไม่ต้องเสียเวลาไปทำใหม่ แต่มันก็มีข้อเสียที่ยิ่งใหญ่อยู่ก็คือการที่เราจะต้อง copy กันต่อๆ ไปเรื่อยๆ มันจะมีปัญหาว่า Solution จากปัญหาข้างต้นของการ copy โค้ดไปมา…

Automation Test

คิดและเลือก automation framework อย่างไรในปี 2023

จริงถึงแม้จะจั่วหัวไว้ว่าเป็นปี 2023 แต่จริงๆหลักการนี้ใช้ได้ทุกปีแหละครับ แหะๆ ซึ่งบทความนี้ได้แรงบันดาลใจจากที่ว่า ช่วงนี้น้องๆ หลายคนที่เคยทำงานด้วยกัน ทักมาปรึกษาโน้นนี่นั่นกันอยู่เป็นระยะๆ หลายๆครั้งมีน้องบางคนเข้าไปทำงานในบริษัทที่ยังไม่มี Automation เลย พูดง่ายๆ คือการเข้าไปเริ่มตั้งไข่ให้เองนักเลงพอ และหลายคนจะกลับมาถามคำถามเดียวกัน (คำถามเดียวกันจริงๆนะ) บทสนทนาจะเป็นประมาณนี้ น้อง : พี่โอ ว่างไหมพี่โอ : ครับน้อง : สบายดีนะครับโอ : สบายดีครับ เราล่ะเป็นไงบ้างน้อง : พี่โอ cypress นี่ดีไหมครับ (ไม่พูดพร่ำทำเพลง get to the point ดีมาก) พอคุยไปคุยมา เรามักจะได้คำตอบว่า น้องได้รับมอบหมายว่าให้เริ่มต้นทำ Automation โดยเริ่มตั้งแต่เลือก Framework ไปจนถึงวาง Project structure วันนี้เลยอยากจะมาลองแชร์ว่า ปกติเวลาเราจะเลือก Framework มาใช้เนี่ยเราควรดูอะไรบ้าง แต่ก่อนจะเข้าเรื่องบอกก่อนเลยว่า มันไม่มีคำว่า “ดี” หรือ “ไม่ดี”…

QA

รวมสิ่งที่ควรรู้เกี่ยวกับ Regression Test EP.1

สรุป Regression Test คืออะไร? พร้อมเทคนิคการเลือก Test Case ให้มีประสิทธิภาพตามหลัก 80/20 ในการพัฒนาซอฟต์แวร์ เมื่อมีการเปลี่ยนแปลงเกิดขึ้นในระบบ สิ่งที่ชาว QA หรือ Software Tester ต้องเผชิญคือการตรวจสอบว่าสิ่งที่เปลี่ยนไปนั้นส่งผลกระทบต่อส่วนเดิมที่มีอยู่หรือไม่ ซึ่งกระบวนการนี้เรียกว่า Regression Test นั่นเอง Regression Test คืออะไร? โดยนิยามแล้ว Regression Test คือการทดสอบเพื่อหา Bug (Defect) หรือผลกระทบ (Impact) ที่เกิดจากการเปลี่ยนแปลง (Change) ซึ่งในโลกของการพัฒนาซอฟต์แวร์ การเปลี่ยนแปลงสามารถเกิดขึ้นได้จาก 2 ปัจจัยหลัก คือ: 1.การเพิ่มฟีเจอร์ใหม่ (Add new feature) เข้าไปในระบบ 2.การแก้ไขBug (Bug fix) หรือการปรับปรุงโค้ดต่าง ๆ ดังนั้น ในการทดสอบซอฟต์แวร์จึงมักประกอบด้วย 2 ส่วนสำคัญ คือการทดสอบฟีเจอร์ใหม่ว่าทำงานได้ปกติหรือไม่ และการทำ…