รู้จัก Katalon Studio กันไหม?

Thanakorn Sriwichai (TeeYai)
PranWorks
Published in
2 min readMay 20, 2018

มาๆ ถ้าไม่รู้จักเดี๋ยวจะเล่าให้ฟังคร่าวๆ แต่ก่อนอื่นถ้าให้พูดถึง Automation Testing Tools แล้วนึกถึงอะไรกันบ้าง?…..
หลักๆเลยที่ผมได้ยินบ่อยๆนะ แบบที่ไม่เสียตัง ก็จะมี Selenium IDE, Selenium WebDriver, Robot Framework เอ๊ะ มีอะไรอีกนะ….จำได้แค่นี้แหละ ฮ่าๆๆๆ ส่วนที่เสียตังอะหรอ ก็จะมี Quick Test Pro, TestComplete….ก็มีเยอะอะ แต่ก็จำได้แค่นี้เหมือนกัน 5555

นอกจากที่กล่าวมาข้างบนแล้วน่ะ ยังมี Automation Testing Tool อีกตัวหนึ่งนะ ชื่อว่า Katalon Studio โดยเขาจะมีสโลแกนคือ “Best Automation Solution for Software Testing Team” Completely free Built with❤ ถ้าอยากรู้ว่าทำไมถึงฟรี ก็กดเข้าไปดูที่ลิงก์ได้เลยครับ

อะ นี่คือหน้าตา Logo ของมันนะ

แล้วเจ้าตัวนี้น่ะ สามารถทำอะไรได้บ้างหรอ?…..งั้นไปดูกันเลย

Concept ของมันก็จะประมาณนี้ ใช้ง่าย เรียนรู้ไว

เริ่มกันเลยนะ เจ้าตัว Katalon นี้น่ะ สามารถได้ทั้งกับ Web, API และก็ Mobile (ทั้ง IOS และ Android เลย) คือง่ายๆเลยก็ ใช้ตัวนี้ตัวเดียว จบ.

ไม่ได้มีแค่นี้นะ ฟีเจอร์ของมันยังมีอีกเยอะแยะเลย เช่น Integrate กับ Git, Jira นอกจากนี้ยังสามารถ Integrate กับ CI Tool ได้อีกหลายตัวเลยล่ะ เช่น Jenkins, qTest

อีกอย่างในส่วนของ Team Collaboration ก็ทำได้ด้วยนะ แต่จะทำได้กับ Slack เท่านั้น เช่น มีการสร้าง Test Case, Test Suite หรืออื่นๆ มันก็จะส่งข้อความไปที่ Group หรือ Channel นั้นๆ คนในทีมก็จะได้รู้ว่าเราทำอะไรไปบ้าง

หน้าตาของเจ้า Katalon ก็จะประมาณนี้นะ

