Agile Là Gì Và Các Phương Pháp Kiểm Thử Agile

Cập nhật thông tin chi tiết về Agile Là Gì Và Các Phương Pháp Kiểm Thử Agile mới nhất ngày 26/11/2020 trên website Zdungk.com. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Cho đến thời điểm hiện tại, bài viết này đã đạt được 8,217 lượt xem.

1. Phương Pháp Agile Là gì?

Phương pháp Agile là một cách chú trọng vào việc lặp lại liên tục sự phát triển và kiểm thử xuyên suốt vòng đời phát triển phần mềm của dự án. Cả 2 hoạt động phát triển phần mềm và kiểm thử của mô hình Agile đều hoàn toàn khác biệt với mô hình Waterfall.

Sự phát triển phần mềm Agile nhấn mạnh vào 4 giá trị cốt lõi sau:

  1. Sự tương tác của cá nhân và nhóm thông qua các quy trình và công cụ.
  2. Phần mềm làm việc thông qua các tài liệu đầy đủ
  3. Sự hợp tác của khách hàng thông qua việc thương thuyết hợp đồng
  4. Đáp ứng để thay đổi nhằm theo sát các kế hoạch

2. Phương Thức Agile Vs Waterfall

Mô hình Agile and Waterfall là hai phương thức hoàn toàn khác biệt trong quy trình phát triển phần mềm. Tuy chúng khác biệt trong cách tiếp cận, nhưng cả 2 phương thức đều hữu dụng ở một thời điểm nào đó, phụ thuộc vào yêu cầu và đặc điểm của dự án.

3. Phương Pháp Kiểm Thử Agile

Trong Agile có những phương thức kiểm thử khác nhau như sau:

3.1. Scrum

Scrum là một quy trình quản lý và phát triển theo phương pháp phát triển linh hoạt (Agile) tập trung đặc biệt vào việc quản lý các công việc trong một môi trường phát triển theo nhóm. Về cơ bản Scrum được bắt nguồn từ các hoạt động xảy ra trong 1 vòng tuần hoàn. Scrum tin tưởng vào việc trao quyền cho nhóm phát triển và làm việc theo nhóm nhỏ (từ 7-9 người). Nó bao gồm ba vai trò với những trách nhiệm được giải thích như hình sau:

  • Scrum Master

    Master là người chịu trách nhiệm thiết lập nhóm, thiết lập cuộc họp trong các giai đoạn phát triển và loại bỏ các vật cản ảnh hưởng đến sự phát triển

  • Product owner

    Product owner tạo ra backlog sản phẩm, đưa ra thứ tự ưu tiên cho backlog và chịu trách nhiệm cho việc phát hành các tính năng ở mỗi giai đoạn

  • Scrum Team

    Team quản lý công việc của họ và tổ chức công việc nhằm hoàn thành các giai đoạn hoặc chu kỳ phát triển

Product Backlog

Đây là một kho lưu trữ các yêu cầu được theo dõi với chi tiết về yêu cầu không được hoàn thành trong mỗi lần phát hành. Nó phải được duy trì và được ưu tiên bởi Product owner, và nó sẽ được phân phối cho nhóm scrum. Nhóm cũng có thể bổ sung hoặc sửa đổi hoặc xóa yêu cầu mới.

Process flow of Scrum Methodologies (Luồng xử lý của phương thức Scrum)

Luồng xử lý của phương thức kiểm thử Scrum như sau:

  • Mỗi một giai đoạn lặp lại của một scrum được biết đến như là Sprint
  • Product backlog là một danh sách bao gồm các mô tả chi tiết để hoàn thành sản phẩm cuối cùng
  • Trong mỗi Sprint, các mục hàng đầu của Product backlog được chọn và chuyển thành Sprint backlog
  • Nhóm làm việc trên sprint backlog đã được mô tả
  • Nhóm kiểm tra cho công việc hàng ngày
  • Vào cuối các sprint, nhóm sẽ phát hành các tính năng của sản phẩm

3.2. eXtreme Programming (XP)

Kỹ thuật lập trình eXtreme Programming (XP) cực kỳ hữu ích khi có yêu cầu thay đổi liên tục từ khách hàng hoặc khi họ không chắc về chức năng của hệ thống. Với chủ trương “phát hành” sản phẩm thường xuyên trong các chu kỳ phát triển ngắn, sẽ cải thiện chức năng của hệ thống cũng như đưa ra các điểm quan trọng nơi mà bất kỳ yêu cầu nào từ khách hành đều có thể dễ dàng thực thi.

Các yêu cầu kinh doanh được thu thập theo các story (câu chuyện). Ở phương pháp này, các bản phát hành sẽ dựa trên các vòng đời ngắn hơn được gọi là Iteration (sự lặp lại) với mỗi 14 ngày. Mỗi lần lặp lại bao gồm các giai đoạn như lập trình, kiểm thử đơn vị và kiểm thử hệ thống, nơi mà các chức năng nhỏ sẽ được xây dựng trong ứng dụng.

