Our Blog
QA คนไหนมี Hardskill ดีแล้ว อย่าลืมฝึก Softskill ไว้ด้วยนะ #doppiotech #สายเทค #softwaretester
QA เก่งแค่ Hard Skill พอไหม? ทำไม Soft Skill ถึงเป็นอาวุธลับที่ทำให้คุณกลายเป็น "Star" ในทีม ในคอมมูนิตี้ของคนทำงานสายเทคและ QA มักจะมีคำถามยอดฮิตว่า "ถ้าอยากเก่งขึ้นต้องเรียนรู้อะไร?" หรือ "อยากย้ายสายต้องฝึกสกิลไหน?" ซึ่งคำตอบส่วนใหญ่มักจะพุ่งเป้าไปที่ Hard Skill เช่น การทำ Automation, การเรียนรู้เครื่องมือใหม่ๆ หรือเทคนิคการเขียน Test Case แต่ในมุมมองของผู้สัมภาษณ์งานและหัวหน้าทีม ความจริงที่น่าสนใจคือ มีผู้สมัครจำนวนมากที่ไปเรียนรู้ทักษะทางเทคนิคมาสารพัด แต่กลับไม่มีความโดดเด่นเพียงพอที่ทำให้บริษัทรู้สึกว่า "ต้องรับคนนี้เข้าทำงานให้ได้" Hard Skill คือพื้นฐาน แต่ความเก๋าอยู่ที่ "การจัดการ" สำหรับ QA ที่มีประสบการณ์ 4-5 ปี การเขียน Test Case ให้ดีเป็นเรื่องที่ควรทำได้อยู่แล้ว แต่ความแตกต่างระหว่าง Test Case ที่สมบูรณ์แบบ (Perfect) กับเกือบสมบูรณ์แบบนั้นไม่ได้สร้างความแตกต่างให้ตัวคุณดู "เฉิดฉาย" ในสายตาหัวหน้าเท่ากับ "สกิลในการจัดการ"…
QA101 รวมทุกสิ่งที่ Software Tester มือใหม่ควรรู้
เจาะลึกโลก 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…
Dev ส่งงานไม่ทัน ทำยังไงกะ QA ดี#doppiotech #softwaretester #สายเทค #QA #testing #DEV
เมื่อ Dev ส่งงานไม่ทัน... ควรทำอย่างไรกับ QA? ในสถานการณ์ที่ Developer (Dev) เล็งเห็นว่าไม่สามารถส่งงานได้ทันตามกำหนดเวลา สิ่งสำคัญไม่ใช่การปกปิดปัญหา แต่คือการบริหารจัดการร่วมกับทีม โดยเฉพาะฝ่ายประกันคุณภาพ (QA) ซึ่งมีแนวทางที่น่าสนใจดังนี - การสื่อสารที่โปร่งใสและตรงไปตรงมา: ทีมที่มีประสิทธิภาพควรมีการสื่อสารกันอย่างชัดเจน เมื่อรู้ว่างานจะล่าช้า Dev ควรเดินเข้าไปแจ้ง QA พร้อมขอโทษและระบุระยะเวลาที่คาดว่าจะดีเลย์ (เช่น ล่าช้าไป 2 วัน) เพื่อให้ทุกฝ่ายเตรียมตัวรับมือได้ทัน - การทำ Impact Analysis ร่วมกัน: แทนที่จะปล่อยให้ QA ต้องทดสอบตามแผนเดิมทั้งหมด Dev และ QA สามารถนำ Test Case มาพิจารณาร่วมกันเพื่อวิเคราะห์ผลกระทบ เช่น จากเดิมที่มี 500 เคส Dev สามารถช่วยระบุได้ว่าโค้ดส่วนไหนที่แก้ไขแล้วมีความเสี่ยงต่ำ เพื่อพิจารณาคัดเลือก Test Case บางส่วนออก ช่วยลดระยะเวลาในการทดสอบลงได้ - Dev…
สามเหลี่ยม’ ที่จะช่วยจัดการ project ให้ดี
"สามเหลี่ยมกู้ชีพ" เคล็ดลับการบริหารโปรเจกต์และต่อรองฉบับสายเทค ในการทำงานสาย Tech ไม่ว่าจะเป็น Developer, QA หรือ Software Tester ปัญหาที่พบบ่อยที่สุดคือ "เวลาไม่พอ" หรือ "สโคปงานที่เพิ่มขึ้นกะทันหัน" หลายคนเลือกที่จะแก้ปัญหาด้วยการทำงานหนักหรืออยู่ล่วงเวลา (OT) แต่วิดีโอนี้ได้นำเสนอทางออกที่ยั่งยืนกว่าผ่านแนวคิด "สามเหลี่ยมบริหารจัดการ" 1. รู้จัก 3 แกนหลักของสามเหลี่ยม หัวใจสำคัญของการบริหารโปรเจกต์ประกอบด้วย 3 ส่วนที่สัมพันธ์กันคือ เวลา (Time), ขอบเขตงาน (Scope) และ ทรัพยากร (Resource) กฎเหล็กของสามเหลี่ยมนี้คือ "ถ้าแกนใดแกนหนึ่งเปลี่ยน อีก 2 แกนที่เหลือต้องเปลี่ยนตามเพื่อรักษาความสมดุล" ตัวอย่างเช่น หากเวลาลดลง (Deliver ช้าลง) สิ่งที่ต้องพิจารณาคือ: เพิ่ม Resource: อาจจะขอคนเพิ่ม แต่ต้องเป็นคนที่มีความรู้อยู่แล้ว (Knowledge) ถึงจะช่วยได้จริง ซึ่งในความเป็นจริงนั้นหาได้ยาก ลด Scope: นี่คือสิ่งที่ควรตั้งคำถามกับ PM หรือลูกค้าว่า "มีส่วนไหนที่ตัดออกได้บ้างเพื่อให้เราส่งมอบงานได้ทันเวลา?"…
รวมสิ่งที่ควรรู้เกี่ยวกับ 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 ส่วนสำคัญ คือการทดสอบฟีเจอร์ใหม่ว่าทำงานได้ปกติหรือไม่ และการทำ…
รวมสิ่งที่ควรรู้เกี่ยวกับ Regression Test EP.2 #doppiotech #QA #softwaretester #testing
เจาะลึกการจัดการ Regression Test และ Automation: จากเวอร์ชันแรกสู่ระบบที่ยั่งยืน ในการพัฒนาซอฟต์แวร์ เมื่อระบบมีการเติบโตและเพิ่มฟีเจอร์ใหม่ๆ เข้ามา สิ่งหนึ่งที่ทีม QA และนักพัฒนาต้องเผชิญคือความท้าทายในการควบคุมคุณภาพ ไม่ให้ฟีเจอร์ใหม่ไปส่งผลกระทบต่อการทำงานเดิม บทความนี้จะสรุปกลยุทธ์การจัดการ Regression Test และแนวทางการทำ Automation ให้มีประสิทธิภาพ 1. ทำไมต้องทำ Regression Test? สมมติว่าเราเริ่มพัฒนาผลิตภัณฑ์ในเวอร์ชันแรก (v0.1) โดยมีฟีเจอร์ A, B และ C ซึ่งในตอนแรกเราจะเน้นไปที่การทำ "Test Change" หรือการทดสอบการเปลี่ยนแปลงของฟีเจอร์นั้นๆ โดยตรง เมื่อฟีเจอร์เหล่านี้ผ่านการทดสอบและถูกปล่อย (Release) ลงสู่ Production ไปแล้ว ชุดทดสอบเหล่านั้นจะกลายเป็นฐานข้อมูลสำคัญ ปัญหาจะเกิดขึ้นเมื่อเราก้าวสู่เวอร์ชันถัดไป (เช่น v1.1) และมีการเพิ่มฟีเจอร์ใหม่ D และ E เข้ามา แม้ว่าเราจะทดสอบ D และ E ผ่าน แต่เราไม่สามารถมั่นใจได้เลยว่าการเพิ่มฟีเจอร์ใหม่นี้จะทำให้…
วิธีคิด Bug Severity 🐞📲 #doppiotech #QA #tech #softwaretester #regression #testing #De…
แนวคิดการกำหนด Bug Severity: Bugนี้รุนแรงแค่ไหน? เมื่อเราทดสอบซอฟต์แวร์แล้วพบข้อผิดพลาด (Bug) ปัญหาที่พบบ่อยคือเราไม่แน่ใจว่าจะระบุระดับความรุนแรง หรือ Severity อย่างไรดีเพื่อให้ทีมเข้าใจตรงกัน โดยมีเฟรมเวิร์กหรือคอนเซปต์ง่าย ๆ ที่ประกอบด้วย 2 ปัจจัยหลัก ดังนี้ 1. Impact (ผลกระทบ) เราต้องพิจารณาว่าหากลูกค้าหรือ User มาเจอBugตัวนี้ จะส่งผลเสียมากน้อยแค่ไหน - ระดับ Critical หรือ High: เช่น เว็บไซต์ Shopping แสดงราคาผิดพลาด ซึ่งส่งผลเสียต่อธุรกิจโดยตรง หรือกรณีการสะกดคำผิดในจุดที่เป็น Branding (เช่น ชื่อแบรนด์ผิด) หรือคำที่มีผลทางกฎหมาย ซึ่งกระทบต่อชื่อเสียง (Reputation) ขององค์กรอย่างมาก - ระดับ High หรือ Medium: กรณีที่ฟังก์ชันหรือฟีเจอร์บางอย่างใช้งานไม่ได้ แต่ User ยังมีทางอื่น (Workaround) ให้ไปใช้งานฟังก์ชันนั้นจนจบกระบวนการได้ - ระดับ Low…
Test แค่ไหนถึงจะพอ #doppiotech #QA #tech #softwaretester #testing
Test แค่ไหนถึงจะพอ? แนวคิดการทดสอบซอฟต์แวร์ให้สมดุลระหว่าง Quality และ Business Value คำถามที่ว่า "ต้องเทสแค่ไหนถึงจะพอ?" เป็นคำถามที่ไม่มีคำตอบตายตัวสำหรับทุกโปรเจกต์ แต่เราสามารถหาคำตอบที่เหมาะสมที่สุดได้โดยใช้แนวคิดเรื่องการประเมินความเสี่ยงและมูลค่าทางธุรกิจ ดังนี้ 1. พิจารณาจากประเภทและความสำคัญของโปรดักต์ (Product Criticality) ระดับความเข้มข้นในการทดสอบควรแปรผันตาม "ความเสียหาย" ที่จะเกิดขึ้นหากเกิดข้อผิดพลาด ตัวอย่างเช่น เว็บไซต์ให้ข้อมูล (Informative Website):เว็บไซต์ท่องเที่ยว, บทความต่างๆ หากมี Bug อาจไม่ได้สร้างความเสียหายรุนแรง การ Test สามารถทำแบบ "Lightweight" หรือไม่เข้มข้นมากได้ แต่หากเป็นระบบที่เกี่ยวข้องกับการเงิน (Financial/Banking/Shopping) ความผิดพลาดมักมีผลกระทบสูง ดังนั้นการลงทุนกับการทดสอบ (Investment) และเวลาที่ใช้ในการเทสต้องเพิ่มมากขึ้นตามลำดับ หรือเป็นระบบที่เกี่ยวข้องกับชีวิต (Medical/Aerospace): เช่น ซอฟต์แวร์ทางการแพทย์หรือยานอวกาศ กลุ่มนี้ต้องทดสอบอย่างหนักหน่วงที่สุดเพราะเกี่ยวข้องกับชีวิตคน 2. อย่าลืมคำนวณ "ค่าเสียโอกาส" (Time to Market) การเทสเยอะไม่ได้ดีเสมอไปหากมองในมุมธุรกิจ ลองพิจารณาสถานการณ์สมมตินี้: Scenario A: คุณใช้เวลาเทสอย่างละเอียดนานถึง 3…

