Phát triển Agile và kiểm thử Agile là hai thuật ngữ riêng biệt tiếp tục gây nhầm lẫn cho nhiều cá nhân. Quá trình phát triển dự án Agile tuân thủ Agile Manifesto và các khái niệm chung được chia sẻ bởi tất cả các phương pháp Agile.
Danh sách các nguyên tắc “kiểm thử” Agile của chúng tôi xuất phát một phần từ những ý tưởng này. Do di sản Lập trình cực đoan được chia sẻ của chúng tôi, chúng tôi đã kế thừa nhiều niềm tin cốt lõi và nguyên tắc hướng dẫn của nó. Ngoài ra, chúng tôi đã tích hợp các quy tắc và ý tưởng đã được chứng minh là hiệu quả cho các nhóm của chúng tôi. Niềm tin và nguyên tắc của nhóm sẽ hướng dẫn bạn khi bạn lựa chọn các phương pháp thực hành và đưa ra quyết định về cách bạn muốn làm việc.
Chúng tôi tin rằng các khái niệm sau đây rất quan trọng đối với một Agile Tester:
- Liên tục đưa ra phản hồi
- Cung cấp giá trị cho khách hàng.
- Tạo điều kiện kết nối trực tiếp.
- Có can đảm.
- Đơn giản hóa
- Thực hành cải tiến liên tục.
- Điều chỉnh để thay đổi
- Tự tổ chức.
- Tập trung vào con người.
- Tận hưởng thành quả của bạn
1. Liên tục đưa ra phản hồi
Cho rằng các dự án Agile được thúc đẩy bởi các bài kiểm tra, không có gì ngạc nhiên khi phản hồi đóng một vai trò quan trọng trong các nhóm Agile. Vai trò truyền thống của người kiểm thử với tư cách là “nhà cung cấp kiến thức” khiến họ thực sự có giá trị đối với một nhóm Agile. Một trong những đóng góp thiết yếu nhất của Agile tester là hỗ trợ chủ sở hữu sản phẩm hoặc khách hàng trình bày rõ ràng các yêu cầu cho từng câu chuyện dưới dạng các ví dụ và kiểm thử. Sau đó, người kiểm thử cộng tác với đồng nghiệp để phát triển các bài kiểm tra có thể thực hiện được dựa trên các tiêu chí này. Tester, lập trình viên và các thành viên khác trong nhóm hợp tác để thực hiện các kiểm tra này thường xuyên và sớm để liên tục được hướng dẫn bởi phản hồi hữu ích.
Trong cuốn sách này, chúng tôi sẽ dành nhiều nỗ lực để giải thích cách thực hiện điều này. Khi nhóm gặp khó khăn, phản hồi có thể được sử dụng để hỗ trợ loại bỏ chúng. Chúng tôi không thể cung cấp giao diện người dùng đáp ứng mong đợi của khách hàng? Hãy tạo một thẻ nhiệm vụ để nhắc chúng ta cộng tác với khách hàng trên các nguyên mẫu giấy của câu chuyện giao diện người dùng tiếp theo.
Ban quản lý có quan tâm đến việc công việc đang tiến hành như thế nào không? Hiển thị một biểu đồ lớn có thể nhìn thấy về các bài kiểm tra hàng ngày được chuẩn bị, thực hiện và thông qua. Hiển thị phạm vi phủ sóng chức năng quy mô lớn, chẳng hạn như ma trận kiểm thử. Có khó khăn ổn định xây dựng? Nhóm của Lisa đã đăng số ngày trước thời điểm phát hành bản dựng để mọi người tập trung vào việc hoàn thành các câu chuyện đúng hạn. Sau khi nó trở thành thói quen, họ không còn cần tín hiệu hình ảnh nữa.
2. Giá trị – Cung cấp cho khách hàng
Phát triển Agile đòi hỏi phải cung cấp giá trị trong các bản phát hành nhỏ chứa khả năng chính xác mà khách hàng đã ưu tiên gần đây. Thông thường, điều này liên quan đến việc giới hạn phạm vi. Rất dễ bị phân tâm bởi nhu cầu của nhóm khách hàng về các tính năng thú vị. Bất cứ ai cũng có thể phản đối những sửa đổi này, nhưng những người kiểm tra thường nhận ra tác động của chúng đối với câu chuyện vì họ phải xem xét các phân nhánh kiểm tra.
Người kiểm tra Agile duy trì một quan điểm rộng. Chúng tôi có thể cung cấp chức năng quan trọng nhất trong lần lặp lại này và thêm vào chức năng đó trong các lần lặp lại tiếp theo. Nếu chúng tôi cho phép các tính năng bổ sung được đưa vào, chúng tôi có nguy cơ không đáp ứng thời hạn của mình. Nếu chúng ta quá bận tâm đến các trường hợp cạnh và bỏ qua chức năng cơ bản trên con đường hạnh phúc, chúng ta sẽ không đáp ứng được nhu cầu của công ty.
Những người kiểm thử Agile sử dụng cùng một phương pháp. Mặc dù một trong những điểm mạnh của nhóm Agile là xác định các trường hợp kiểm thử nằm ngoài kế hoạch, nhưng trước tiên chúng tôi phải đảm bảo rằng các kế hoạch đó hoạt động. Sau đó, chúng ta có thể thêm các bài kiểm tra phủ định và đường viền, đồng thời tự động hóa các bài test cho dự định trước đó. Hãy luôn xem xét điều gì mang lại nhiều giá trị nhất cho người tiêu dùng và nhận thức được bối cảnh của bạn. Thêm các kiểm thử vào một ứng dụng chú trọng về bảo mât là điều cơ bản phải làm. Trong giai đoạn ước tính, thời gian kiểm thử phải được xem xét để đảm bảo phân bổ đủ thời gian cho việc lặp lại để tạo ra tính năng “an toàn”.
3. Tạo điều kiện giao tiếp trực tiếp
Không nhóm nào có thể hoạt động hiệu quả nếu không có sự giao tiếp hiệu quả. Ngày nay, khi có quá nhiều nhóm bị phân tán về mặt địa lý, việc giao tiếp trở nên quan trọng và khó khăn hơn bao giờ hết. Agile tester phải tìm kiếm các phương tiện mới để hỗ trợ giao tiếp. Đó là một phần quan trọng trong hiệu suất công việc của cô ấy.
Bất cứ khi nào người kiểm thử có thắc mắc về cách thức hoạt động của một tính năng hoặc giao diện trông như thế nào, họ có thể tham khảo ý kiến của một lập trình viên và một chuyên gia kinh doanh. Người kiểm thử không bao giờ được cản trở kết nối trực tiếp giữa khách hàng và nhà phát triển, nhưng họ thường có thể hỗ trợ đảm bảo cuộc đối thoại như vậy diễn ra. Người kiểm thử Agile kiểm tra từng câu chuyện hoặc chủ đề từ quan điểm của khách hàng, nhưng họ cũng hiểu các hạn chế và ràng buộc kỹ thuật liên quan đến việc thực thi các tính năng. Khách hàng và nhà phát triển có thể đạt được một ngôn ngữ chung với sự hỗ trợ của họ. Các chuyên gia kinh doanh và kỹ sư phần mềm thường nói các ngôn ngữ riêng biệt.
Họ phải khám phá ra điểm chung để hợp tác hiệu quả. Người kiểm thử có thể hỗ trợ tạo ngôn ngữ dùng chung, phương ngữ dự án hoặc biệt ngữ nhóm.
Sự phát triển Agile phụ thuộc vào sự hợp tác liên tục. Cũng như các thành viên nhóm Agile khác, các thành viên nhóm kiểm thử sẽ tìm kiếm khách hàng và các thành viên nhóm kỹ thuật để thảo luận và cộng tác. Khi một Agile tester nghi ngờ một giả định bị che giấu hoặc giải thích sai yêu cầu, cô ấy sẽ thảo luận vấn đề đó với khách hàng và nhà phát triển. Nếu mọi người ở một tòa nhà khác hoặc ở một lục địa khác cần giao tiếp, họ sẽ tìm kiếm các giải pháp thay thế sáng tạo cho các cuộc nói chuyện trực tiếp, thời gian thực.
4. Dũng cảm
Giá trị chính của XP là sự dũng cảm và các phương pháp như tự động hóa kiểm thử và tích hợp liên tục cho phép các nhóm thể hiện thái độ này. Các nhà phát triển tự tin thực hiện các thay đổi và tổ chức lại mã vì bộ hồi quy tự động cung cấp một mạng lưới an toàn. Trong phần này, chúng ta thảo luận về sức mạnh cảm xúc cần có để thích nghi với một nhóm Agile.
Bạn đã bao giờ làm việc cho một tổ chức mà người kiểm thử không thể giao tiếp với các bên liên quan trong kinh doanh hoặc các thành viên nhóm kỹ thuật khác chưa? Mặc dù bạn có thể chớp lấy cơ hội tham gia hợp tác Agile, nhưng bạn có thể cảm thấy không thoải mái khi phải hỏi khách hàng các ví dụ, nhờ một lập trình viên giúp tự động hóa một bài kiểm tra hoặc đưa ra một khúc mắc quá trình chuẩn bị hàng ngày.
Khi bạn lần đầu tiên tham gia một nhóm Agile hoặc khi nhóm hiện tại của bạn bắt đầu chuyển sang phát triển Agile, việc cảm thấy sợ hãi và có một danh sách các câu hỏi cần câu trả lời là điều bình thường. Làm thế nào chúng ta sẽ hoàn thành các hoạt động kiểm thử cho từng câu chuyện trong một khoảng thời gian ngắn như vậy? Kiểm thử sẽ “theo kịp” quá trình phát triển như thế nào? Làm thế nào để bạn xác định bao nhiêu kiểm thử là đủ? Hoặc nếu bạn là người quản lý kiểm tra chức năng hoặc người quản lý quy trình chất lượng và bạn không rõ vai trò đó thuộc về đâu trong một nhóm Agile và không ai có thể cung cấp cho bạn lời giải thích. Agile tester đòi hỏi sự can đảm để tìm ra câu trả lời cho những vấn đề này, nhưng có những lý do khác để can đảm.
Chúng ta phải có sự tự tin để đối đầu với thất bại, biết rằng ít nhất chúng ta sẽ thất bại nhưng có thể nhanh chóng và có thể học hỏi từ nó. Sau khi chúng tôi mất một lần lặp lại do bản dựng không ổn định, chúng tôi sẽ xem xét các biện pháp để ngăn điều này xảy ra lần nữa. Nó đòi hỏi sự can đảm để cho phép mọi người mắc lỗi, vì đây là cách duy nhất để học hỏi từ họ.
5. Giữ mọi thứ cơ bản
Agile tester và nhóm của họ không chỉ được yêu cầu cung cấp cách triển khai phần mềm đơn giản nhất khả thi mà còn phải thực hiện một cách tiếp cận đơn giản để đảm bảo rằng chương trình đáp ứng yêu cầu của khách hàng. Điều này không có nghĩa là nhóm không nên dành thời gian để phân tích các chủ đề và câu chuyện cũng như xem xét kiến trúc và thiết kế phù hợp nhất. Điều đó có nghĩa là nhóm có thể cần liên lạc với bộ phận kinh doanh của nhóm khi các yêu cầu của họ quá phức tạp và một giải pháp đơn giản hơn sẽ mang lại giá trị tương tự.
Một số người trong chúng tôi làm việc trong các công ty phần mềm, nơi mà với tư cách là nhân viên kiểm tra và đảm bảo chất lượng, chúng tôi được yêu cầu thiết lập các tiêu chuẩn chất lượng. Chúng tôi tin rằng điều này là lạc hậu, vì nhóm khách hàng sẽ quyết định mức chất lượng mà họ sẵn sàng chi trả. Người kiểm tra và các thành viên khác trong nhóm nên thông báo cho khách hàng về tất cả các lĩnh vực chất lượng, bao gồm các nhu cầu phi chức năng như hiệu suất và bảo mật. Quyết định cuối cùng thuộc về người mua. Bằng cách thực hiện một cách tiếp cận đơn giản, từng bước cho công việc của mình, nhóm có thể hỗ trợ khách hàng đưa ra các lựa chọn đúng đắn. Kiểm thử nhanh đang tiến hành các kiểm thử khả thi đơn giản nhất để xác nhận rằng một phần chức năng tồn tại hoặc yêu cầu chất lượng của khách hàng (ví dụ: hiệu suất) đã được đáp ứng.
Đơn giản không có nghĩa là dễ dàng. Đối với người kiểm thử, điều này đòi hỏi phải kiểm thử “vừa đủ” với các công cụ và phương pháp nhẹ nhất hiện có. Các công cụ có thể đơn giản như bảng tính hoặc danh sách. Kiểm thử hồi quy phải được tự động hóa, nhưng chúng ta nên đẩy chúng xuống mức thấp nhất có thể để khuyến khích phản hồi nhanh. Ngay cả các kiểm thử khói đơn giản cũng có thể đủ cho tự động hóa kiểm thử hướng tới doanh nghiệp.
Kiểm thử khám phá có thể được sử dụng để tìm hiểu về ứng dụng của bạn và phát hiện ra các lỗi khó tìm, nhưng bạn nên bắt đầu với các nguyên tắc cơ bản, các chuyến đi phụ trong hộp thời gian và đánh giá xem bạn nên đi bao xa với các tình huống khó khăn. Khả năng duy trì sự tập trung vào rủi ro, lợi tức đầu tư và các khu vực khó chịu nhất được hỗ trợ bởi sự đơn giản.
Kết luận
Nếu bạn đang tìm kiếm một nhà cung cấp IT giàu kinh nghiệm, GCT Solution là sự lựa chọn lý tưởng. Chúng tôi có hơn 3 năm kinh nghiệm trong việc cung cấp các giải pháp số hóa cho doanh nghiệp như phát triển ứng dụng di động, phát triển ứng dụng web, phát triển hệ thống, phát triển blockchain và dịch vụ kiểm thử. Cùng đội ngũ gồm hơn 100 chuyên gia và lập trình viên, chúng tôi có thể xử lý các dự án ở mọi quy mô cũng như độ phức tạp. Chúng tôi đã hợp tác thành công với các khách hàng từ nhiều ngành nghề và khu vực khác nhau, mang lại hơn 50+ giải pháp chất lượng cao. Tại GCT Solution, chúng tôi cam kết hỗ trợ bạn trong việc đạt được mục tiêu của bạn. Nếu bạn quan tâm, xin vui lòng liên hệ với chúng tôi để có một cuộc thảo luận chi tiết. Chúng tôi tự tin rằng GCT Solution có thể đáp ứng mọi nhu cầu IT của bạn với những giải pháp linh hoạt và hiệu quả.