Kiểm thử Agile là gì?
AGILE TESTING là một thực hành kiểm thử tuân theo các quy tắc và nguyên tắc của phát triển phần mềm nhanh. Không giống như phương pháp Waterfall, Agile Testing có thể bắt đầu khi bắt đầu dự án với sự tích hợp liên tục giữa phát triển và kiểm thử. Phương pháp Agile Testing không tuần tự (theo nghĩa là nó chỉ được thực thi sau giai đoạn mã hóa) mà là liên tục.
Trong bài viết này, chúng ta sẽ thảo luận về
- Kế hoạch kiểm tra nhanh.
- Các chiến lược thử nghiệm nhanh.
- Góc phần tư thử nghiệm Agile.
- QA thách thức với phát triển phần mềm nhanh.
- Rủi ro về Tự động hóa trong Quy trình Agile.
Kế hoạch thử nghiệm Agile
Kế hoạch thử nghiệm Agile bao gồm các loại thử nghiệm được thực hiện trong lần lặp đó như yêu cầu dữ liệu thử nghiệm, cơ sở hạ tầng, môi trường thử nghiệm và kết quả thử nghiệm. Không giống như mô hình thác nước, trong một mô hình nhanh nhẹn, một kế hoạch thử nghiệm được viết và cập nhật cho mỗi bản phát hành. Các kế hoạch thử nghiệm điển hình trong agile bao gồm
- Phạm vi thử nghiệm
- Các chức năng mới đang được thử nghiệm
- Mức độ hoặc Các loại thử nghiệm dựa trên độ phức tạp của các tính năng
- Kiểm tra tải và hiệu suất
- Xem xét cơ sở hạ tầng
- Kế hoạch giảm thiểu hoặc rủi ro
- Nguồn cung ứng
- Các sản phẩm được giao và các cột mốc quan trọng
Các chiến lược kiểm tra nhanh
Vòng đời của thử nghiệm Agile trải dài qua bốn giai đoạn
(a) Lặp lại 0
Trong giai đoạn đầu tiên hoặc lần lặp 0, bạn thực hiện các tác vụ thiết lập ban đầu. Nó bao gồm xác định người để kiểm tra, cài đặt công cụ kiểm tra, lập lịch tài nguyên (phòng thí nghiệm kiểm tra khả năng sử dụng), v.v. Các bước sau được thiết lập để đạt được trong Lặp lại 0
a) Thành lập nghiệp vụ cho dự án
b) Thiết lập các điều kiện ranh giới và phạm vi dự án
c) Phác thảo các yêu cầu chính và các trường hợp sử dụng sẽ thúc đẩy sự đánh đổi thiết kế
d) Phác thảo một hoặc nhiều kiến trúc ứng viên
e) Xác định rủi ro
f) Dự toán chi phí và chuẩn bị một dự án sơ bộ
(b) Lặp lại xây dựng
Giai đoạn thứ hai của phương pháp kiểm thử nhanh là Xây dựng Lặp lại, phần lớn kiểm thử xảy ra trong giai đoạn này. Giai đoạn này được quan sát như một tập hợp các lần lặp lại để xây dựng phần gia tăng của giải pháp. Để làm được điều đó, trong mỗi lần lặp lại, nhóm thực hiện kết hợp các phương pháp thực hành từ XP, Scrum, mô hình Agile và dữ liệu nhanh, v.v.
Trong lặp đi lặp lại xây dựng, nhóm nhanh nhẹn tuân theo thực hành yêu cầu ưu tiên: Với mỗi lần lặp, họ lấy các yêu cầu thiết yếu nhất còn lại từ ngăn xếp hạng mục công việc và thực hiện chúng.
Quá trình lặp lại xây dựng được phân thành hai, thử nghiệm xác nhận và thử nghiệm điều tra. Thử nghiệm xác nhận tập trung vào việc xác minh rằng hệ thống đáp ứng mục đích của các bên liên quan như được mô tả cho nhóm cho đến nay và được thực hiện bởi nhóm. Trong khi thử nghiệm điều tra phát hiện vấn đề mà nhóm xác nhận đã bỏ qua hoặc bỏ qua. Trong thử nghiệm điều tra, người thử nghiệm xác định các vấn đề tiềm ẩn dưới dạng các câu chuyện lỗi. Thử nghiệm điều tra giải quyết các vấn đề phổ biến như thử nghiệm tích hợp, thử nghiệm tải / căng thẳng và thử nghiệm bảo mật.
Một lần nữa, thử nghiệm xác nhận có hai khía cạnh là thử nghiệm dành cho nhà phát triển và thử nghiệm chấp nhận nhanh . Cả hai đều được tự động hóa để cho phép kiểm tra hồi quy liên tục trong suốt vòng đời. Thử nghiệm xác nhận là tương đương nhanh của thử nghiệm đối với đặc điểm kỹ thuật.
Kiểm thử chấp nhận Agile là sự kết hợp giữa kiểm thử chức năng truyền thống và kiểm thử chấp nhận truyền thống khi nhóm phát triển và các bên liên quan cùng thực hiện. Trong khi thử nghiệm nhà phát triển là sự kết hợp giữa thử nghiệm đơn vị truyền thống và thử nghiệm tích hợp dịch vụ truyền thống. Thử nghiệm dành cho nhà phát triển xác minh cả mã ứng dụng và lược đồ cơ sở dữ liệu.
(c) Phát hành trò chơi kết thúc hoặc giai đoạn chuyển tiếp
Mục tiêu của “Phát hành, kết thúc trò chơi” là triển khai thành công hệ thống của bạn vào sản xuất. Các hoạt động bao gồm trong giai đoạn này là đào tạo người dùng cuối, người hỗ trợ và người vận hành. Ngoài ra, nó bao gồm tiếp thị việc phát hành sản phẩm, sao lưu & phục hồi, hoàn thiện hệ thống và tài liệu người dùng.
Giai đoạn thử nghiệm phương pháp nhanh cuối cùng bao gồm thử nghiệm toàn bộ hệ thống và thử nghiệm chấp nhận. Để hoàn thành giai đoạn thử nghiệm cuối cùng của bạn mà không gặp bất kỳ trở ngại nào, bạn phải kiểm tra sản phẩm nghiêm ngặt hơn khi nó đang trong quá trình lặp lại xây dựng. Trong quá trình kết thúc trò chơi, người kiểm tra sẽ làm việc với các câu chuyện lỗi của nó.
(d) Sản xuất
Sau giai đoạn xuất xưởng, sản phẩm sẽ chuyển sang giai đoạn sản xuất.
Các góc phần tư thử nghiệm Agile
Các góc phần tư kiểm tra nhanh phân tách toàn bộ quá trình thành bốn Góc phần tư và giúp hiểu cách kiểm tra nhanh được thực hiện.
a) Agile Quadrant I - Chất lượng mã nội bộ là trọng tâm chính trong góc phần tư này và nó bao gồm các trường hợp thử nghiệm được định hướng bởi công nghệ và được triển khai để hỗ trợ nhóm, nó bao gồm
1. Bài kiểm tra đơn vị
2. thử nghiệm thành phần
b) Agile Quadrant II - Nó chứa các trường hợp thử nghiệm theo hướng kinh doanh và được triển khai để hỗ trợ nhóm. Góc phần tư này tập trung vào các yêu cầu. Loại thử nghiệm được thực hiện trong giai đoạn này là
1. Kiểm tra các ví dụ về các tình huống và quy trình công việc có thể xảy ra
2. Kiểm tra trải nghiệm người dùng, chẳng hạn như nguyên mẫu
3. Thử nghiệm theo cặp
c) Góc phần tư Agile III - Góc phần tư này cung cấp phản hồi cho các góc phần tư một và hai. Các trường hợp kiểm thử có thể được sử dụng làm cơ sở để thực hiện kiểm thử tự động hóa. Trong góc phần tư này, nhiều vòng đánh giá lặp đi lặp lại được thực hiện để tạo niềm tin vào sản phẩm. Loại thử nghiệm được thực hiện trong góc phần tư này là
1. Kiểm tra khả năng sử dụng
2. Thử nghiệm thăm dò
3. Ghép nối thử nghiệm với khách hàng
4. Thử nghiệm cộng tác
5. Kiểm tra sự chấp nhận của người dùng
d) Agile Quadrant IV - Góc phần tư này tập trung vào các yêu cầu phi chức năng như hiệu suất, bảo mật, độ ổn định, v.v. Với sự trợ giúp của góc phần tư này, ứng dụng được tạo ra để cung cấp các chất lượng phi chức năng và giá trị mong đợi.
1. Kiểm tra phi chức năng như kiểm tra căng thẳng và hiệu suất
2. Kiểm tra bảo mật liên quan đến xác thực và hack
3. Kiểm tra cơ sở hạ tầng
4. Thử nghiệm di chuyển dữ liệu
5. Kiểm tra khả năng mở rộng
6. Kiểm tra tải
Các thách thức QA với phát triển phần mềm nhanh
a) Khả năng xảy ra lỗi nhiều hơn trong linh hoạt, vì tài liệu được ưu tiên ít hơn, cuối cùng gây áp lực nhiều hơn cho nhóm QA
b) Các tính năng mới được giới thiệu nhanh chóng, làm giảm thời gian có sẵn cho các nhóm kiểm tra để xác định xem các tính năng mới nhất có phù hợp với yêu cầu hay không và nó có thực sự phù hợp với doanh nghiệp không
c) Người thử nghiệm thường được yêu cầu đóng vai một nhà phát triển bán được chuyển
d) Các chu kỳ thực hiện kiểm tra được nén nhiều
e) Rất ít thời gian để chuẩn bị kế hoạch kiểm tra
f) Đối với thử nghiệm hồi quy, chúng sẽ có thời gian tối thiểu
g) Thay đổi vai trò của họ từ vai trò người gác cổng về chất lượng thành đối tác về Chất lượng
h) Các thay đổi và cập nhật yêu cầu vốn có trong một phương pháp nhanh nhẹn, trở thành thách thức lớn nhất đối với QA
Rủi ro tự động hóa trong quy trình Agile
- Giao diện người dùng tự động cung cấp mức độ tin cậy cao, nhưng chúng thực thi chậm, dễ bảo trì và tốn kém để xây dựng. Tự động hóa có thể không cải thiện đáng kể năng suất kiểm tra trừ khi người kiểm tra biết cách kiểm tra
- Các bài kiểm tra không đáng tin cậy là một mối quan tâm lớn trong kiểm thử tự động. Việc khắc phục các bài kiểm tra không đạt và giải quyết các vấn đề liên quan đến các bài kiểm tra giòn phải là ưu tiên hàng đầu để tránh dương tính giả
- Nếu kiểm tra tự động được bắt đầu theo cách thủ công thay vì thông qua CI (Tích hợp liên tục) thì có nguy cơ chúng không chạy thường xuyên và do đó có thể gây ra lỗi kiểm tra
- Kiểm tra tự động không thay thế cho kiểm tra thủ công thăm dò. Để có được chất lượng mong đợi của sản phẩm, cần phải có sự kết hợp của các loại và mức độ thử nghiệm.
- Nhiều công cụ tự động hóa có sẵn trên thị trường cung cấp các tính năng đơn giản như tự động hóa việc chụp và phát lại các trường hợp thử nghiệm thủ công. Công cụ như vậy khuyến khích thử nghiệm thông qua giao diện người dùng và dẫn đến một thử nghiệm vốn đã giòn và khó bảo trì. Ngoài ra, việc lưu trữ các trường hợp kiểm thử bên ngoài hệ thống kiểm soát phiên bản tạo ra sự phức tạp không cần thiết
- Để tiết kiệm thời gian, nhiều khi kế hoạch kiểm tra tự động hóa được lập kế hoạch kém hoặc không có kế hoạch dẫn đến việc kiểm tra không thành công
- Quy trình thiết lập và loại bỏ thử nghiệm thường bị bỏ sót trong quá trình tự động hóa thử nghiệm, trong khi Thực hiện thử nghiệm thủ công, một quy trình thiết lập và loại bỏ thử nghiệm nghe có vẻ liền mạch
- Các chỉ số về năng suất, chẳng hạn như một số trường hợp thử nghiệm được tạo hoặc thực hiện mỗi ngày có thể gây hiểu lầm đáng kể và có thể dẫn đến việc đầu tư lớn vào việc chạy các thử nghiệm vô ích
- Các thành viên của nhóm tự động hóa nhanh phải là những nhà tư vấn hiệu quả: dễ tiếp cận, hợp tác và tháo vát, nếu không hệ thống này sẽ nhanh chóng bị lỗi
- Tự động hóa có thể đề xuất và cung cấp các giải pháp thử nghiệm yêu cầu bảo trì liên tục quá nhiều so với giá trị được cung cấp
- Thử nghiệm tự động có thể thiếu chuyên môn để hình thành và cung cấp các giải pháp hiệu quả
- Thử nghiệm tự động có thể thành công đến mức họ hết các vấn đề quan trọng cần giải quyết và do đó chuyển sang các vấn đề không quan trọng.
Phần kết luận
Phương pháp Agile trong kiểm thử phần mềm liên quan đến việc kiểm tra càng sớm càng tốt trong vòng đời phát triển phần mềm. Nó đòi hỏi sự tham gia của khách hàng cao và mã thử nghiệm ngay khi có sẵn. Mã phải đủ ổn định để đưa nó đi kiểm tra hệ thống. Kiểm tra hồi quy mở rộng có thể được thực hiện để đảm bảo rằng các lỗi đã được sửa và kiểm tra. Chủ yếu, giao tiếp giữa các nhóm làm cho việc thử nghiệm mô hình nhanh thành công !!!