ทำให้ Test script เป็น Living Documentation ด้วย Robot framework

KakyKad
2 min readJan 14, 2021

--

ขึ้นชื่อว่าทำ Test และไหนๆก็ใช้ Robot framework แล้ว ควรทำให้ Test script ของเรานั้นสามารถเป็น “living documentation” ไปในตัว การใช้งานง่ายมากเลย

Example

ใส่ Keywords ที่ชื่อ Documentation ใน Settings และอธิบายให้ชัดเจนว่าใน Test script นี้เรากำลังทำอะไร เพื่อที่คนที่ทำงานด้วยกันกับเรามาใช้ต่อจะได้สามารถอ่านเข้าใจได้เลยว่า Test script ชุดนี้ใช้ทำอะไร

robot checkout-success-template.robot

หลังจาก Run เสร็จแล้วให้เปิด report.html ดู

ผลลัพธ์ที่ได้

จะเห็นว่ามี Documentation แสดงขึ้นมาพร้อมข้อความที่เราระบุใส่

และเราสามารถแยกให้แต่ละ Test case ที่ Documentation เป็นของตัวเองได้ด้วย

Example

ใส่ Keywords [Documentation] ภายใต้ชื่อ Test case และระบุข้อความ และหลังจาก Run เสร็จแล้วให้เปิด report.html ดู

ผลลัพธ์ที่ได้

จะเห็นว่า Documentation ในแต่ละ Test case จะมีข้อความข้อ Test Bicycle แสดงอยู่

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

และใน community ของ Robot framework ได้มีเขียนบอกเกี่ยวกับ “How to write good test cases using Robot Framework” สามารถอ่านเพิ่มเติมใน link reference

https://github.com/robotframework/HowToWriteGoodTestCases/blob/master/HowToWriteGoodTestCases.rst#test-case-documentation

จากในตัวอย่างที่กาดทำมา จะสังเกตเห็นว่ากาดตั้งชื่อ Keyword ตามการใช้งานของ API ที่ใช้ เมื่อเรากลับมาอ่าน เราก็สามารถทำความเข้าใจได้ทันทีว่า แต่ละ Test case กำลังทดสอบอะไรมีข้อมูลอะไรบ้าง ผลลัพธ์ที่ได้คืออะไร

ไหนๆ ก็เขียน Test script แล้วพยายามลดการใช้ Excel ลงกันเถอะ และไม่ต้องกลัวว่าถ้าอยากได้ Version ก่อนหน้าจะทำยังไง ถ้าใช้ Version control อยู่แล้ว (เช่น Github) ก็ไม่ต้องห่วงเลย เราสามารถดูย้อนหลังกลับได้ว่าเราแก้อะไรไปบ้างแล้ว ถ้าไม่ได้ใช้ก็ต้องแบ่ง Version ไฟล์ Test script ดีๆล่ะ

แต่เราควรเอา Test script ไว้ที่เดียวกับ Project นั้นๆเลยจะดีกว่านะ เพื่อที่ทุกคนจะได้สามารถทดสอบได้ว่า Project มี Bug อะไรไหม

Reference : https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#documentation-formatting

https://github.com/robotframework/HowToWriteGoodTestCases/blob/master/HowToWriteGoodTestCases.rst#documentation

--

--

KakyKad
KakyKad

Written by KakyKad

เขียนไปเรื่อย

No responses yet