Các giai đoạn lập trình eXtreme:

Có 6 giai đoạn trong phương pháp Agile XP, và những giai đoạn được giải thích như sau:

2. Phân tích

Mường tượng những câu chuyện người dùng (story) sẽ xảy ra

Đưa ra mức độ ưu tiên cho các câu chuyện người dùng (story)

Ước tính nỗ lực cho các câu chuyện người dùng (story)

Xác định khoảng lặp (Thời gian)

Kế hoạch nhân sự cho cả nhóm phát triển và QA

3. Thiết kế

Chia nhỏ công việc

Chuẩn bị kịch bản kiểm thử cho mỗi công việc

Framework tự động hóa hồi quy

4. Thực thi

Lập trình

Kiểm thử đơn vị

Thực thi các kịch bản kiểm thử thủ công

Tạo báo cáo lỗi

Chuyển đổi các trường hợp kiểm thử thủ công sang tự động

Đánh giá giữa các vòng lặp

Kết thúc

5. Đóng gói

Phát hành sản phẩm quy mô nhỏ

Kiểm thử hồi quy

Chạy thử và đánh giá

Phát triển các câu chuyện mới dựa trên yêu cầu

Cải tiến quy trình dựa vào các nhận xét đánh giá của việc kết thúc vòng tuần hoàn

6. Kết thúc

Ra mắt chương trình thử nghiệm

Đào tạo

Ra mắt sản phẩm

Đảm bảo về SLA

Xem xét chiến lược SOA

Hỗ trợ sản phẩm

3.3. Crystal Methodologies

Phương pháp Crystal dựa vào 3 khái niệm sau:

Cyclic delivery (Phát hành theo chu kỳ):

Giai đoạn phát triển chính bao gồm hai hoặc nhiều chu kỳ phát hành, trong đó sẽ bao gồm:

  • Nhóm sẽ cập nhật và chỉnh sửa kế hoạch phát hành
  • Triển khai một tập hợp các yêu cầu thông qua một hoặc nhiều lần kiểm thử tích hợp
  • Sản phẩm tích hợp được phân phối tới người dùng thực tế
  • Rà soát kế hoạch dự án và phương pháp phát triển đã được thông qua

Các hoạt động thực hiện trong giai đoạn này sẽ được triển khai vào môi trường người dùng, các đánh giá sau khi triển khai được thực hiện.

3.4. Dynamic Software Development Method (DSDM)

DSDM là phương pháp phát triển ứng dụng nhanh (RAD) tiếp cận việc phát triển phần mềm và cung cấp nền tảng phát hành dự án nhanh gọn. Khía cạnh quan trọng của DSDM là người dùng được yêu cầu tích cực tham gia, và nhóm phát triển được trao quyền đưa ra các quyết định trong dự án. Thường xuyên phát hành sản phẩm trở thành trọng tâm hoạt động của DSDM. Các kỹ thuật được sử dụng trong DSDM gồm:

Dự án DSDM bao gồm 7 giai đoạn:

1. Trước khi bắt đầu dự án

2. Nghiên cứu tính khả thi

3. Nghiên cứu khả năng kinh doanh

4. Lặp lại mô hình chức năng

5. Thiết kế và xây dựng

6. Thực hiện

7. Dự án hoàn tất

3.5. Feature Driven Development (FDD)

Phương pháp này tập trung vào các tính năng “thiết kế và xây dựng”. Không giống như các phương thức Agile khác, FDD mô tả các giai đoạn công việc rất ngắn và cụ thể cần phải thực hiện cho từng tính năng. FDD phát triển sản phẩm bằng việc theo sát những mục tiêu sau

  1. Mô hình đối tượng tên miền
  2. Phát triển theo tính năng
  3. Sở hữu thành phần/lớp
  4. Nhóm tính năng
  5. Kiểm tra
  6. Quản lý cấu hình
  7. Xây dựng chung
  8. Hiển thị tiến độ và kết quả

3.6. Lean Software Development

Phương pháp phát triển phần mềm tinh gọn dựa trên nguyên tắc “Sản xuất tinh gọn” (đúng thời gian, đúng sản phẩm). Phương pháp này hướng tới mục tiêu tăng tốc độ phát triển phần mềm và giảm chi phí. Phát triển tinh gọn có thể được tóm tắt trong bảy bước sau:

  1. Loại bỏ dư thừa
  2. Khuếch trương việc học
  3. Trì hoãn cam kết (quyết định càng muộn càng tốt)
  4. Phát hành sớm
  5. Trao quyền cho nhóm
  6. Xây dựng tính toàn vẹn
  7. Tối ưu hóa toàn bộ

Bạn đang xem bài viết Agile Là Gì Và Các Phương Pháp Kiểm Thử Agile trên website Zdungk.com. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!