Bài viết này sẽ giúp bạn hiểu được Agile Testing là gì? Đồng thời cung cấp các thông tin cơ bản, tổng hợp nhất về chủ đề này.
Agile Testing là gì?
Agile Testing là một quy trì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 Agile. Agile testing phù hợp với phương pháp phát triển lặp đi lặp lại, các yêu cầu của khách hàng được phát triển dần dần. Sự phát triển phù hợp với yêu cầu của khách hàng.
Agile Testing là một quá trình liên tục chứ không phải là tuần tự. Việc thử nghiệm bắt đầu khi bắt đầu dự án và có sự tích hợp liên tục giữa thử nghiệm và phát triển. Mục tiêu chung của phát triển và thử nghiệm nhanh là đạt được chất lượng sản phẩm cao.
Agile Testing và WaterFall Testing
Agile Testing được áp dụng trong khi làm việc với Agile, trong khi Waterfall Testing được sử dụng trong mô hình Waterfall.
Dưới đây là một số khác biệt chính giữa Agile testing và waterfall testing:
Agile Testing | Waterfall Testing |
Agile testing không có cấu trúc so với cách tiếp cận Waterfall và có kế hoạch tối thiểu. | Trong mô hình Waterfall, quy trình thử nghiệm có cấu trúc chặt chẽ hơn và có mô tả chi tiết về giai đoạn thử nghiệm. |
Agile testing rất phù hợp cho các dự án nhỏ | Waterfall testing có thể được thông qua cho tất cả các loại dự án. |
Kiểm thử bắt đầu khi bắt đầu dự án, lỗi có thể được sửa ở giữa dự án. | Trong waterfall testing, sản phẩm được thử nghiệm vào cuối quá trình phát triển. Đối với bất kỳ thay đổi, dự án phải bắt đầu lại từ đầu. |
Tài liệu đơn giản | Các waterfall testing trong cách tiếp cận waterfall đòi hỏi tài liệu phức tạp. |
Trong phương pháp này, mỗi lần lặp lại có giai đoạn thử nghiệm riêng. Các bài kiểm tra hồi quy có thể được chạy mỗi khi các chức năng hoặc logic mới được phát hành. | Việc thử nghiệm chỉ bắt đầu sau khi hoàn thành giai đoạn phát triển. |
Trong agile testing, các tính năng có thể chuyển của sản phẩm được gửi đến khách hàng khi kết thúc một lần lặp. | Theo cách tiếp cận truyền thống này, tất cả các tính năng được phát triển sẽ được phân phối hoàn toàn sau giai đoạn thực hiện. |
Người kiểm thử và nhà phát triển làm việc chặt chẽ trong Agile testing. | Người kiểm thử và nhà phát triển làm việc riêng. |
Sự chấp nhận của người dùng được thực hiện vào cuối của mỗi sprint | Sự chấp nhận của người dùng chỉ có thể được thực hiện khi kết thúc dự án. |
Tester cần làm việc với các nhà phát triển để phân tích các yêu cầu và lập kế hoạch. | Các nhà phát triển không tham gia vào việc phân tích các yêu cầu và quy trình lập kế hoạch. |
Nguyên tắc Agile Testing
Kiểm thử là liên tục: Nhóm Agile kiểm tra liên tục vì đó là cách duy nhất để đảm bảo tiến độ liên tục của sản phẩm.
Phản hồi liên tục – Agile Testing cung cấp phản hồi trên cơ sở liên tục và đây là cách sản phẩm của bạn đáp ứng nhu cầu kinh doanh.
Các thử nghiệm được thực hiện bởi cả nhóm: Trong vòng đời phát triển phần mềm truyền thống, chỉ có nhóm thử nghiệm chịu trách nhiệm thử nghiệm nhưng trong agile testing, các nhà phát triển và nhà phân tích kinh doanh cũng thử nghiệm ứng dụng.
Giảm thời gian phản hồi: Nhóm kinh doanh tham gia vào mỗi lần lặp trong agile testing và phản hồi liên tục rút ngắn thời gian phản hồi.
Mã đơn giản & sạch sẽ: Tất cả các lỗi được đưa ra bởi nhóm agile được sửa trong cùng một lần lặp và nó giúp giữ cho mã sạch và đơn giản hóa.
Tài liệu ít hơn: Các nhóm Agile sử dụng danh sách kiểm tra có thể sử dụng lại, nhóm tập trung vào kiểm tra thay vì các chi tiết ngẫu nhiên.
Thử nghiệm hướng dẫn: Trong các phương pháp agile, thử nghiệm được thực hiện tại thời điểm thực hiện trong khi đó, trong quy trình truyền thống, thử nghiệm được thực hiện sau khi triển khai.
Phương pháp Agile Testing
Có nhiều phương pháp agile tesing như sau:
- Phát triển hướng hành vi
- Phát triển hướng kiểm thử tiếp nhận
- Thử nghiệm thăm dò
Phát triển hướng hành vi (BDD)
Phát triển hướng hành vi (BDD) cải thiện giao tiếp giữa các bên liên quan của dự án để tất cả các thành viên hiểu chính xác từng tính năng trước khi quá trình phát triển bắt đầu. Có sự liên lạc dựa trên ví dụ liên tục giữa các nhà phát triển, người thử nghiệm và nhà phân tích kinh doanh.
Các ví dụ được gọi là kịch bản được viết theo định dạng đặc biệt gọi là cú pháp Gherkin Given/When/Then. Các kịch bản chứa thông tin về cách một tính năng nhất định sẽ hoạt động trong các tình huống khác nhau với các tham số đầu vào khác nhau. Chúng được gọi là các thông số kỹ thuật có thể thực hiện được bởi vì nó bao gồm cả thông số kỹ thuật và đầu vào cho các thử nghiệm tự động.
Phát triển hướng kiểm thử tiếp nhận (ATDD)
ATDD tập trung vào việc liên quan đến các thành viên trong nhóm với các quan điểm khác nhau như khách hàng, nhà phát triển và người thử nghiệm. Ba cuộc họp của Amigos được tổ chức để hình thành các thử nghiệm chấp nhận kết hợp các quan điểm của khách hàng, phát triển và thử nghiệm. Khách hàng tập trung vào vấn đề cần giải quyết, sự phát triển tập trung vào cách giải quyết vấn đề trong khi thử nghiệm tập trung vào những gì có thể sai. Các thử nghiệm chấp nhận là một đại diện cho quan điểm của người dùng và nó mô tả cách hệ thống sẽ hoạt động. Nó cũng giúp xác minh rằng các chức năng hệ thống như nó được yêu cầu. Trong một số trường hợp kiểm tra chấp nhận được tự động.
Thử nghiệm thăm dò
Trong loại thử nghiệm này, giai đoạn thiết kế thử nghiệm và thực hiện thử nghiệm đi đôi với nhau. Kiểm tra thăm dò nhấn mạnh phần mềm làm việc trên tài liệu toàn diện. Các cá nhân và tương tác quan trọng hơn quá trình và công cụ. Hợp tác khách hàng giữ giá trị lớn hơn so với đàm phán hợp đồng. Thử nghiệm thăm dò là thích ứng hơn với những thay đổi. Trong thử nghiệm này xác định chức năng của một ứng dụng bằng cách khám phá ứng dụng. Những người thử nghiệm cố gắng tìm hiểu ứng dụng, và thiết kế và thực hiện các kế hoạch kiểm tra theo kết quả của họ.
Ưu điểm của Agile Testing
Những lợi ích của phương pháp agile testing như sau:
- Nó tiết kiệm thời gian và tiền bạc
- Kiểm tra Agile làm giảm tài liệu
- Nó linh hoạt và có khả năng thích ứng cao với những thay đổi
- Nó cung cấp một cách để nhận phản hồi thường xuyên từ người dùng cuối
Kế hoạch Agile Testing
Trong agile testing, kế hoạch kiểm tra được viết cũng như cập nhật cho mỗi bản phát hành. Một kế hoạch agile testing bao gồm:
Trong agile testing, kế hoạch kiểm tra được viết cũng như cập nhật cho mỗi bản phát hành. Một kế hoạch agile testing bao gồm:
- Kế hoạch agile testing
- Phạm vi thử nghiệm
- Hợp nhất các chức năng mới sẽ được thử nghiệm
- Các loại thử nghiệm / Cấp độ thử nghiệm
- Kiểm tra hiệu suất
- Cân nhắc về kiến trúc
- Kế hoạch cho rủi ro
- Quy hoạch tài nguyên
- Bàn giao sản phẩm & mốc
Vòng đời kiểm tra Agile
Vòng đời thử nghiệm nhanh bao gồm 5 giai đoạn sau:
- Đánh giá tác động
- Lập kế hoạch Agile testing
- Sẵn sàng phát hành
- Scrum hàng ngày
- Kiểm thử linh hoạt
Kết luận
Agile Testing không chỉ tạo điều kiện phát hiện sớm các lỗi mà còn giảm chi phí lỗi bằng cách sửa chúng sớm. Cách tiếp cận này cũng mang lại một cách tiếp cận lấy khách hàng làm trung tâm bằng cách cung cấp một sản phẩm chất lượng cao càng sớm càng tốt.
Author: Mai Công Sơn
Đăng ký nhận bộ tài liệu học Java trên 2 trang giấy tại đây