QA career — Soft Skill กับ Attitude นั้นสำคัญไฉน
จากประสบการณ์การทำงานมา 20 ปีของพี่ (พูดแล้วก็รู้สึกแก่ 😅) ทำงาน QA มาตั้งแต่เรียนจบเป็น Junior ตัวกระจ๊อย จนมาทำงานในบริษัทยักษ์ใหญ่ สร้างทีม QA ร้อยกว่าคน จนสร้างบริษัทที่มี QA ร่วม 200 คน สิ่งที่สังเกตุเห็นมาตลอดและแอบเป็นสิ่งน่าเศร้าคือ ไม่ค่อยมีใครสอน หรือ พูดถึงความสำคัญของ Attitude หรือ Soft skill ที่จำเป็นสำหรับสายงานนี้ (จริงๆคือไม่ค่อยเห็นการพูดถึงเรื่องพวกนี้ในงาน Tech ทั้งหมดด้วยแหล่ะ) ทั้งๆที่มันเป็นสิ่งสำคัญมากนะ เริ่มตั้งแต่ทำให้คนๆนึงได้งาน ถัดมามันเป็น skill ที่ทำให้คนๆนั้นอยู่รอดกับการทำงานในช่วงแรก และในที่สุดมีส่วนสำคัญในการแยกความแตกต่างระหว่าง QA ธรรมดาที่เดินไปถึงจุดตัน (ถึงแม้จะมี technical skill ที่ดีเยี่ยมก็ตาม) กับ QA ที่เติบโตไปเรื่อยๆจนเป็น A player ใน market ทุกวันนี้ส่วนตัวพี่เอง แทบไม่ได้สอน Technical skill ให้น้องๆด้วยตัวเองละนะเพราะมีคนช่วยสอนเยอะหล่ะ แต่จะใช้เวลาส่วนใหญ่ในการค่อยๆสอน Soft Skill…

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