มาดูในส่วนของ Test Explorer หรือฟีเจอร์ต่างๆที่ช่วยในการทดสอบเลยว่ามีอะไรบ้าง โดยผมจะอธิบายคร่าวๆละกันเนอะ

  • Test Cases : เป็นส่วนที่เอาไว้จัดการ Test Case ทั้งหมด ซึ่งการเขียน Test Case จะสามารถเขียนได้ทั้งแบบ Manual และ Script ถ้าใครเคยเขียน RobotFramework โดยใช้ RIDE ก็น่าจะคุ้นกับแบบ Manual เพราะมันแทบจะเหมือนกันเลยล่ะ
  • Object Repository: เป็นส่วนที่เอาไว้จัดการกับ Object ที่เราทำการ Spy หรือ Record มา หรือก็คือ Element น่ะแหละเหมือนๆกัน แต่มันดีตรงที่เราจะได้ Attribute ทั้งหมดของ Element นั้นๆมาเลย เราก็แค่ไป Check เอาว่าอยากให้มัน Detect ตัวไหน
  • Test Suites : เป็นส่วนที่เอาไว้จัดการ Test Suites ทั้งหมด โดยจะแบ่งเป็น 2 ประเภท คือ Test Suite กับ Test Suite Collection โดย Test Suite ก็จะประกอบไปด้วย Test Case ต่างๆ ส่วน Test Suite Collection ก็จะประกอบไปด้วย Test Suite ต่างๆอีกที (Test Case > Test Suite > Test Suite Collection) เวลาเรา Execute เนี่ยก็จะได้ไม่ต้องสั่งหลายๆที่ไงล่ะ
  • Data Files : หรือก็คือ Test Data นั่นแหละ ส่วนนี้จะจัดการกับ Test Data ทั้งหมด โดยจะมี 4 ประเภท 1. Excel File 2. CSV File 3. Database Data 4.Internal Data คือมันดีมากๆเลยนะ ถ้าเราออกแบบดีๆมันจะช่วยให้การ Test ของเราสะดวกขึ้นมากเลยล่ะ
  • Checkpoints : เป็นส่วนที่เอาไว้จัดการกับ Checkpoint ทั้งหมด ซึ่ง Checkpoint เนี่ยจะเป็นการ Snapshot Test Data ณ ตอนนั้นไว้ เพื่อเอาไว้ใช้ Verify ว่าข้อมูล ณ ปัจจุบันกับตอนที่เรา Checkpoint ไว้เนี่ย มันตรงกันไหม มันจะมีประโยชน์มากสำหรับเคส Database Validation ที่ค่ามักจะเปลี่ยนแปลงตลอด
  • Keywords : ส่วนนี้จะเอาไว้เก็บ Custom Keyword ต่างๆที่เราสร้างขึ้นมา
  • Test Listeners : ส่วนนี้จะเอาไว้เก็บ Test Listener ไว้ทั้งหมด ซึ่ง Test Listener เนี่ยก็คือ Annotation นั่นแหละ หลายคนคงจะรู้จักดีอยู่แล้ว เช่น @BeforeTestCase @AfterTestCase
  • Reports: ส่วนนี้เอาไว้เก็บ Report ทั้งหมดที่ถูกสร้างขึ้นมา โดย Report จะถูกสร้างขึ้นเมื่อมีการ Execute Test Suite หรือ Test Suite Collection เท่านั้น
  • Profiles : ส่วนนี้เพิ่งจะเพิ่มเข้ามาใหม่ในเวอร์ชัน 5.4.0 ซึ่งมันก็คือ Global Variables น่ะแหละ ก็เอาไว้จัดการกับ Global Variable ต่างๆ ที่อยู่ใน Profile ที่สร้างขึ้น

นี่ก็คือ Katalon Studio แบบคร่าวๆนะครับ ย้ำว่า “คร่าวๆ” เพราะจริงๆแล้วมันยังทำอะไรได้มากกว่านี้อีกเยอะ จริงๆแล้ว ณ ตอนนี้เลยนะ Katalon เป็น Testing Tool ที่ผมชอบที่สุดแล้ว นี่ไม่ได้ “อวย” นะ ชอบเพราะมันดีจริงๆ เท่าที่เคยใช้ Tool อื่นๆมา(เมื่อก่อนเขียนด้วย Selenium WebDriver กับ RobotFramework) Tool นี้เป็น Tool ที่มีฟีเจอร์เยอะและใช้ง่ายที่สุดแล้ว แถมยังฟรีอีก ย้ำนะ ไม่ได้ “อวย”
อะ ถ้าใครไม่เชื่อหรือใครสนใจอยากลองอยากเล่น ก็จิ้มดูที่ลิงก์ได้เลยครับ

ขอเสริมอีกนิดหนึ่ง ในความคิดของผมนั้น หัวใจหลักของการทดสอบมันไม่ได้อยู่ที่ Testing Tool แต่มันอยู่ที่วิธีการหรือขั้นตอนในการทดสอบ ส่วน Testing Tool นั้นมีไว้เพื่อให้การทดสอบของเราสะดวกสบายขึ้นเท่านั้น ถึงแม้ว่าเรายอมเสียเงินเป็นแสนเพื่อให้ได้ Testing Tool ที่ดีแค่ไหนก็ตาม แต่ถ้าวิธีการทดสอบของเรายังไม่ดี Design Test Case ไม่ดี ไม่ Coverage หรือทดสอบไม่ตรงจุด มองข้ามจุดสำคัญๆไป ถึงมี Testing Tool ไป มันก็แค่นั้นแหละครับ

ไว้ครั้งหน้าจะมาสอนเขียนการทดสอบบน Web นะครับ ส่วนครั้งนี้ขอพอแค่นี้ก่อน

Sometimes you win, Sometimes you learn.

--

--