Điều gì tạo nên một Good Agile Tester ?
Bạn có phải là một Good Agile Tester? Kiểm thử trong môi trường agile có sự khác biệt so với các phương pháp truyền thống như waterfall. Agile là một mô hình phát hành theo chu kỳ đòi hỏi sự cộng tác liên tục giữa các thành viên trong nhóm, đưa ra các phản hồi một cách nhanh chóng và có khả năng ...
Bạn có phải là một Good Agile Tester?
Kiểm thử trong môi trường agile có sự khác biệt so với các phương pháp truyền thống như waterfall. Agile là một mô hình phát hành theo chu kỳ đòi hỏi sự cộng tác liên tục giữa các thành viên trong nhóm, đưa ra các phản hồi một cách nhanh chóng và có khả năng tự quản lý.
Có nhiều thách thức khi kiểm thử trong môi trường agile như thiếu tài liệu, thay đổi độ ưu tiên các ticket, ít thời gian để test, nhưng với suy nghĩ và thái độ đúng đắn, các tester có thể tạo ra nhiều giá trị cho dự án và giúp team delivery một cách liên tục với chất lượng phần mềm tốt.
Hãy xem điều gì tạo lên một tester tốt trong một agile team
Sự khác biệt giữa kiểm thử và đảm bảo chất lượng
Một agile tester tốt sẽ biết rằng công việc của họ không bị giới hạn bởi việc chỉ thực hiện các kịch bản test, báo cáo lỗi và xác nhận các bản release. Testing chỉ là một phần trong việc rộng hơn đó là đảm bảo chất lượng phần mềm.
Testing không còn là một phase trong phát hành phần mềm Agile. Nó là một hoạt động liên tục trước, trong và sau mỗi sprint. Trong một agile team, vấn đề mọi người phải chịu trách nhiệm về chất lượng của phần mềm và chất lượng nên được đưa vào ngay từ đầu.
Nếu có bất kỳ bên liên quan nào như BA, Developers hoặc thậm chí những tester khác trong nhóm không tập trung vào chất lượng công việc, thì công việc của tester là nhắc nhở nhóm về hậu quả của những việc đó để cùng nhau xây dựng một phần mềm đảm bảo chất lượng.
Kiến thức kỹ thuật và kiểm thử tự động
Kiểm thử tự động là rất quan trọng đối với sự thành công của một dự án agile vì các automated tests có thể cung cấp phản hồi nhanh chóng và đáng tin cậy cho nhóm phát triển. Các bài test có thể được tự động hóa ở các cấp độ khác nhau với các mục đích khác nhau.
Một good agile tester với hiểu biết kỹ thuật tốt có thể:
- Xác định và tư vấn những bài test nào nên được tự động hóa và ở tầng nào của dự án.
- Chọn các công cụ phù hợp cho việc testing
- Giúp các developers trong việc viết bài kiểm thử tự động và phân tích kết quả
- Tạo các bộ tự động hóa khác nhau, chẳng hạn như smoke pack, full regression pack, end-to-end regression pack ...
- Giảm thiểu thời gian khi thực hiện kiểm thử tự động để có được sự phản hồi nhanh chóng
- Thực hiện việc kiểm thử một cách liên tục
- Cung cấp các số liệu có giá trị
- Sử dụng các công cụ khác nhau để hỗ trợ khi kiểm thử thủ công Agile tester cũng sẽ biết rằng dù automation testing tốt đến đâu, kiểm thử thăm dò vẫn được yêu cầu để bổ sung cho tự động hóa kiểm tra, bởi vì không phải tất cả các lỗi đều có thể được tìm thấy bằng automation testing.
Cung cấp phản hồi nhanh chóng
Một trong những lợi ích chính của phát triển theo mô hình agile là có thể cung cấp một giải pháp làm việc nhanh chóng. Để phát triển nhanh, chúng ta cần nhận phản hồi nhanh về từng phiên code.
Chúng ta nên biết rằng, trong một khoảng thời gian ngắn, liệu những đoạn code mới hoặc cập nhật có gây ra bất kỳ bug hồi quy nào không. Do đó, một trong những mục tiêu của tester trong mô hình agile là cung cấp những thông tin liên quan về tình trạng của ứng dụng một cách nhanh chóng.
Khi các vấn đề được báo cáo sớm, chúng ta có thể khắc phục chúng ngay lập tức và tiếp tục. Nếu vòng phản hồi bị chậm trễ, nhóm đã chuyển sang giai đoạn mới và việc xác định nguyên nhân gốc rễ của vấn đề trở nên khó khăn và tốn thời gian hơn.
Như Kniberg và Skarin đã nói:
“Change something=> Find out how it went => Learn from it => Change something again. Nói chung ta muốn sự phản hồi càng nhanh càng tốt, vì vậy ta có thể điều chỉnh quy trình của mình một cách nhanh chóng” Phản hồi có thể được cung cấp dưới nhiều hình thức như:
- Pair Programming Code Reviews Unit Tests Automated Integration Tests Automated Acceptance Tests Automated Regression Tests Exploratory Testing Tất nhiên rằng các tester phải đảm bảo rằng các bài test phù hợp và hiệu quả sẽ được viết và thực hiện ở từng level
Am hiểu tốt các phương pháp trong Agile
Good agile testers đã đọc và hiểu thông điệp của agile và thực hiện các nguyên tắc của nó trong các công việc hàng ngày của họ. Agile testers biết rằng họ là một phần của delivery team và không có sự tách biệt giữa testing phase và development phase, mà testing là một hoạt động liên tục như một phần của development.
Good agile testers biết rằng sự thay đổi là không thể tránh khỏi và độ ưu tiên cũng thay đổi hàng ngày. Có thể có các bản sửa lỗi khẩn cấp vào phút cuối được yêu cầu kiểm tra lại hoặc kiểm tra các tính năng hay chức năng mới.
Agile Testers hiểu được các thuật ngữ agile và tham gia vào các hoạt động. Họ đọc những cuốn sách như Agile Testing của Lisa Crispin và Janet Gregory, User Stories Applied của Mike Cohn, Specifications By Example của Gojko Adzic.
Kiến thức nghiệp vụ
Để có thể thiết kế các bài test hiệu quả nhằm tìm ra lỗi và thực hiện kiểm thử thăm dò thành công, agile testers cần có hiểu biết và kiến thức tốt về nghiệp vụ. Good agile testers dành thời gian để tìm hiểu thuật ngữ của nghiệp vụ cụ thể, hiểu sơ đồ kiến trúc và giúp đưa ra các tình huống có ý nghĩa.
Mặc dù kiến thức nghiệp vụ rất quan trọng trong môi trường agile testing vì thời gian ngắn và khối lượng công việc khổng lồ, tuy nhiên những good agile testers là những người có kỹ năng cao trong nghề và họ có thể thiết kế ít bài test hơn với độ bao phủ cao hơn và thoải mái sử dụng các kỹ thuật như pairwise để thiết kế các bài test .
Kiến thức nghiệp vụ có thể thu được bằng cách nói chuyện với BA và Developers, làm việc với ứng dụng và đọc bản mô tả yêu cầu.
Luôn học hỏi và cải thiện
Các thành viên trong một nhóm Agile nên có tất cả các kỹ năng cần thiết để xây dựng và đưa ra một giải pháp tốt, bao gồm cả kỹ năng về technical và business
Các thành viên trong một nhóm agile cần có đa kỹ năng. Developers cần biết được tầm quan trọng của việc kiểm thử (hoặc ít nhất là họ nên biết) và viết các kiểm thử tự động khi thích hợp cần áp dụng.
Tương tự, good agile testers luôn cần theo kịp các thay đổi về công nghệ, học các kỹ năng mới, chẳng hạn như coding, HTTP, database, API Testing, technical testing để giúp các developers giữ được tiến độ công việc nhanh.
Như đã nói, điều đó không có nghĩa là nếu người kiểm tra không thể code thì không có chỗ cho họ trong một nhóm agile. Những testers có tay nghề cao cung cấp rất nhiều giá trị cho agile team, tuy nhiên có kiến thức về technical sẽ giúp sự nghiệp của họ phát triển hơn nữa và có nhiều nhu cầu hơn.
Nguồn dịch: https://www.testingexcellence.com/what-makes-good-agile-tester/