Phương pháp Agile trong kiểm thử phần mềm

Phương pháp nhanh nhẹn

Phương pháp Agile trong thử nghiệm là gì?

Phương pháp Agile có nghĩa là một hoạt động thúc đẩy lặp lại liên tục phát triển và thử nghiệm trong suốt vòng đời phát triển phần mềm của dự án. Trong mô hình Agile trong kiểm thử phần mềm, cả hoạt động phát triển và kiểm thử đều diễn ra đồng thời, không giống như mô hình Thác nước.

Phương pháp nhanh nhẹn
Phương pháp nhanh nhẹn

Phát triển phần mềm Agile là gì?

Phát triển phần mềm Agile phương pháp luận là một trong những quy trình đơn giản và hiệu quả nhất để biến tầm nhìn về nhu cầu kinh doanh thành giải pháp phần mềm. Agile là một thuật ngữ dùng để mô tả các phương pháp phát triển phần mềm sử dụng việc lập kế hoạch, học hỏi, cải tiến liên tục, hợp tác nhóm, phát triển tiến hóa và bàn giao sớm. Nó khuyến khích những phản ứng linh hoạt trước sự thay đổi.

Việc phát triển phần mềm linh hoạt nhấn mạnh vào bốn giá trị cốt lõi.

  1. Tương tác cá nhân và nhóm qua các quy trình và công cụ
  2. Phần mềm làm việc trên tài liệu toàn diện
  3. Cộng tác với khách hàng về đàm phán hợp đồng
  4. Đáp ứng sự thay đổi so với việc tuân theo một kế hoạch

Mô hình Agile Vs Mô hình thác nước

Mô hình Agile và Waterfall là hai phương pháp khác nhau cho quá trình phát triển phần mềm. Mặc dù chúng khác nhau về cách tiếp cận nhưng đôi khi cả hai phương pháp đều hữu ích, tùy thuộc vào yêu cầu và loại dự án.

Mô hình Agile Mô hình thác nước
Phương pháp linh hoạt trong định nghĩa kiểm thử phần mềm: Phương pháp linh hoạt đề xuất cách tiếp cận gia tăng và lặp lại trong thiết kế phần mềm Mô hình thác nước: Quá trình phát triển phần mềm diễn ra tuần tự từ điểm bắt đầu đến điểm kết thúc.
Quy trình linh hoạt trong kiểm thử phần mềm được chia thành các mô hình riêng lẻ mà các nhà thiết kế làm việc trên Quá trình thiết kế không được chia thành từng mô hình riêng lẻ
Khách hàng có cơ hội sớm và thường xuyên để xem xét sản phẩm cũng như đưa ra quyết định và thay đổi dự án Khách hàng chỉ được xem sản phẩm khi kết thúc dự án
Mô hình Agile trong thử nghiệm được coi là phi cấu trúc so với mô hình thác nước Mô hình thác nước an toàn hơn vì chúng được định hướng theo kế hoạch
Các dự án nhỏ có thể được thực hiện rất nhanh chóng. Đối với các dự án lớn, rất khó để ước tính thời gian phát triển. Tất cả các loại dự án có thể được ước tính và hoàn thành.
Lỗi có thể được sửa ở giữa dự án. Chỉ cuối cùng, toàn bộ sản phẩm mới được kiểm tra. Nếu tìm thấy lỗi yêu cầu hoặc có bất kỳ thay đổi nào phải được thực hiện, dự án phải bắt đầu lại từ đầu
Quá trình phát triển được lặp đi lặp lại và dự án được thực hiện trong các lần lặp lại ngắn (2-4) tuần. Quy hoạch là rất ít. Quá trình phát triển được thực hiện theo từng giai đoạn và giai đoạn này lớn hơn nhiều so với việc lặp lại. Mỗi giai đoạn kết thúc với mô tả chi tiết về giai đoạn tiếp theo.
Tài liệu được ưu tiên ít hơn phát triển phần mềm Tài liệu được ưu tiên hàng đầu và thậm chí có thể được sử dụng để đào tạo nhân viên và nâng cấp phần mềm với nhóm khác
Mỗi lần lặp lại có giai đoạn thử nghiệm riêng. Nó cho phép thực hiện kiểm tra hồi quy mỗi khi các chức năng hoặc logic mới được phát hành. Chỉ sau giai đoạn phát triển, giai đoạn thử nghiệm mới được thực hiện vì các phần riêng biệt không có đầy đủ chức năng.
Trong thử nghiệm linh hoạt khi quá trình lặp kết thúc, các tính năng có thể chuyển giao của sản phẩm sẽ được giao cho khách hàng. Các tính năng mới có thể sử dụng được ngay sau khi xuất xưởng. Nó rất hữu ích khi bạn có liên hệ tốt với khách hàng. Tất cả các tính năng được phát triển sẽ được cung cấp ngay lập tức sau giai đoạn triển khai kéo dài.
Người thử nghiệm và nhà phát triển làm việc cùng nhau Người thử nghiệm làm việc riêng biệt với nhà phát triển
Vào cuối mỗi lần chạy nước rút, sự chấp nhận của người dùng được thực hiện Sự chấp nhận của người dùng là thực hiện vào cuối dự án.
Nó đòi hỏi sự giao tiếp chặt chẽ với các nhà phát triển và cùng nhau phân tích các yêu cầu và lập kế hoạch Nhà phát triển không tham gia vào quá trình lập kế hoạch và yêu cầu. Thông thường, độ trễ thời gian giữa các lần kiểm tra và mã hóa