Woody in house mobile farm เมื่อไม่มีถูกใจ ก็สร้างมันขึ้นมาซะเลย
เรื่องมันมีอยู่ว่า ผมจำได้ดีเลยวันนั้นเป็นวันหนึ่งในฤดูหนาว ที่อากาศหนาวกว่าทุกๆวัน……ไม่ใช่ละ…นิยายผีญี่ปุ่นปะนิ….เอาใหม่….จริงๆสิ่งที่อยากจะเอามาเล่าในวันนี้เป็นสิ่งที่ใช้ใน Doppio มาประมาณสักปีนึงแล้วแหละ แต่ไม่มีเวลาได้มาเขียนมาแชร์ ช่วงนี้พอมีเวลา เลยอยากเอามาแชร์ให้เพื่อนๆได้อ่านกัน เรื่องมีอยู่ว่า ตอนที่ Doppio ตั้งบริษัทขึ้นมาแรกๆ แล้วเริ่มมีงาน automation ของ Mobile application เข้ามา ด้วย Concept ว่า Automation ที่ทำไปต้องใช้งานได้จริง มี reliability และ stability ที่ดี เราจึงต้องมีการ setup CI ขึ้นมาเพื่อ keep running test เพื่อจุดประสงค์ และเนื่องด้วยพอเป็น mobile application automation ซึ่งเราใช้ Appium เป็น framework หลัก เราเลยจำเป็นที่จะต้องมีเครื่องที่รัน Emulator หรือ Simulator ของ iOS / Android ไว้ทำการรัน ในยุคแรกเราก็ใช้วิธีแบบลูกทุ่งๆ…

