KBTG: Automation Tech The Series

[Automation Tech the Series] Ep.1 การเดินทางของ M&M Automation Framework ใน KBTG

Phonkornkrit
KBTG Life
Published in
3 min readMay 31, 2022

--

ถ้าอยากรู้ว่า KBTG Automation Core Team สร้าง Test Automation Framework อย่างไร เพื่อให้พิชิต Grand Line และตามล่า One Piece ได้ มาดูกัน!

มันถึงเวลาของพวกเราแล้วสินะ…

สำหรับท่านใดที่ติดตาม Blog เกี่ยวกับ Test Automation ผ่านช่องทาง KBTG Life นี้ก็คงจะได้รับความรู้ไปไม่มากก็น้อยจากสมาชิก KBTG Automation Core Team ไม่ว่าจะเป็นเชิงประสบการณ์ สายอาชีพ และเทคโนโลยีต่างๆ แต่สำหรับท่านใดที่ยังไม่เคยอ่าน Blog นี้เป็น “จุดเริ่มต้น” ที่ดีที่จะทำให้คุณเข้าใจ Automation Testing ในเชิง Technical มากขึ้น และเข้าใจจุดสตาร์ท Automation Journey ของพวกเรา ที่ทำให้เกิดเป็น…

Act One: จุดเริ่มต้นของ M&M Automation Framework

เรื่องราวเราต่อจากนี้ ไม่ใช่เรื่องราวของ “กลุ่มหมวกฟาง” แต่อย่างใด แต่จะเป็นเรื่องราวของกลุ่มคนใน KBTG นามว่า Automation Core Team ที่จะคอยดูแลและช่วยเหลือในด้านของ Standard, Framework และ Innovation ต่างๆ ที่เกี่ยวกับ Automation Testing เพื่อพัฒนาคุณภาพของแอปพลิเคชันและประหยัดกำลังให้ได้มากที่สุด นี่แหละ One Goal ของ Automation Core Team

นี่แหละ One Piece ของพวกเรา

เพื่อจะไปให้ถึง Goal ข้างต้น เราอาจจะต้องย้อนกลับมาดู “จุดเริ่มต้น” หรือครั้งแรกที่มีการเกิดทีม Automation Testing ขึ้นมา

Project Structure V.1

สำหรับการสร้างใดๆ ก็ตาม สิ่งที่สำคัญที่สุดคือ “โครงสร้าง” เพราะฉะนั้นเราจึงตัดสินใจสร้าง Project Structure ที่จะสามารถรองรับกระบวนการ Development & Testing ของระบบใน KBTG โดยเริ่มจากการ Crack กล่องที่มีให้เป็นชิ้นเล็กๆ เพื่อระบุ Requirement ในการทำ Automation ได้อย่างชัดเจน

จากภาพ เราสามารถสรุปสิ่งที่เรามีได้ดังนี้

  1. Automation Team: Automation Tool/Framework (Robot Framework, Postman), CI/CD Tools (Gitlab, Jenkins, Grafana)
  2. SUT (System Under Test): Web applications, API (Restful, SOAP)

ซึ่งหลังจากได้รายการสิ่งที่เรามีและสามารถใช้งานได้ ณ ขณะนั้น เราจึงตัดสินใจว่าจะเริ่มต้นจาก Project Structure V.1 ผู้เขียนขอตั้งฉายามันว่า “Going Merry”

ใช่ครับ มันคือชื่อเรือจากการ์ตูนเรื่อง One Piece นั่นเอง Going Merry ลำนี้ก็เป็น Project Structure V.1 ที่เราได้ปรับและทดลองใช้งานจริงกับการทำ Automation Testing ใน KBTG โดยมีลักษณะของโฟลเดอร์ดังภาพด้านล่างนี้

ซึ่งสามารถรองรับ Application Business ต่างๆ ในขณะนั้นได้เป็นอย่างดี แต่ก็จะมีบางส่วนในเชิงเทคนิคที่ยังไม่เอื้อต่อการทำงาน/ความต้องการจากทาง Application Team เราจึงมีการสร้างอุปกรณ์เสริมต่างๆ ขึ้นมาเพิ่มและเสริมไปเรื่อยๆ เช่น การทำ Shared-Library หรือ Shared-Tools ขึ้นมา

แต่แล้วเราก็ได้พบกับการเปลี่ยนแปลงครั้งยิ่งใหญ่และการผจญภัยที่โหดขึ้นในนาม “KBTG Tranformation Program”

โปรแกรมนี้กลายจุดเปลี่ยนสำคัญที่ทำให้เราตัดสินใจสละเรือ Going Merry และสร้างเรือลำใหม่ที่จะพาเราผ่านอุปสรรคและการผจญภัยครั้งใหม่ไปให้ได้

