Thử nghiệm Agile - Phương pháp luận

Agile là một phương pháp luận phát triển lặp đi lặp lại, trong đó toàn bộ nhóm dự án tham gia vào tất cả các hoạt động. Các yêu cầu phát triển khi quá trình lặp lại tiến triển, thông qua sự hợp tác giữa khách hàng và các nhóm tự tổ chức. Vì Mã hóa và Kiểm tra được thực hiện tương tác và gia tăng, trong quá trình phát triển, sản phẩm cuối cùng sẽ có chất lượng và đảm bảo các yêu cầu của khách hàng.

Mỗi lần lặp lại dẫn đến gia tăng sản phẩm hoạt động được tích hợp và được phân phối để Kiểm tra sự chấp nhận của người dùng. Do đó, phản hồi của khách hàng thu được sẽ là đầu vào cho các Lặp lại tiếp theo / tiếp theo.

Tích hợp liên tục, chất lượng liên tục

Tích hợp liên tục là chìa khóa thành công của Phát triển Agile. Tích hợp thường xuyên, ít nhất hàng ngày để bạn sẵn sàng cho bản phát hành khi được yêu cầu. Kiểm tra trong Agile trở thành một thành phần thiết yếu của tất cả các giai đoạn phát triển, đảm bảo chất lượng liên tục của sản phẩm. Phản hồi liên tục từ tất cả mọi người tham gia vào dự án làm tăng thêm chất lượng của sản phẩm.

Trong Agile, giao tiếp được coi trọng hàng đầu và các yêu cầu của khách hàng sẽ được tiếp nhận khi cần thiết. Điều này mang lại sự hài lòng cho khách hàng rằng tất cả các yếu tố đầu vào được xem xét và sản phẩm chất lượng hoạt động có sẵn trong suốt quá trình phát triển.

phương pháp Agile

Có một số Phương pháp Agile hỗ trợ Phát triển Agile. Các phương pháp Agile bao gồm:

Scrum

Scrum là một phương pháp phát triển Agile nhấn mạnh vào cách tiếp cận lấy nhóm làm trung tâm. Nó ủng hộ sự tham gia của toàn bộ nhóm vào tất cả các hoạt động phát triển dự án.

XP

eXtreme Lập trình lấy khách hàng làm trung tâm và tập trung vào các yêu cầu thay đổi liên tục. Với các bản phát hành thường xuyên và phản hồi của khách hàng, sản phẩm cuối cùng sẽ có chất lượng đáp ứng các yêu cầu của khách hàng được làm rõ ràng hơn trong quá trình này.

Pha lê

Crystal dựa trên việc thuê tàu, giao hàng theo chu kỳ và đóng gói.

  • Thuê tàu bao gồm việc thành lập một nhóm phát triển, thực hiện phân tích tính khả thi sơ bộ, đưa ra kế hoạch ban đầu và phương pháp phát triển.

  • Phân phối theo chu kỳ với hai hoặc nhiều chu kỳ phân phối tập trung vào giai đoạn phát triển và phân phối sản phẩm tích hợp cuối cùng.

  • Trong quá trình Kết thúc, triển khai vào môi trường người dùng, đánh giá và phản ánh sau triển khai được thực hiện.

FDD

Phát triển theo hướng tính năng (FDD) liên quan đến việc thiết kế và xây dựng các tính năng. Sự khác biệt giữa FDD và các Phương pháp phát triển Agile khác là các tính năng được phát triển theo từng giai đoạn cụ thể và ngắn riêng biệt.

DSDM

Phương pháp Phát triển Phần mềm Động (DSDM) dựa trên Phát triển Ứng dụng Nhanh (RAD) và phù hợp với Khung Agile. DSDM tập trung vào việc phân phối sản phẩm thường xuyên, thu hút sự tham gia tích cực của người dùng và trao quyền cho các nhóm để đưa ra quyết định nhanh chóng.

Phát triển phần mềm tinh gọn

