robot02
วันเสาร์ที่ 6-7 กันยายน 2557 ได้มีโอกาสแบ่งปันความรู้ต่างๆ
ในค่าย ATDD ด้วย Robot Framework รุ่นที่ 2 โดย SPRINT3R ที่ Geeky Base
ซึ่งครั้งนี้ได้แบ่งปันยาวๆ ไปเลย มาดูกันว่ามีอะไรที่น่าสนใจกันบ้าง

เริ่มต้นด้วยอธิบายเกี่ยวกับที่มาที่ไปของ ATDD (Acceptance Test Driven Development)

ว่ามันมีขั้นตอนการทำงานอย่างไร
ว่ามันเข้ามาแก้ไขปัญหาอย่างไร
พร้อมทำ workshop เล็กๆ

Screen Shot 2557-09-05 at 9.21.59 PM

โดยปัญหาต่างๆ ที่มักจะพบเจอน่าจะเป็นไปตามภาพนี้ ?

Screen Shot 2557-09-05 at 10.18.25 PM

ต่อจากนั้นมาเริ่มต้นกับ Robot Framework เลย

ข้อดีของค่ายนี้ก็คือ ส่วนใหญ่จะทำการติดตั้ง Robot Framework มาก่อน
และบางคนก็เคยลองเขียนมันมาแล้วบ้าง
สิ่งที่น่าแปลกใจก็คือ ส่วนใหญ่จะเป็นเครื่อง Mac นะ

มาเริ่มต้นที่เนื้อหา ผมยังคงแนะนำ Robot Framework ไปแบบ ste-by-step
และให้แต่ละคนที่มานั้นได้ลงมือเขียน test ด้วยตนเอง
เพื่อให้ทุกๆ คนสามารถนำกลับไปใช้งานจริงๆ กันได้
พาเขียนไปจนถึงการแนะนำวิธีการเขียน test ที่ดี เช่น

  • เขียนอย่างไรให้เข้าใจง่าย
  • เขียนอย่างไรให้ดูแลรักษาง่าย
  • เขียนอย่างไรให้ทำงานได้รวดเร็ว

ซึ่งประกอบไปด้วยส่วนต่างๆ ดังนี้

  • การตั้งชื่อ test case, test suite และ keyword
  • การเขียน Documentation
  • การใช้งาน Data Driven
  • แนวทางการเขียน UI Test Automation ที่ดี

Screen Shot 2557-09-07 at 8.21.32 PM

โดยแนะนำวิธีการ Refactor code ของ test ที่เขียนด้วย Robot Framework
ปิดท้ายส่วนนี้ด้วยการแนะนำ Standard Libary ที่นิยมนำมาใช้งาน
เพื่อเพิ่มความสามารถและทางเลือก ในการเขียน test เช่น

  • Build in
  • Collections
  • String
  • Screenshot

เนื้อหาในวันที่สองนั้นเป็นหัวข้อที่มาจากผู้เรียนล้วนๆ ดังนี้

schdule_robot2

จากหัวข้อต่างๆ ที่ทางผู้เข้าค่าย เป็นหัวข้อที่ท้าทายและน่าสนใจมาก
ซึ่งทางกลุ่มผู้สอนและแบ่งปันก็ได้ช่วยกันเตรียมมาในทุกๆ หัวข้อ ดังนี้

  • เปิดมาด้วยสอนการใช้งาน 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 มากขึ้นอย่างมาก
เจอกันในค่ายต่อๆ ไปครับ