Cũng kiểm tra:- Agile Vs Waterfall: Biết sự khác biệt giữa các phương pháp

Quy trình linh hoạt

Kiểm tra bên dưới Phương pháp nhanh nhẹn quá trình cung cấp các hệ thống thành công một cách nhanh chóng.

Mô hình quy trình linh hoạt
Mô hình quy trình linh hoạt

Có nhiều Phương pháp linh hoạt hiện diện trong thử nghiệm linh hoạt và chúng được liệt kê dưới đây:

Cuộc đánh nhau

SCRUM là một phương pháp phát triển linh hoạt, tập trung đặc biệt vào cách quản lý các nhiệm vụ trong môi trường phát triển dựa trên nhóm. Về cơ bản, Scrum bắt nguồn từ hoạt động diễn ra trong một trận đấu bóng bầu dục. Scrum tin tưởng vào việc trao quyền cho nhóm phát triển và khuyến khích làm việc trong các nhóm nhỏ (khoảng 7 đến 9 thành viên). Agile và Scrum bao gồm ba vai trò và trách nhiệm của chúng được giải thích như sau:

Phương pháp Scrum
Phương pháp Scrum
  • Scrum Thạc sĩ
    • Scrum Thạc sĩ chịu trách nhiệm thành lập nhóm, họp sprint và loại bỏ những trở ngại cản trở tiến độ
  • Chủ sản phẩm
    • Chủ sở hữu sản phẩm tạo tồn đọng sản phẩm, ưu tiên tồn đọng và chịu trách nhiệm phân phối chức năng ở mỗi lần lặp
  • Nhóm Scrum
    • Nhóm tự quản lý công việc của mình và tổ chức công việc để hoàn thành sprint hoặc chu kỳ

Tồn đọng sản phẩm

Đây là kho lưu trữ nơi các yêu cầu được theo dõi với các chi tiết về số lượng yêu cầu (câu chuyện của người dùng) cần hoàn thành cho mỗi bản phát hành. Nó phải được Chủ sở hữu sản phẩm duy trì và ưu tiên, và nó phải được phân phối cho nhóm scrum. Nhóm cũng có thể yêu cầu thêm hoặc sửa đổi hoặc xóa yêu cầu mới

Thực hành Scrum

Thực hành được mô tả chi tiết:

Thực hành Scrum
Thực hành Scrum

Luồng quy trình của Phương pháp Scrum:

Quy trình xử lý của kiểm tra scrum là như sau:

  • Mỗi lần lặp của scrum được gọi là Sprint
  • Backlog sản phẩm là danh sách trong đó tất cả các chi tiết được nhập vào để có được sản phẩm cuối cùng
  • Trong mỗi Sprint, những câu chuyện hàng đầu của người dùng về Product backlog được chọn và chuyển thành Sprint tồn đọng
  • Nhóm làm việc trên backlog sprint đã xác định
  • Nhóm kiểm tra công việc hàng ngày
  • Vào cuối giai đoạn chạy nước rút, nhóm cung cấp chức năng sản phẩm

Lập trình cực đoan (XP)