Web automation เขียน Xpath ยังไงให้ไม่เปราะ
สวัสดีครับ ช่วงหลังๆ มาอาจจะไม่ค่อยมีเวลาอัดวิดีโอ สอนเพิ่มเติมเท่าไหร่ใน youtube channel แต่ก็ยังอยากแชร์แบ่งปันประสบการณ์และเทคนิคต่างๆ ให้เพื่อนๆ พี่ๆ น้องๆ หลายๆคนได้มาคุยกัน วันนี้อยากจะมาพูดเรื่อง Xpath ครับ, ก่อนอื่นบอกก่อนว่า การ follow ตามบทความนี้ อาจจะต้องอาศัยพื้นความรู้การทำ Automation มาสักระดับนึงก่อน ถ้าใครยังเป็นมือใหม่ม๊าก แนะนำให้ลองไปดูคอร์ส Web automation ใน youtube channel ของ Doppio Tech ก่อน จะได้ follow ตามได้สนุกยิ่งขึ้นนะครับ ทำไมต้องพูดเรื่อง Xpath ก่อนอื่นเลยหลายๆ คนที่ทำ Web automation หรือแม้แต่ mobile app automation น่าจะคุ้นเคยกับเจ้า Xpath เป็นอย่างดี เพราะแม้ว่าบางทีเราจะรู้อยู่แล้วว่า การทำ automation ที่ดี ควรจะต้องมี locator อย่าง…