20

Automation Test พัง ต้องเช็คอะไรก่อน

Test Suite ที่รันผ่านมาทั้งอาทิตย์ อยู่ๆ ก็มีสีแดงโผล่ขึ้นมา
ไม่รู้เลยว่าแอปพัง หรือ script เราพังเอง

เห็นแล้วก็งงไปหมด ไม่รู้จะเริ่มจากตรงไหน
.

เป็นสิ่งที่พี่กิ่งเห็นซ้ำๆ ในคนที่เพิ่งเริ่มโดดเข้ามาทำ automation เลยค่ะ
พอ test แดง ก็ไม่รู้จะทำอะไร เลยไปไล่เปิดโค้ดดูทีละบรรทัด
หรือไม่ก็ส่งให้เดฟดูเลย โดยที่ยังไม่ได้เช็คดูให้แน่ใจก่อน

.

Tutorial ส่วนใหญ่มันสอนเราแค่เขียน test ให้ผ่านค่ะ
แทบไม่มีใครสอนว่า ตอนมันไม่ผ่านนี่เกิดจากอะไรได้บ้าง แล้วต้องเช็คอะไรก่อน

พอเป็นแบบนี้หลายคนเลยโดดลงไปไล่โค้ดเลย
ทั้งๆ ที่มันเป็นสิ่งที่ไว้ทำหลังสุดได้เลยค่ะ

.

ก่อนอื่นเราต้องเข้าใจก่อนว่า เป้าหมายของเราคืออะไร
ถ้าเรากำลังรัน automation test ชุดนี้ เพื่อเช็คของก่อน release
ก็แปลว่า สิ่งที่ควรทำก่อนคือเช็คให้แน่ใจว่า release นี้พร้อมมั้ย
ไม่ใช่ไปนั่งไล่โค้ด เพื่อดูว่า test มันพังตรงไหน
จนทำให้ release ออกไม่ทัน

.

📌 ครั้งต่อไปที่เห็นสีแดง ลองเริ่มแบบนี้ค่ะ

1️⃣ ลองกด manual ดูก่อน
Test ข้อไหนพัง ก็ไปลองกดมือดูเลยค่ะ ว่ามันผ่านมั้ย ใช้เวลาแค่ไม่กี่นาทีก็รู้แล้ว

.

2️⃣ ถ้ากด manual ก็พัง → แปลว่าระบบเรามีอะไรซักอย่างผิดแล้วค่ะ

ลองเช็คต่อว่า

👉 มี requirement เปลี่ยนรึเปล่า ถ้าเปลี่ยนก็แก้ test ให้ตรง (แต่จริงๆ ตรงนี้ควรแก้ไปตั้งแต่ตอน implement แล้วนะคะ ไม่ต้องรอให้พังก่อน)

👉 Environment ล่ม หรือ test data หาย → เช็คก่อน เผื่อเป็นปัญหาที่ไม่ได้มาจากโค้ด
👉 มีบั๊ก → ถ้าเป็นบั๊กจริงๆ รีบคุยกับเดฟ ว่าพังตรงไหน แล้วเปิด bug ticket ให้แก้ต่อเลย

.

3️⃣ ถ้ากด manual แล้วผ่าน → แปลว่าไม่ใช่บั๊ก ระบบไม่ได้ทำงานผิด แต่ script เราเองที่มีปัญหาซักอย่าง
แบบนี้เราถือว่าฟีเจอร์นี้ผ่านสำหรับรอบนี้ได้ แล้วค่อยกลับมาไล่เช็ค script ของเราค่ะ

ลองเริ่มจาก rerun script เฉพาะข้อที่พังก่อนก็ได้
👉 ถ้าผ่าน = แปลว่า flaky test ค่ะ (สิ่งที่เราไม่อยากเจอที่สุด 😂) ต้องมาไล่หาต่อว่าอะไรทำให้เกิด

👉 ถ้ายังไงก็ไม่ผ่าน = script มีปัญหาจริงๆ ค่อยมาไล่โค้ด หาให้เจอว่าเกิดจากอะไรค่ะ อาจจะเป็นปัญหาใน script จริงๆ เช่น locator ไม่ถูก

.

ที่สำคัญคือ ข้อ 1 ใช้เวลาแค่ไม่กี่นาที แต่แยกต่อได้ทันทีว่าต้องทำอะไรต่อ
อย่างน้อยเราก็รู้ว่าระบบของเรา มีบั๊กหรือไม่มี
เพื่อให้ฟีดแบ็คกับทีมไปก่อนค่ะ
เพราะนี่คือจุดประสงค์หลักที่เรามี Automation Test

และยิ่งเราบอก test result ได้เร็วเท่าไหร่
Automation Test ที่เราเขียนมา ก็ยิ่งมีประโยชน์มากขึ้นเท่านั้นค่ะ

Leave a Comment

Your email address will not be published. Required fields are marked *