Kỹ thuật Lập trình Extreme rất hữu ích khi có nhu cầu hoặc yêu cầu thay đổi liên tục từ khách hàng hoặc khi họ không chắc chắn về chức năng của hệ thống. Nó ủng hộ việc “phát hành” sản phẩm thường xuyên trong các chu kỳ phát triển ngắn, điều này vốn đã cải thiện năng suất của hệ thống và cũng đưa ra một điểm kiểm tra nơi mọi yêu cầu của khách hàng có thể được thực hiện dễ dàng. XP phát triển phần mềm giữ khách hàng trong mục tiêu.

Lập trình cực đoan
Lập trình cực đoan

Yêu cầu kinh doanh được thu thập dưới dạng câu chuyện. Tất cả những câu chuyện đó đều được lưu trữ ở một nơi gọi là bãi đậu xe.

Trong loại phương pháp này, các bản phát hành dựa trên các chu kỳ ngắn hơn được gọi là Lặp lại với khoảng thời gian 14 ngày. Mỗi lần lặp lại bao gồm các giai đoạn như mã hóa, kiểm tra đơn vị và kiểm tra hệ thống, trong đó ở mỗi giai đoạn một số chức năng nhỏ hoặc chính sẽ được xây dựng trong ứng dụng.

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

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

Lập kế hoạch

  • Xác định các bên liên quan và nhà tài trợ
  • Yêu cầu cơ sở hạ tầng
  • Bảo mật thông tin liên quan và thu thập
  • Thỏa thuận cấp độ dịch vụ và các điều kiện của nó

nghiên cứu

  • Ghi lại câu chuyện ở bãi đậu xe
  • Ưu tiên truyện ở bãi đậu xe
  • Lọc các câu chuyện để ước tính
  • Xác định SPAN lặp (Thời gian)
  • Lập kế hoạch nguồn lực cho cả nhóm Phát triển và QA

Thiết kế

  • Chia nhỏ nhiệm vụ
  • Chuẩn bị kịch bản kiểm thử cho từng task
  • Khung tự động hồi quy

Thực hiện

  • Lập trình
  • Thực hiện 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ử hồi quy thủ công sang tự động hóa
  • Đánh giá lặp lại giữa
  • Đánh giá kết thúc vòng lặp

Bao bì

  • Phát hành nhỏ
  • Demo và đánh giá
  • Phát triển những câu chuyện mới dựa trên nhu cầu
  • Cải tiến quy trình dựa trên các nhận xét đánh giá cuối vòng lặp

Đóng cửa

  • Khởi chạy thí điểm
  • Hội thảo
  • Ra mắt sản xuất
  • Đảm bảo SLA Đảm bảo
  • Revchiến lược SOA
  • Hỗ trợ sản xuất

Có hai bảng phân cảnh có sẵn để theo dõi công việc hàng ngày và chúng được liệt kê bên dưới để tham khảo.

  • Câu chuyện bìa cứng
    • Đây là cách truyền thống để thu thập tất cả các câu chuyện vào một bảng dưới dạng ghi chú để theo dõi các hoạt động XP hàng ngày. Vì hoạt động thủ công này tốn nhiều công sức và thời gian hơn nên tốt hơn nên chuyển sang hình thức trực tuyến.
  • Bảng phân cảnh trực tuyến
    • Công cụ trực tuyến Storyboard có thể được sử dụng để lưu trữ các câu chuyện. Một số đội có thể sử dụng nó cho các mục đích khác nhau.

Phương pháp tinh thể

