Kiểm tra Agile - Tổng quan
Agilelà một phương pháp luận phát triển lặp đi lặp lại, trong đó cả hoạt động phát triển và kiểm tra đều đồng thời. Kiểm tra không phải là một giai đoạn riêng biệt; Mã hóa và Kiểm tra được thực hiện tương tác và tăng dần, dẫn đến chất lượng sản phẩm cuối cùng đáp ứng yêu cầu của khách hàng. Hơn nữa, tích hợp liên tục dẫn đến việc loại bỏ lỗi sớm và do đó tiết kiệm thời gian, công sức và chi phí.
Tuyên ngôn Agile
Tuyên ngôn Agile được xuất bản bởi một nhóm các nhà phát triển phần mềm vào năm 2001, nêu bật tầm quan trọng của nhóm phát triển, đáp ứng các yêu cầu thay đổi và sự tham gia của khách hàng.
The Agile Manifesto is −
Chúng tôi đang khám phá ra những cách tốt hơn để phát triển phần mềm bằng cách thực hiện nó và giúp những người khác làm điều đó. Thông qua công việc này, chúng tôi đã hiểu ra giá trị -
- Các cá nhân và tương tác qua các quy trình và công cụ.
- Phần mềm làm việc trên tài liệu toàn diện.
- Hợp tác với khách hàng trong đàm phán hợp đồng.
- Đáp ứng sự thay đổi so với việc tuân theo một kế hoạch.
Có nghĩa là, trong khi có giá trị trong các mục ở bên phải, chúng ta đánh giá các mục ở bên trái nhiều hơn.
Kiểm thử Agile là gì?
Agile Testing là một thực hành kiểm thử phần mềm tuân theo các nguyên tắc phát triển phần mềm nhanh.
Kiểm thử Agile liên quan đến tất cả các thành viên của nhóm dự án, với chuyên môn đặc biệt do người kiểm thử đóng góp. Kiểm thử không phải là một giai đoạn riêng biệt và được đan xen với tất cả các giai đoạn phát triển như yêu cầu, thiết kế và mã hóa và tạo trường hợp thử nghiệm. Kiểm tra diễn ra đồng thời thông qua Vòng đời phát triển.
Hơn nữa, với việc người kiểm thử tham gia vào toàn bộ Vòng đời phát triển cùng với các thành viên trong nhóm chức năng chéo, sự đóng góp của người kiểm thử trong việc xây dựng phần mềm theo yêu cầu của khách hàng, với thiết kế và mã tốt hơn sẽ trở nên khả thi.
Kiểm thử Agile bao gồm tất cả các cấp độ kiểm thử và tất cả các loại kiểm thử.
Thử nghiệm Agile Vs. Thử nghiệm thác nước
Trong phương pháp luận Phát triển thác nước, các hoạt động Vòng đời phát triển diễn ra theo các giai đoạn tuần tự. Do đó, kiểm thử là một giai đoạn riêng biệt và chỉ được bắt đầu sau khi hoàn thành giai đoạn phát triển.
Sau đây là những điểm nổi bật về sự khác biệt giữa Thử nghiệm Agile và Thử nghiệm thác nước -
Kiểm tra nhanh | Thử nghiệm thác nước |
---|---|
Kiểm tra không phải là một giai đoạn riêng biệt và diễn ra đồng thời với sự phát triển. | Kiểm tra là một giai đoạn riêng biệt. Tất cả các cấp độ và loại thử nghiệm chỉ có thể bắt đầu sau khi hoàn thành quá trình phát triển. |
Người kiểm tra và nhà phát triển làm việc cùng nhau. | Người kiểm tra làm việc riêng biệt với các nhà phát triển. |
Người kiểm tra tham gia vào việc đưa ra các yêu cầu. Điều này giúp ánh xạ các yêu cầu đến các hành vi trong kịch bản thế giới thực và cũng đóng khung các tiêu chí chấp nhận. Ngoài ra, các Trường hợp Kiểm tra Chấp nhận hợp lý sẽ sẵn sàng cùng với các yêu cầu. | Người kiểm tra có thể không tham gia vào giai đoạn yêu cầu. |
Kiểm tra chấp nhận được thực hiện sau mỗi lần lặp lại và phản hồi của khách hàng được tìm kiếm. | Kiểm tra chấp nhận chỉ được thực hiện khi kết thúc dự án. |
Mỗi lần lặp đều hoàn thành thử nghiệm của chính nó, do đó cho phép kiểm thử hồi quy được thực hiện mỗi khi các chức năng hoặc logic mới được phát hành. | Kiểm tra hồi quy chỉ có thể được thực hiện sau khi hoàn thành quá trình phát triển. |
Không có thời gian chậm trễ giữa mã hóa và thử nghiệm. | Thời gian chậm trễ thông thường giữa mã hóa và thử nghiệm. |
Thử nghiệm liên tục với các mức thử nghiệm chồng chéo. | Kiểm tra là một hoạt động có tính thời gian và các cấp độ kiểm tra không được trùng lặp. |
Kiểm tra là một thực hành tốt nhất. | Kiểm tra thường bị bỏ qua. |
Nguyên tắc thử nghiệm Agile
Các nguyên tắc của thử nghiệm Agile là -
Testing moves the project forward- Kiểm tra liên tục là cách duy nhất để đảm bảo tiến độ liên tục. Thử nghiệm Agile cung cấp phản hồi trên cơ sở liên tục và sản phẩm cuối cùng đáp ứng nhu cầu kinh doanh.
Testing is not a phase- Các bài kiểm tra nhóm Agile cùng với nhóm phát triển để đảm bảo rằng các tính năng được triển khai trong một lần lặp nhất định được thực hiện. Thử nghiệm không được giữ cho giai đoạn sau.
Everyone tests- Trong thử nghiệm nhanh, toàn bộ nhóm bao gồm các nhà phân tích, nhà phát triển và người kiểm tra sẽ kiểm tra ứng dụng. Sau mỗi lần lặp lại, ngay cả khách hàng cũng thực hiện Kiểm tra sự chấp nhận của người dùng.
Shortening Feedback Loops- Trong Thử nghiệm Agile, nhóm kinh doanh biết được sự phát triển sản phẩm cho mỗi lần lặp lại. Chúng tham gia vào mọi lần lặp lại. Phản hồi liên tục rút ngắn thời gian phản hồi phản hồi và do đó chi phí liên quan đến việc sửa chữa nó ít hơn.
Keep the Code Clean- Các khuyết tật được sửa chữa khi chúng được nâng lên trong cùng một lần lặp lại. Điều này đảm bảo mã sạch ở bất kỳ mốc phát triển nào.
Lightweight Documentation - Thay vì tài liệu kiểm tra toàn diện, người kiểm tra Agile -
Sử dụng danh sách kiểm tra có thể tái sử dụng để đề xuất các bài kiểm tra.
Tập trung vào bản chất của bài kiểm tra hơn là các chi tiết ngẫu nhiên.
Sử dụng các kiểu / công cụ tài liệu nhẹ.
Nắm bắt các ý tưởng thử nghiệm trong biểu đồ để thử nghiệm khám phá.
Tận dụng các tài liệu cho nhiều mục đích.
Leveraging one test artifact for manual and automated tests- Có thể sử dụng cùng một cấu phần tập lệnh thử nghiệm để thử nghiệm thủ công và làm đầu vào cho các thử nghiệm tự động. Điều này loại bỏ yêu cầu của Tài liệu kiểm tra thủ công và sau đó là Tập lệnh kiểm tra tự động hóa tương đương.
“Done Done,” not just done - Trong Agile, một tính năng được cho là không phải được thực hiện sau khi phát triển mà là sau khi phát triển và thử nghiệm.
Test-Last vs. Test Driven- Các trường hợp kiểm thử được viết cùng với các yêu cầu. Do đó, sự phát triển có thể được thúc đẩy bởi thử nghiệm. Cách tiếp cận này được gọi là Phát triển theo hướng kiểm tra (TDD) và Phát triển theo hướng kiểm tra chấp nhận (ATDD). Điều này trái ngược với thử nghiệm là giai đoạn cuối cùng trong Thử nghiệm thác nước.
Hoạt động thử nghiệm Agile
Các Hoạt động Kiểm tra Agile ở Cấp độ Dự án là -
Lập kế hoạch phát hành (Kế hoạch thử nghiệm)
Đối với mỗi Lặp lại,
Hoạt động kiểm tra nhanh trong quá trình lặp lại
Kiểm tra hồi quy
Hoạt động phát hành (Liên quan đến thử nghiệm)
Các Hoạt động Kiểm tra Agile trong một lần lặp lại bao gồm:
- Tham gia lập kế hoạch lặp lại
- Ước tính nhiệm vụ từ quan điểm thử nghiệm
- Viết các trường hợp thử nghiệm bằng cách sử dụng mô tả tính năng
- Kiểm tra đơn vị
- Thử nghiệm hội nhập
- Kiểm tra tính năng
- Sửa lỗi
- Thử nghiệm hội nhập
- Kiểm tra chấp nhận
- Báo cáo Tình trạng về Tiến độ Kiểm tra
- Theo dõi khiếm khuyết