Scrum Testing

Hướng dẫn cho người mới bắt đầu thử nghiệm Scrum

Scrum là gì?

Xây dựng các ứng dụng phần mềm phức tạp là một nhiệm vụ khó khăn

Mô hình Scrum là một giải pháp để thực hiện nhiệm vụ phức tạp như vậy

Nó giúp nhóm phát triển tập trung vào tất cả các khía cạnh của sản phẩm như chất lượng, hiệu suất, khả năng sử dụng, v.v

Sau đây là các tính năng chính của Scrum:

  • Scrum có lịch trình cố định ngắn của các chu kỳ phát hành với phạm vi điều chỉnh được gọi là sprints để giải quyết nhu cầu phát triển thay đổi nhanh chóng. Mỗi bản phát hành có thể có nhiều sprint. Mỗi dự án Scrum có thể có nhiều lần release

  • Lặp lại của các cuộc họp, sự kiện và các mốc quan trọng

  • Thự hiện kiểm thử và thực hiện các yêu cầu mới, được gọi là stories , để đảm bảo một số chức năng được sẵn sàng release sau mỗi sprint

Scrum dựa trên 3 mục sau

1. Vai trò trong Scrum

Có ba vai trò chính trong kiểm thử Scrum - Product Owner, Scrum Master và Nhóm phát triển

Product Owner Scrum Master Nhóm phát triển
Định nghĩa các tính năng của sản phẩm Quản lý team và kiểm soát năng suất của team Thường có khoảng 5-9 thành viên
Quyết định ngày phát hành và các tính năng tương ứng Duy trì danh sách chặn và loại bỏ các rào cản trong quá trình phát triển Bao gồm các developers, designer và đôi khi là testers, v.v.
Ưu tiên các tính năng theo giá trị thị trường và lợi nhuận của sản phẩm Phối hợp với team dưới tất cả các vai trò và chức năng Tự tổ chức và lên lịch cho công việc của họ
Chịu trách nhiệm về lợi nhuận của sản phẩm Bảo vệ đội khỏi các can thiệp bên ngoài Có quyền làm mọi thứ trong ranh giới của dự án để đáp ứng mục tiêu của sprint
Có thể chấp nhận hoặc từ chối kết quả đã yêu cầu Tổ chức daily scrum, xem xét sprint và lên kế hoạch cho các cuộc họp Tích cực tham gia các tiến trình (ceremonies) hàng ngày

2. Scrum Artifacts

Một quy trình scrum bao gồm:

  • User stories: Giải thích ngắn về chức năng của hệ thống đang được thử nghiệm

  • Product Backlog: Một tập hợp các user stories được ghi lại cho một sản phẩm scrum. Product owner chuẩn bị và duy trì product backlog. Nó được đánh độ ưu tiên bởi product owner và bất kỳ ai cũng có thể thêm vào đó với sự chấp thuận từ product owner

  • Release Backlog: Bản release là khung thời gian trong đó số lần lặp được hoàn thành. Product owner phối hợp với scrum master để quyết định những stories nào sẽ nằm trong phạm vị release. Những stories trong bản release backlog được xác định mục tiêu sẽ hoàn thành trong bản release nào

  • Sprints: Đây là khoảng thời gian định sẵn để hoàn thành các user stories, được quyết định bởi product owner và nhóm nhà phát triển, thường là 2-4 tuần

  • Sprint Backlog: Đây là một tập hợp các user stories sẽ được hoàn thành trong sprint. Trong sprint backlog, công việc sẽ không bao giờ được phân chia và nhóm tự mình đăng ký làm việc. Nó được sở hữu và quản lý bởi nhóm phát triển trong khi công việc ước tính còn lại được cập nhật hàng ngày. Đây là danh sách các nhiệm vụ phải được thực hiện trong Sprint

  • Block List: Đây là danh sách các blocks và các quyết định chưa được tạo bởi scrum master và được cập nhật hàng ngày

  • Burndown chart: Biểu đồ Burn-down thể hiện tiến độ chung của công việc đang tiến hành và công việc hoàn thành trong suốt quá trình. Nó thể hiện dưới dạng biểu đồ những stories và tính năng chưa hoàn thành

3. Ceremonies (Quy trình) trong Scrum

  • Sprint Planning: Một sprint bắt đầu với việc nhóm thêm stories từ release backlog vào sprint backlog; nó được lưu trữ bởi scrum master. Testers ước tính nỗ lực để kiểm tra các stories khác nhau trong Sprint Backlog

  • Daily Scrum: Nó được lưu trữ bởi scrum master, nó kéo dài khoảng 15 phút. Trong Daily Scrum, các thành viên sẽ thảo luận về công việc đã hoàn thành vào ngày hôm trước, công việc được lên kế hoạch cho ngày hôm sau và các vấn đề phải đối mặt trong sprint. Trong cuộc họp hàng ngày tiến độ nhóm sẽ được theo dõi

  • Sprint Review/ Retrospective: Nó cũng được lưu trữ bởi scrum master, nó kéo dài khoảng 2-4 giờ và thảo luận về những gì nhóm đã hoàn thành trong sprint cuối cùng và những rút ra những bài

