Coding Gun

Azure Devops

Azure DevOps ถือเป็นเครื่องมือน้องใหม่ที่มาแรงมากในยุคนี้ เนื่องจากเป็นเครื่องมือที่ครอบคลุมการทำงานแทบจะทุก phase ใน DevOps process เลยทีเดียว

On-Prem vs On-Cloud

เราสามารถติดตั้ง Azure DevOps ได้ทั้งแบบ On-Prem และ On-cloud โดย Azure DevOps จะแบ่งออกเป็น

  1. Azure DevOps Server(On-Prem)
  2. Azure DevOps Service(On-Cloud)

Azure DevOps Pricing

สำหรับ Users ที่เป็น Basic plan หรือ Plan Free นั่นเอง ซึ่งใน Basic Plan จะมีข้อจำกัดดังนี้

Azure DevOps ประกอบไปด้วยเครื่องมืออะไรบ้าง?

ใน Azure DevOps จะประกอบไปด้วยเครื่องมือที่ทำหน้าที่แตกต่างกันในแต่ละ Phase โดยจะแบ่งเครื่องมือต่างๆ ดังนี้

  1. Azure Boards
  2. Azure Repos
  3. Azure Pipelines
  4. Azure Artifacts
  5. Azure Test Plans

Azure Boards

เริ่มต้น Phase แรกของการทำงานแบบ DevOps ด้วย Azure Boards เราจะทำการวางแผนงาน(Plan Phase) โดยสร้าง Work Items(list ของงานที่ต้องทำ) โดยที่การทำงานของ Azure Boards จะขึ้นอยู่กับ Process Template ซึ่งจะมีให้เลือกอยู่ 4 แบบด้วยกัน ซึ่งในแต่ละ Process Template จะมีประเภทของ Work Items ไม่เท่ากันละเรียกชื่อต่างกัน

  1. Basic เป็น Process ที่มีประเภทของ Work Item ให้เลือกน้อยสุด เข้าใจง่ายสุดเหมาะสำหรับทีมที่เพิ่งจะเริ่มต้นทำงานแบบ Agile แต่ก็จะมีข้อเสียตรงที่เราไม่สามารถแบ่งแยกประเภทของ Work Items ให้เฉพาะเจาะจงได้ เช่นเราจะไม่สามารถแยก งานที่ทำใหม่กับการแก้ Bug ออกจากกันได้ เพราะเราเรียก Issue เหมือนกัน
  2. Agile เป็น Process ที่เหมาะกับ Agile ทีมที่ใช้ User Story ทั่วไป ถือว่าเป็น Process ที่น่าจะนำไปใช้มากที่สุด
  3. Scrum เหมือนกับ Agile Process แต่จะเปลี่ยน User story ไปเป็น Product Backlog Item และ Issue เป็น Impediment
  4. CMMI จะเป็น Process ที่มีความยุ่งยากมากที่สุดเนื่องจากมีประเภทของ Work Items ให้เลือกมากที่สุด สิ่งที่เพิ่มขึ้นมาใน CMMI Process คือ Change Request, Risk และ Review

หน้าที่ของ Azure Boards คือจัดการวางแผน Project ซึ่งจะเป็นจุดเริ่มต้นของการทำงานหลังจากนี้


Azure Repos

Azure Repos คือบริการจัดเก็บ Source Code ของ Azure DevOps ที่ให้ทีมพัฒนาสามารถใช้ระบบควบคุมเวอร์ชัน (Version Control) ได้ โดยรองรับทั้ง:

แนะนำให้เลือกใช้ Git

พูดง่ายๆ ก็คือ Azure Repos = Git repository ที่อยู่บน Azure นั่นเอง ซึ่งคุณสามารถใช้เก็บ Code, ดู History, แตก Branch และ ควบคุมคุณภาพด้วย Pull Requests ได้สะดวกมากๆ

Features ของ Azure Repos

เข้าไปอ่านวิธีการใช้ Azure Repos ต่อได้ที่นี่


Azure Pipelines

Azure Pipelines คือเครื่องมือในการทำ CI/CD ที่ระบุ Task ต่างๆโดยเขียนลงในไฟล์ YAML ซึ่ง Pipeline จะแบ่งออกเป็น 2 ประเภทคือ

แนะนำให้ใช้ .yaml เป็นหลัก

เข้าไปอ่านวิธีการสร้าง Azure Pipelines ได้ที่นี่


Azure Artifacts

Azure Artifacts คือหนึ่งในบริการของ Azure DevOps ที่ใช้สำหรับ จัดเก็บและจัดการแพ็กเกจ packages หรือ Library ต่างๆ ที่นำมาใช้ในโครงการพัฒนา แบบ Private ซึ่งเราสามารถเชื่อมต่อกับ Package Manager ยอดนิยมต่างๆ เช่น

Azure Artifacts เหมาะสำหรับ

ตัวอย่าง Workflow

  1. Developer A สร้าง .nupkg หรือ .tgz
  2. Pipeline ทำการ Publish ไปยัง Azure Artifacts feed
  3. Developer B ติดตั้ง package นั้นผ่านคำสั่ง npm install หรือ dotnet add package โดยเชื่อมกับ feed เดียวกัน
  4. เวลามีการอัปเดต Developer A ก็แค่ publish version ใหม่ไปยัง feed เดิม

จุดเด่นของ Azure Artifact


Azure Test Plans

Azure Test Plans คือเครื่องมือสำหรับ จัดการการทดสอบ (Testing Management Tool) ใช้สำหรับวางแผน สร้าง และจัดการ test case, test suite, test run, รวมถึงการ track bug และวัดคุณภาพของ Software

Azure Test Plans เป็น Services ที่ไม่ฟรี

Azure Test Plans ใช้ทำอะไร?

ความสามารถหลัก รายละเอียด
สร้าง Test Plan รวม test suites และ test cases ตามฟีเจอร์หรือ sprint
สร้าง Test Case ระบุขั้นตอนการทดสอบ, expected result, input data, และ link กับ work items
Manual Testing ทดสอบด้วยมือและบันทึกผลว่า “ผ่าน” หรือ “ไม่ผ่าน”
เชื่อมกับ Automated Test นำผลจากการรัน Unit/Integration Tests ใน Pipeline มารายงานใน Test Plan
Exploratory Testing จดโน้ต, บันทึก session การทดสอบแบบไม่ตาม script
Track Bug เปิด bug จาก test run ได้ทันที พร้อมลิงก์กับผลทดสอบและ steps

ตัวอย่าง Workflow

  1. QA สร้าง Test Plan สำหรับ Sprint 5
  2. สร้างชุด test case เช่น:
    • TC001: Login ด้วยรหัสผิดแล้วต้องแสดง error
    • TC002: สมัครสมาชิกสำเร็จ
  3. ทีม QA ทดสอบแต่ละ test case และบันทึกสถานะ (ผ่าน/ไม่ผ่าน)
  4. ถ้าพบปัญหาให้สร้าง Bug หรือ Issue ขึ้นมาและ Link กับ test case นั้น
  5. Dev แก้ bug แล้วแจ้งให้ QA เข้ามาทดสอบซ้ำ
  6. สรุปรายงานคุณภาพของ Software หรือ Component นั้นๆ

เชื่อมกับ Azure DevOps Services อื่นๆ

Azure Test Plans เหมาะกับใคร?


Phanupong Permpimol
Follow me