Phương pháp tinh thể dựa trên ba khái niệm

  1. Thuê tàu: Các hoạt động khác nhau liên quan đến giai đoạn này bao gồm thành lập nhóm phát triển, thực hiện phân tích tính khả thi sơ bộ, xây dựng kế hoạch ban đầu và tinh chỉnh phương pháp phát triển.
  2. Phân phối theo chu kỳ: Giai đoạn phát triển chính bao gồm hai hoặc nhiều chu kỳ phân phối, trong đó
    1. Nhóm cập nhật và tinh chỉnh kế hoạch phát hành
    2. Triển khai một tập hợp con các yêu cầu thông qua một hoặc nhiều lần lặp tích hợp thử nghiệm chương trình
    3. Sản phẩm tích hợp được đưa đến tay người dùng thực
    4. Revquan điểm về kế hoạch dự án và phương pháp phát triển được áp dụng
  3. Gói (lại: Các hoạt động được thực hiện trong giai đoạn này là triển khai vào môi trường người dùng, thực hiện các đánh giá và phản hồi sau triển khai.

Phương pháp phát triển phần mềm động (DSDM)

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

  1. Thời gian Boxing
  2. Quy tắc MoSCoW
  3. prototyping

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

  1. tiền dự án
  2. Nghiên cứu khả thi
  3. Nghiên cứu kinh doanh
  4. Lặp lại mô hình chức năng
  5. Thiết kế và xây dựng Lặp lại
  6. Thực hiện
  7. Hậu dự án

Phát triển theo hướng tính năng (FDD)

Phương pháp này tập trung vào các tính năng “thiết kế & xây dựng”. Không giống như các phương pháp Agile khác trong kỹ thuật phần mềm, FDD mô tả các giai đoạn công việc rất cụ thể và ngắn gọn phải được thực hiện riêng cho từng tính năng. Nó bao gồm hướng dẫn miền, kiểm tra thiết kế, thúc đẩy xây dựng, kiểm tra mã và thiết kế. FDD phát triển sản phẩm theo dõi những thứ trong mục tiêu

  1. Mô hình hóa đối tượng miền
  2. Phát triển theo tính năng
  3. Quyền sở hữu thành phần/lớp
  4. Nhóm tính năng
  5. Giám định
  6. Quản lý Cấu hình
  7. Bản dựng thông thường
  8. Khả năng hiển thị tiến độ và kết quả

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

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 đúng lúc”. Nó nhằm mục đích 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.

  1. Loại bỏ chất thải
  2. Khuếch đại học tập
  3. Trì hoãn cam kết (quyết định càng muộn càng tốt)
  4. Giao hàng sớm
  5. Trao quyền cho đội
  6. Xây dựng Integrity
  7. Tối ưu hóa toàn bộ

Kanban

Kanban ban đầu xuất phát từ một từ tiếng Nhật có nghĩa là một thẻ chứa tất cả thông tin cần thiết để thực hiện trên sản phẩm ở mỗi giai đoạn trong quá trình hoàn thành. Khung hoặc phương pháp này được áp dụng khá nhiều trong phương pháp kiểm thử phần mềm, đặc biệt là trong các khái niệm Agile.

Scrum Vs Kanban

Cuộc đánh nhau Kanban
Trong kỹ thuật scrum, thử nghiệm phải được chia nhỏ để có thể hoàn thành trong một lần chạy nước rút Không có kích thước mặt hàng cụ thể được quy định
Quy định một sản phẩm tồn đọng được ưu tiên Ưu tiên là tùy chọn
Nhóm Scrum cam kết một lượng công việc cụ thể cho lần lặp lại Cam kết là tùy chọn
Biểu đồ burndown được quy định Không có kích thước mặt hàng cụ thể được quy định
Giữa mỗi lần chạy nước rút, một bảng scrum được thiết lập lại Một bảng Kanban rất bền bỉ. Nó giới hạn số lượng mục ở trạng thái quy trình làm việc
Nó không thể thêm các mục vào vòng lặp đang diễn ra Nó có thể thêm các mục bất cứ khi nào có sẵn dung lượng
WIP bị giới hạn gián tiếp WIP bị giới hạn trực tiếp
Lặp lại theo thời gian được quy định Lặp lại theo thời gian tùy chọn

Cũng kiểm tra:- Kanban Vs. Scrum: Sự khác biệt là gì?

Các chỉ số nhanh nhẹn

Các số liệu có thể được thu thập để sử dụng Agile hiệu quả là:

  • Yếu tố kéo
    • Nỗ lực trong nhiều giờ không đóng góp vào mục tiêu chạy nước rút
    • Hệ số kéo có thể được cải thiện bằng cách giảm số lượng tài nguyên được chia sẻ, giảm lượng công việc không đóng góp
    • Ước tính mới có thể tăng theo tỷ lệ phần trăm của hệ số kéo -Ước tính mới = (Ước tính cũ+hệ số kéo)
  • Vận tốc
    • Số lượng backlog (câu chuyện của người dùng) được chuyển đổi thành chức năng có thể chuyển giao của sprint
  • Số bài kiểm tra đơn vị được thêm vào
  • Khoảng thời gian thực hiện để hoàn thành bản dựng hàng ngày
  • Lỗi được phát hiện trong lần lặp lại hoặc trong các lần lặp trước đó
  • Rò rỉ khuyết tật sản xuất