การจากลา มาพร้อมกับการเริ่มต้นใหม่เสมอ

Act One: Empathy & Ideation สำหรับ Project Structure V.2

Automation Core Team เป็นหนึ่งใน Workstream หลักของโครงการ KBTG Transformation Program ที่จะต้องรับหน้าที่เป็นโค้ชคอยสร้าง Capability ของคนใน KBTG ให้สามารถทำ Automation Testing ได้ สิ่งนี้ทำให้ต้องกลับมาตีโจทย์กันและคิดนำหน้าไป 1 ก้าวให้ได้ว่า

  • ใครบ้างมาทำ Automation
  • แอปพลิเคชันใน KBTG มีแบบใดบ้าง
  • Framework/Tools ที่ต้องซัพพอร์ตมีอะไรบ้าง
  • ต้องเชื่อมต่อกับ Tools อะไรบ้าง
  • จะ Reuse Automation Script แต่ละแอปใน Git Repo ที่ต่างกันยังไง
  • Reusable Keyword ในแต่ละ Test Levels
  • หาก Library ยังไม่มีซัพพอร์ตจะทำอย่างไร
  • จะทำโมเดลแบบไหนให้ Stakeholders เข้าใจการ Test

ถ้าเราเลือกแก้ปัญหาทั้งหมดนี้ทีเดียว ทีมงานคงนอนช็อกไปแล้ว แต่เพื่อให้ตอบโจทย์เหล่านี้ เราไม่สามารถปล่อยผ่านข้อมูลที่สำคัญพวกนี้ไปได้ เราจึงขอเก็บเป็น Backlog ทดไว้ในใจ

ถ้าเรามีรากฐานที่แข็งแรงและเป้าหมายที่ดี จะนำพาการเดินทางให้ง่ายขึ้น

ดังนั้นสิ่งแรกที่เราต้องทำก็คือการกำหนดเป้าหมาย หรือ Goal และ Crack ของที่เรามีสำหรับการต่อยอดให้กลายเป็น Project Structure V.2 ซึ่งรอบนี้ของจะค่อนข้างเยอะกว่า เนื่องจากเรามี Goal ที่ใหญ่กว่าเดิมมาก

ถ้าเราจะทำ Automation Framework ให้เกิดขึ้น เราอาจจะต้องพิจารณาของทั้งหมด ดังนี้

1. Role & Responsibility ของการทำ Automation Testing ในแต่ละ Level

  • UIS: Owned by Software Engineer
  • SIT: Owned by Test Engineer

2. Application Characteristics

  • Web Applications (Chromium Based & IE)
  • API (Restful, SOAP)
  • Mobile Applications (Android & iOS)
  • Windows Application
  • Database Verification
  • Batch, Server and File System

3. Automation Tools/Framework

  • Robot Framework
  • Postman (Newman)
  • UFT
  • etc.

4. Integration with CI/CD

  • Gitlab
  • Jenkins
  • Grafana

5. Integration with Test Management Tools

  • HP QC
  • Jira

6. M&M Concept ?

ซึ่งหลังจากเรา คิด วิเคราะห์ และ… ประเมิน อย่างดีแล้ว เราก็พร้อมที่จะ Launch ตัว Project Structure V2 เพื่อเป็น Framework ที่ใช้ในการเขียนสคริปและโค้ชคนใน KBTG Transformation แล้ว หน้าตาและคำอธิบายเป็นดังภาพ

แต่ละโฟลเดอร์จะมีความสำคัญและหน้าที่ที่แตกต่างกันออกไป สำหรับคนที่อ่านมาถึงตรงนี้ก็คงคิดว่า…

ทำไมถึงต้องกังวล หรือคิดอะไรให้มากมายกับอีแค่ Project Structure

ทางผู้เขียนอยากจะให้ทุกท่านติดตาม Automation Tech the Series ซีรี่ย์ที่จะทำให้ทุกท่านเข้าใจ Automation Testing Technique & Technical ในเชิงลึกตั้งแต่ต้นจนถึงจบ และในที่สุดทุกท่านก็จะเข้าใจถึง “เหตุและผล” ในทุกการกระทำที่เกิดขึ้นของ KBTG Automation Framework หรือ M&M นั่นเอง

Next Stop

สำหรับชาวเทคคนไหนที่สนใจเรื่องราวดีๆแบบนี้ หรืออยากเรียนรู้เกี่ยวกับ Product ใหม่ๆ ของ KBTG สามารถติดตามรายละเอียดกันได้ที่เว็บไซต์ www.kbtg.tech

--

--