ชีวิตของ Tester ที่มากกว่าแค่หา Bug
มีใครยังไม่รู้ว่าตัวเองชอบอะไร ? ทำอะไรแล้วมีความสุขนอกจากการนอนบ้างมั้ยคะ
บทความนี้ไม่ได้มาบอกเทคนิคว่าควรค้นหาตัวเองแต่อย่างใด แค่จะมาบอกว่าวิธีการค้นหาตัวเอง แป้งทำมาเกือบหมดแล้ว! ไม่ว่าจะปรึกษาผู้รู้ หรือแม้แต่หาข้อมูลเองก็ตาม ก็ยังไม่สามารถค้นหาสิ่งที่ตัวเองชอบได้ มันน่าเศร้าดีนะคะ ที่แป้งอยากหาว่าตัวเองชอบอะไร เพราะว่าสิ่งที่แป้งเรียนมา แป้งไม่ได้ชอบมันสักเท่าไหร่ ไม่ชอบกับการต้องอยู่กับ Code นานๆ เห็นแล้วปวดหัวสุดๆ อะไรไม่รู้เป็นร้อยๆบรรทัด จะบ้าา แต่ก็อย่างที่บอกแป้งหาตัวเองไม่เจอค่ะ สุดท้ายแป้งก็ต้องเลือกทำงานด้านนี้อยู่ดี แต่แต่ แป้งไม่ต้องเขียน Code เองน้าาาาา แป้งมีคนเขียนให้ค่าาาา อิอิ ค่อยมีความสุขขึ้นหน่อย แฮร่
มาจ้าาา พูดมายาวเหยียด ไม่ได้มีสาระอะไรเลย เข้าสู่เนื้อหากันค้าบ แป้งทำงานเป็น Tester ซึ่งทำหน้าที่ช่วยป้องกันไม่ให้เกิด Bug นั่นเองค่า ครั้งนี้แป้งอยากจะพูดหน้าที่ของตัวเองที่ได้ทำในตอนนี้ในตำแหน่ง Tester เผื่อมีคนจะสนใจอยากมาทำงานในตำแหน่งนี้บ้าง
ชีวิตของ Tester ต้องเจออะไรบ้าง
ต้องรู้ Business หรือที่เรียกว่า Requirement ต่างๆ
อย่างแป้งก็ต้องเรียนรู้จาก Product Owner (PO) ค่าา ต้องคุยกับ PO เยอะๆ เลย ถ้าไม่เข้าใจตรงไหน ถามโลดเลยค่า ที่แป้งบอกไปด้านบนว่า Tester มีหน้าที่ป้องกันไม่ให้เกิด Bug ขอย้อนนิสนุงว่าทีมของแป้งนำการทำงานแบบ Agile มาประยุกต์ใช้ แบ่งการทำงานเป็น Sprint ซึ่งใน 1 Sprint แบ่งเป็น 2 ช่วง คือ Dev Sprint (2 สัปดาห์) และ Test Sprint (1 สัปดาห์) พอมีการเริ่มทำ Sprint ใหม่ จะมีการ Sprint Planning เกิดขึ้น และทุกคนโดยเฉพาะ Tester อย่างแป้ง ต้องมีหน้าที่ปิดช่องโหว่ไม่ให้ Bug เกิดจาก Business โดยการถาม ถกเถียงกัน (ตอนนี้ยังทำไม่ค่อยได้ ฮื่ออ ถ้ามีโอกาสได้เขียนอีก จะมาอัพเดทนะคะว่าตอนนี้แป้งเริ่มปิดช่องโหว่ ไม่ให้เกิด Bug ได้หรือยัง) ช่วง Sprint Planning นี่แหละค่ะทุกคน ที่แป้งกำลังจะบอกว่ามันคือหน้าที่ของแป้งเลยยย
บางคนอาจมีคำถามว่า ทำไมเราต้องปิดช่องโหว่ของ Businessตั้งแต่ Sprint Planning คำตอบก็คือ การที่เราช่วยกันปิดช่องโหว่ของ Business ได้ ส่วนหนึ่งคือ Dev จะได้ไม่เสียเวลาในการ Coding ถ้า Business conflict กันตั้งแต่แรก ถึงจะ Dev ดีขนาดไหน ผลลัพธ์ที่ได้ก็จะมี Bug!!! อยู่ดี
เขียน Test Case
ซึ่งการที่เราจะเขียน Test Case ได้ก็ต้องรู้ Business และมี Design เรียบร้อยแล้วค่า เพราะเราจะได้รู้ Action การทำงานต่างๆ ของระบบ การเขียน Test Case ไม่ได้มีรูปแบบที่ตายตัว ไปดูการเขียนของแป้งเลยค่าา
Test ระบบ
นี่แหละค่าาา หน้าที่หลักของ Tester โดยจะ Test ระบบก่อนที่จะส่ง Product ไปให้ลูกค้าใช้งานจริง ดังนั้นเราต้องเจอ Bug ก่อนที่ลูกค้าจะเจอ! ซึ่งทีมของแป้งในปัจจุบันทำ Manual Test 70% และ Automated Test 30% ซึ่งในอนาคตทางคุณพี่เดย์หรือหัวหน้าของแป้งต้องการให้ทำ Automated Test 70% และ Manual Test เหลือเพียง 30% (เดี๋ยวเราจะมาพูดถึง Framework ที่แป้งเลือกใช้ในการทำ Test กันทีหลังนะคะ)
ปล. แอบกระซิบค่ะทุกคน Tester อย่างเราๆ ควรมี Soft Skill ให้มากๆ เพราะเราต้องประสานงานกับหลายฝ่าย จากประสบการณ์ ตอนแรกที่คุณพี่เดย์ บอกแป้งว่าให้ใช้ความไร้สาระของตัวเองให้เป็นประโยชน์ ตอนนั้นนี่เสียใจมากเลย ไม่รู้ว่าที่พี่เดย์พูดนี่คือ ข้อดีหรือข้อเสียของตัวเอง แต่ตอนนี้รู้แล้วค่ะ มันคือข้อดีของแป้งอย่างหนึ่งเลยก็ว่าได้ เวลาที่เราไปขอความช่วยเหลือจากคนอื่น จงใช้ Soft Skill ที่เราแอบมีมาโดยไม่รู้ตัวใช้ให้เกิดประโยชน์ซะ 😝
เข้าสู่สาระน่ารู้ โดย Tester แป้งกันต่อค่ะ
Framework ที่ใช้ทำ Automated แป้งเลือกใช้เป็น Robot Framework นะคะ เพราะว่าง่ายต่อการเขียนมั่กๆ เหมาะสำหรับคนที่ไม่ชอบการเขียน Code แบบแป้ง
Robot Framework มี Library ให้เลือกใช้เยอะอยู่น้า อย่างตัวแป้ง Test Web ก็โหลดตัวนี้เลยจ้า Selenium2Library หรือถ้าใคร Test Mobile ก็อาจจะโหลด AppiumLibrary เพิ่มได้ค่ะ และแป้งใช้ Editor เป็น RIDE ซึ่งเป็น Editor ของ Robot Framework เลยจ้า ตัว RIDE เนี่ยจะมีหน้าตาเป็นตารางซึ่งเหมือนเป็น Excel ที่เราใช้เขียน Test Case กันเลยค่ะ การเขียน Test ก็แสนจะง๊ายง่าย แป้งจะนำตัวอย่างที่ใช้จริงมาให้ทุกคนได้ดูกันค่า ซึ่งมี Product ที่ทีมแป้งได้พัฒนาขึ้น เป็นฟีเจอร์ที่เกี่ยวกับการเพิ่มลูกค้า แป้งเลยได้นำ Automated มาช่วยลดเวลาในการ Test ซ้ำๆ ไปดูกันเลยค่าาาา
ศึกษา Robot Frameworkเพิ่มเติมได้จาก Link นี้เลยค่า https://robotframework.org/
- แถวแรก ที่ทุกคนเห็นว่าเป็นอักษรสีต่างจากพวกก็เพราะว่า มันเป็นคำสั่งที่แป้งแอบเขียนเอง อิอิ เขาเรียกกันว่า “Keyword” ที่แป้งทำตัว Login ไว้เป็น Keyword เพราะว่าในทุกครั้งที่ Test ต้องมีการ Login ทุกครั้ง พูดง่ายๆ ก็คือ เราใช้งานมันบ่อยนั่นเอง เลยจับมันทำเป็น Keyword ซะเลยค่าา
- ในคอมลัมน์แรกที่ทุกคนเห็นที่อักษรสีฟ้า มันก็คือ คำสั่งที่เราสั่งให้โปรแกรมทำงานอะไรต่อนั่นเองค่าา
- ในคอลัมน์ถัดๆไป ก็ขึ้นอยู่กับคำสั่งที่เราเรียกใช้ว่าข้อกำหนดเขาให้เรากรอกอะไรต่อ อย่างเช่น เราเรียกใช้ Input Text [Locator|Text] หมายถึง Locator คือเราจะต้องหา Element ที่เราจะใช้ ส่วน Text คือ สิ่งที่เราต้องการกรอกเข้าไป
นี่แหละค่ะ ชีวิต Tester เราไม่ได้มีหน้าที่แค่จิ้มๆ กดๆ ที่โปรแกรม พอเจอ Bug ก็แค่แจ้ง Dev แต่จริงๆ แล้วเราต้องทำหน้าที่อีกหลายอย่างเลยที่ต้องทำ และเราจะมาเป็น Tester ที่มีคุณภาพไปพร้อมกัน! สู้ๆค่า 😘