học

Vai trò của tester trong Scrum

Không có vai trò chính thức của Tester trong Quy trình Scrum.

Thông thường, kiểm tra được thực hiện bởi nhà phát triển với Unit Test.

Trong khi product owner cũng thường xuyên tham gia vào quá trình thử nghiệm trong mỗi sprint. Một số dự án Scrum có các nhóm thử nghiệm chuyên dụng tùy thuộc vào tính chất & độ phức tạp của dự án

Tester sẽ làm gì trong scrum?

Hoạt động kiểm thử trong Scrum

Testers thực hiện các hoạt động sau trong các giai đoạn khác nhau của Scrum

Sprint Planning

  • Trong kế hoạch sprint, tester nên chọn một user-story từ product backlog cần được kiểm thử

  • Tester nên quyết định cần bao nhiêu giờ (Effort Estimation) để hoàn thành kiểm thử cho mỗi user stories đã chọn

  • Tester phải biết xác định mục tiêu trong sprint là gì

  • Tester đóng góp vào quá trình xác định độ ưu tiên

Sprint

  • Hỗ trợ các nhà phát triển trong unit testing

  • Kiểm thử user-story khi nó được hoàn thành. Quá trình kiểm thử được thực hiện trong phòng lab nơi cả tester và nhà phát triển cùng làm việc. Bug được log vào các công cụ quản lý lỗi được theo dõi hàng ngày. Bug có thể được trao đổi và phân tích trong cuộc họp scrum. Bug được kiểm tra lại ngay sau khi nó được fix và triển khai để thử nghiệm

  • Tester tham dự tất cả các cuộc họp standup hàng ngày để trao đổi

  • Tester có thể mang bất kỳ mục tồn đọng nào không thể hoàn thành trong sprint hiện tại và chuyển sang sprint tiếp theo

  • Tester chịu trách nhiệm phát triển các automation scripts. Lên lịch automation testing với hệ thống Tích hợp liên tục (CI). Automation đóng vai trò quan trọng trong giai đoạn thời gian delivery ngắn. Test Automation có thể được thực hiện bằng cách sử dụng các công cụ nguồn mở hoặc trả phí khác nhau có sẵn trên thị trường. Điều này chứng tỏ hiệu quả trong việc đảm bảo rằng tất cả mọi thứ cần được kiểm tra đều đã được kiểm chứng

  • Xem xét kết quả tự động hóa CI và gửi báo cáo cho các bên liên quan

  • Thực hiện kiểm tra phi chức năng cho các user stories đã được approved

  • Phối hợp với khách hàng và product owner để xác định tiêu chí chấp nhận cho Acceptance Tests

  • Vào cuối sprint, tester cũng thực hiện acceptance testing (UAT) trong một số trường hợp và xác nhận tính đầy đủ của kiểm tra cho sprint hiện tại

Sprint Retrospective

  • Tester sẽ tìm ra những gì đã sai và những gì đã đi đúng trong giai đoạn sprint hiện tại

  • Tester xác định bài học kinh nghiệm và thực hành tốt nhất

Test Reporting

Báo cáo số liệu kiểm tra Scrum cung cấp tính minh bạch và khả năng hiển thị cho các bên liên quan về dự án

Các số liệu được báo cáo cho phép nhóm phân tích tiến trình của họ và lập kế hoạch chiến lược trong tương lai để cải thiện sản phẩm. Có hai số liệu thường được sử dụng để báo cáo

Burn down chart: Mỗi ngày, Scrum Master ghi lại công việc còn lại ước tính cho sprint trên biểu đồ Burn Down được cập nhật hàng ngày

Biểu đồ phát sinh cho biết tổng quan nhanh về tiến độ dự án, biểu đồ này chứa thông tin như tổng số lượng công việc trong dự án phải hoàn thành, số lượng công việc hoàn thành trong mỗi sprint

Velocity history graph: Biểu đồ lịch sử vận tốc dự đoán vận tốc của đội đạt được trong mỗi sprint. Nó là một biểu đồ thanh và biểu thị cách đầu ra của các đội đã thay đổi theo thời gian

Các số liệu bổ sung có thể hữu ích là ghi lịch biểu, ghi ngân sách, phần trăm đã hoàn thành, stories đã hoàn thành - stories còn lại, v.v

Nguồn tài liệu: https://www.guru99.com/scrum-testing-beginner-guide.html