วันเสาร์ที่ 6-7 กันยายน 2557 ได้มีโอกาสแบ่งปันความรู้ต่างๆ
ในค่าย ATDD ด้วย Robot Framework รุ่นที่ 2 โดย SPRINT3R ที่ Geeky Base
ซึ่งครั้งนี้ได้แบ่งปันยาวๆ ไปเลย มาดูกันว่ามีอะไรที่น่าสนใจกันบ้าง
เริ่มต้นด้วยอธิบายเกี่ยวกับที่มาที่ไปของ ATDD (Acceptance Test Driven Development)
ว่ามันมีขั้นตอนการทำงานอย่างไร
ว่ามันเข้ามาแก้ไขปัญหาอย่างไร
พร้อมทำ workshop เล็กๆ
โดยปัญหาต่างๆ ที่มักจะพบเจอน่าจะเป็นไปตามภาพนี้ ?
ต่อจากนั้นมาเริ่มต้นกับ Robot Framework เลย
ข้อดีของค่ายนี้ก็คือ ส่วนใหญ่จะทำการติดตั้ง Robot Framework มาก่อน
และบางคนก็เคยลองเขียนมันมาแล้วบ้าง
สิ่งที่น่าแปลกใจก็คือ ส่วนใหญ่จะเป็นเครื่อง Mac นะ
มาเริ่มต้นที่เนื้อหา ผมยังคงแนะนำ Robot Framework ไปแบบ ste-by-step
และให้แต่ละคนที่มานั้นได้ลงมือเขียน test ด้วยตนเอง
เพื่อให้ทุกๆ คนสามารถนำกลับไปใช้งานจริงๆ กันได้
พาเขียนไปจนถึงการแนะนำวิธีการเขียน test ที่ดี เช่น
- เขียนอย่างไรให้เข้าใจง่าย
- เขียนอย่างไรให้ดูแลรักษาง่าย
- เขียนอย่างไรให้ทำงานได้รวดเร็ว
ซึ่งประกอบไปด้วยส่วนต่างๆ ดังนี้
- การตั้งชื่อ test case, test suite และ keyword
- การเขียน Documentation
- การใช้งาน Data Driven
- แนวทางการเขียน UI Test Automation ที่ดี
โดยแนะนำวิธีการ Refactor code ของ test ที่เขียนด้วย Robot Framework
ปิดท้ายส่วนนี้ด้วยการแนะนำ Standard Libary ที่นิยมนำมาใช้งาน
เพื่อเพิ่มความสามารถและทางเลือก ในการเขียน test เช่น
- Build in
- Collections
- String
- Screenshot
เนื้อหาในวันที่สองนั้นเป็นหัวข้อที่มาจากผู้เรียนล้วนๆ ดังนี้
จากหัวข้อต่างๆ ที่ทางผู้เข้าค่าย เป็นหัวข้อที่ท้าทายและน่าสนใจมาก
ซึ่งทางกลุ่มผู้สอนและแบ่งปันก็ได้ช่วยกันเตรียมมาในทุกๆ หัวข้อ ดังนี้
- เปิดมาด้วยสอนการใช้งาน Git และ Github เพื่อให้สำหรับจัดการเวอร์ชันของ test ที่เขียนด้วย Robot Framework
- ต่อมาทำการ Demo ใช้งาน Continuous Integration Server เพื่อให้เห็นว่าทีมทำงานร่วมกันได้อย่างไร
- สอนการติดตั้ง และ ใช้งาน Jenkins เพื่อทำงานร่วมกับ Github และ Robot Framework
- ก่อนและในขณะกินข้าวเที่ยง ก็แนะนำ IMAPLibrary สำหรับการเขียน test เพื่อตรวจสอบ email ซึ่งมีปัญหานิดหน่อยในเรื่อง encoding ตรงนี้เอาไปปรับปรุงครับ
- สอนการทดสอบระบบ Web application บน Browser ต่างๆ เช่น Google Chrome และ Internet Explorer
- แนะนำเทคนิคของการใช้งาน command line เช่นการส่งค่าผ่านตัวแปร และ การกำหนด path ที่เก็บ report ต่างๆ
- ทำการแนะนำและ Demo การเขียน Acceptance Test บน Mobile application ด้วย Calabash
- และปิดท้ายด้วยการแนะนำ AutoIt สำหรับการทดสอบ Windows Application
สุดท้ายแล้ว
ขอขอบคุณทุกๆ คนที่เข้ามาร่วมเรียนที่ค่ายในครั้งนี้
ขอขอบคุณผู้สอนทุกๆ คน
ขอขอบคุณหัวข้อต่างๆ ที่เสนอกันเข้ามา
โดยมันทำให้ผมเข้าใจ Robot Framework มากขึ้นอย่างมาก
เจอกันในค่ายต่อๆ ไปครับ