Thanakorn Sriwichai (TeeYai)
PranWorks
Published in
3 min readApr 28, 2019

--

จัดการกับ Test Data บน Katalon Studio ยังไงดีนะ?

หลังจากที่ได้รู้จัก Katalon Studio และ ได้ลองสร้าง Test Case ไปแล้ว หลายๆคนก็น่าจะสร้าง Test Case และสามารถรันได้แล้ว บางคนอาจจะมีคำถามหรือมีข้อสงสัยเกี่ยวกับเรื่อง Test Data กันบ้างแหละว่าเราจะจัดการกับมันได้อย่างไรถึงจะดี หลักๆเลยคือควรจะต้องแก้ไขได้ง่ายๆ

โดยผมจะยกตัวอย่างเป็นข้อๆจากที่ผมเคยทำมาละกัน คือ

  1. ใส่ไปใน Test script ตรงๆเลย

จากรูปจะเป็นการใส่ Test data ไปตรงๆเลย(Email & Password) ซึ่งเป็นวิธีปกติๆทั่วไปเลย วิธีนี้ถ้าเป็นการทดสอบที่ไม่ต้องเปลี่ยน Test data บ่อยๆก็ถือว่าโอเค เช่น Login หรือ อื่นๆ แต่ถ้าต้องเปลี่ยนบ่อย เช่น Register แบบนี้ เราก็ต้องมาไล่เปลี่ยนใหม่ทุกครั้งที่จะรัน เพราะเรา Register ด้วย data เดิมไม่ได้นิถูกไหม(Email หรือ อื่นๆ)

2. ใช้ Variables เข้าช่วย

จะคล้ายๆวิธีที่ 1 น่ะแหละ แต่เราจะใช้ Variable ไปใส่ใน script แทน เวลาเราแก้ Test data ก็แค่เข้ามาที่แท็ป Variables และแก้ไขเลย จบ ไม่ต้องไล่หาใน script ว่ามันอยู่ step ไหน อีกทั้งยังทำให้ script ดูคลีนๆดีด้วย

3. Test data driven(Excel)

วิธีการนี้จะสะดวกมากๆเลย โดยเฉพาะยิ่งถ้าเรามี Test data จากที่อื่นอยู่แล้ว เราก็แค่ก็อบ วางในไฟล์ Excel ไปเลย ไม่ต้องเสียเวลามากรอกใน script ให้วุ่นวาย
จริงๆแล้ววิธีนี้จะสามารถสร้างไฟล์ Test data ได้ทั้งหมด 4 แบบ คือ Internal data, Database data, CSV data และ Excel data ซึ่งผมจะยกตัวอย่างแค่ Excel อย่างเดียว เอาไว้เป็นไอเดียเฉยๆนะครับ เพราะถ้าสามารถเรียกใช้ data จาก Excel ได้ แบบอื่นที่เหลือก็ทำได้เหมือนกัน สบายๆ ไม่ยาก

วิธีการเรียกใช้ Test data แบบนี้ เราสามารถเรียกใช้ได้ง่ายๆเลย ตามตัวอย่างดังรูป

หน้าจอตอนเลือก Input ให้เลือกเป็น Test Data Value

แค่นี้เองครับสำหรับ Test Data Driven หากว่าต้องการทดสอบด้วย Test data ใหม่ เราก็แค่เพิ่มเข้าไปในไฟล์ Excel และเปลี่ยน Row number ใน script แค่นั้นเองครับ

*ข้อนี้แถม สำหรับถ้าคุณต้องการที่จะทดสอบโดยต้องใช้ Test data ชุดหนึ่ง เช่น ทดสอบ Register หลายๆ User เพื่อดู Result ที่แตกต่างกัน หรือทดสอบ Login เพื่อเช็ค Status ของ User ที่แตกต่างกัน เราจะเขียน script เพื่อวนลูปให้รันตามจำนวน Test data ทั้งหมด

Test with all Test data

จากรูปจะเป็นการทดสอบการ Verify user status ซึ่งจะรันตามจำนวน Rows ทั้งหมดที่มีในไฟล์ Test data ที่เรียกใช้(มี 10 rows มันก็จะรันไป 10 Test data) จะเห็นได้ว่าเราไม่จำเป็นต้องสร้าง Test case ขึ้นมาเพิ่มเป็น 10 Test case หรือ เปลี่ยน Test data ทุกครั้งที่รันเสร็จ การใช้วิธีนี้จะช่วยประหยัดเวลาไปได้มากๆเลยล่ะ

สรุป การจะจัดการกับ Test data นั้นมันขึ้นอยู่กับว่าเราจะทดสอบอะไร ทดสอบแบบไหน ขึ้นอยู่กับที่เราออกแบบด้วย สมมติว่าคุณต้องการที่จะทดสอบเว็บไซต์ซึ่งมีตั้งแต่การ Login ไปจนถึงหน้า Dashboard ที่ให้ทำอะไรต่างๆ ซึ่ง Account ที่คุณต้องใช้ Login นั้นใช้แค่ Account เดียวก็จริง แต่คุณต้อง Login ซ้ำๆทุก Test case สมมติว่ามี 20 Test cases คุณก็จะต้องเขียน script ที่มี Login step ทุกอันและกรอก Test data ที่ใช้ Login ทุกอันเช่นกัน(เพราะจะเข้าหน้า Dashboard ก็ต้องผ่านการ Login เสมอ)
กรณีนี้ ควรที่จะกำหนด Global Variable ซะ แล้วเรียกใช้ใน script แทน เผื่อวันหนึ่งต้องเปลี่ยน Account ที่ใช้ทดสอบจะได้แก้ที่เดียวพอ หรืออีกวิธีก็คือกำหนด Local Variable(วิธีที่ 2) แล้วใช้ฟังก์ชัน Call Test case การ Login ในทุกๆ Test case ที่เหลือซะ แค่นี้ก็จะได้แก้ที่เดียวเหมือนกัน
ส่วนวิธีที่ 3 นั้นจะเหมาะกับกรณีว่าถ้าคุณมี Test data เยอะๆ และต้องทดสอบโดยใช้ Test data เป็นกลุ่ม หรือเป็น Category ต่างๆ เป็นต้น จะช่วยให้สะดวกขึ้นเยอะ หรือถ้าใครขี้เกียจๆเลย ก็จับ Test data ทั้งหมดใส่ใน Excel ไปเลย เป็น 100 อันก็ใส่ไปเลย แล้วตอนจะรันค่อยมาเปลี่ยน Row number เอา แบบนี้ก็ได้เหมือนกัน

จบแล้วครับสำหรับ Part นี้ ก็มีประมาณนี้แหละครับ อาจจะไม่ได้ลงรายละเอียดลึกมาก เพราะไม่งั้นอาจจะยาวเกิน และอาจจะเบื่อกันได้ ไว้เจอกันใหม่ Part หน้านะครับ :)

Sometimes you win, Sometimes you learn.

--

--