Trong Phát triển Phần mềm Tinh gọn, trọng tâm là loại bỏ lãng phí và mang lại giá trị cho khách hàng. Điều này dẫn đến sự phát triển nhanh chóng và sản phẩm có giá trị.

Lãng phí bao gồm công việc đã hoàn thành một phần, công việc không liên quan, các tính năng không được khách hàng sử dụng, lỗi, v.v. làm chậm trễ giao hàng.

Các Lean Principles là -

  • Loại bỏ rác thải
  • Khuếch đại học tập
  • Cam kết trì hoãn
  • Trao quyền cho nhóm
  • Giao hàng nhanh
  • Xây dựng tính chính trực trong
  • Xem toàn bộ

Kanban

Kanban tập trung vào việc quản lý công việc với trọng tâm là giao hàng đúng lúc (JIT), đồng thời không gây quá tải cho các thành viên trong nhóm. Các nhiệm vụ được hiển thị cho tất cả những người tham gia xem và cho các Thành viên trong Nhóm thực hiện công việc từ một hàng đợi.

Kanban dựa trên -

  • Ban Kanban (Trực quan và Kiên trì trong suốt quá trình phát triển)
  • Giới hạn công việc đang tiến hành (WIP)
  • Thời gian dẫn đầu

Các phương pháp kiểm tra Agile

Các thực hành thử nghiệm được xác định rõ ràng cho mọi dự án, dù Agile hay không, để cung cấp các sản phẩm chất lượng. Các nguyên tắc Kiểm thử truyền thống khá thường được sử dụng trong Kiểm thử Agile. Một trong số đó là Thử nghiệm sớm tập trung vào -

  • Viết các trường hợp kiểm thử để thể hiện hành vi của hệ thống.

  • Phòng ngừa, phát hiện và loại bỏ các khiếm khuyết sớm.

  • Đảm bảo rằng các loại thử nghiệm phù hợp được chạy vào đúng thời điểm và là một phần của cấp độ thử nghiệm phù hợp.

Trong tất cả các Phương pháp Agile mà chúng ta đã thảo luận, Bản thân Thử nghiệm Agile là một Phương pháp. Trong tất cả các cách tiếp cận, các trường hợp kiểm thử được viết trước khi mã hóa.

Trong hướng dẫn này, chúng tôi sẽ tập trung vào Scrum với tư cách là Phương pháp kiểm tra Agile.

Các phương pháp kiểm tra Agile thường được sử dụng khác là:

  • Test-Driven Development (TDD) - Phát triển theo hướng kiểm tra (TDD) dựa trên mã hóa được hướng dẫn bởi các bài kiểm tra.

  • Acceptance Test-Driven Development (ATDD) - Phát triển theo hướng kiểm tra chấp nhận (ATDD) dựa trên giao tiếp giữa khách hàng, nhà phát triển và người kiểm tra và được thúc đẩy bởi Tiêu chí chấp nhận được xác định trước và các trường hợp kiểm tra chấp nhận.

  • Behavior-Driven Development (BDD) - Trong quá trình phát triển theo hướng hành vi (BDD), thử nghiệm dựa trên hành vi dự kiến ​​của phần mềm đang được phát triển.

Vòng đời thử nghiệm Agile

Trong Scrum, các hoạt động Kiểm tra bao gồm:

  • Đóng góp vào Câu chuyện của người dùng dựa trên hành vi dự kiến ​​của Hệ thống được mô tả như Trường hợp thử nghiệm

  • Lập kế hoạch phát hành dựa trên Nỗ lực kiểm tra và các khiếm khuyết

  • Lập kế hoạch Sprint dựa trên Câu chuyện của người dùng và những khiếm khuyết

  • Thực hiện Sprint với Kiểm tra Liên tục

  • Kiểm tra hồi quy sau khi hoàn thành Sprint

  • Báo cáo kết quả kiểm tra

  • Kiểm tra tự động hóa

Kiểm tra là lặp đi lặp lại và dựa trên chạy nước rút như được mô tả trong sơ đồ dưới đây -