สำหรับใครที่ไม่รู้จักคำย่อนี้ WYSIWYG มาจากคำว่า What You See Is What You Get. ส่วนมากจะรู้จักกันดีในหมู่คนทำ Web application แล้วต้องการสร้าง Editor หรือ กล่องข้อความ ที่มี option เยอะๆ โดย Module นี้จะตรงตามชื่อเลยคือ ไม่ว่า user กรอกข้อมูลอะไรมา ก็จะได้ผลลัพธ์นั้นแน่นอน 100%

เจ้า WYSIWYG มันไปเกี่ยวอะไรกับ QA

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

อ้าวแล้วมันไม่ดียังไง

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

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

ตรวจสอบอาการ ของเพื่อนร่วมทีม

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

เราจะหยุดอาการ WYSIWYG อย่างไร

ข้อแรก เรื่มจากเขียน expect result ก่อนที่จะทำการ รันเทสเคสเสมอ อาจเขียนเป็น manual ไว้ก็ได้ครับ ขั้นตอนนี้ช่วยป้องกันอาการ WYSIWYG ได้เป็นอย่างดี อีกทั้งยังช่วยทำให้เราเข้าใจระบบมากขึ้นอีกด้วยครับ

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

Previous articleแก้ปัญหา Manual Tasks ด้วย Robot Framework และ ExcelDataDriver RPA Library กัน
Next articleRobot framework Selenium Timeout และ Implicit wait ใช้ต่างกันยังไงนะ