ISTQB – Chương 5 – Mục 5.1- Quản lý kiểm thử (Test Management) – Phần 1/2

Kiểm thử là một hoạt động phức tạp. Kiểm thử thường là một tiểu dự án riêng biệt trong dự án phát triển, bảo trì hoặc tích hợp phần mềm lớn hơn. Kiểm thử thường chiếm một tỷ lệ đáng kể trong ngân sách dự án tổng thể. Do đó, phải hiểu cách quản lý việc kiểm thử mà chúng ta thực hiện.

Trong chương này, chúng ta đề cập đến các chủ đề thiết yếu để quản lý kiểm thử. Đầu tiên, liên quan đến cách tổ chức người kiểm thử và việc kiểm thử. Thứ hai, liên quan đến việc ước tính, lập kế hoạch và lập chiến lược cho nỗ lực kiểm thử. Thứ ba, theo dõi tiến độ kiểm thử, báo cáo kiểm thử và kiểm soát việc kiểm thử. Thứ tư, giải thích quản lý cấu hình và mối quan hệ của nó với kiểm thử. Phần thứ năm bao gồm chủ đề về rủi ro và cách mà kiểm thử ảnh hưởng và bị ảnh hưởng bởi rủi ro sản phẩm và dự án. Phần thứ sáu và cũng là phần cuối cùng thảo luận về việc quản lý các sự cố, cả lỗi sản phẩm và các sự kiện khác cần nghiên cứu thêm.

TỔ CHỨC KIỂM THỬ

Nội dung sẽ xuất hiện trong bài thi ISTQB Foundation (CTFL)

  1. Nhận thức được tầm quan trọng của kiểm thử độc lập. (K1)
  2. Liệt kê những lợi ích và hạn chế của kiểm thử độc lập trong một tổ chức. (K2)
  3. Nhận biết các thành viên khác nhau trong nhóm sẽ được cân nhắc để thành lập nhóm kiểm thử. (K1)
  4. Nhắc lại nhiệm vụ của trưởng nhóm kiểm thử và người  kiểm thử điển hình. (K1)

Trong phần này, hãy nói về việc tổ chức một nỗ lực kiểm thử trong một dự án. Chúng ta sẽ xem xét giá trị của kiểm thử độc lập và thảo luận về những lợi ích và rủi ro tiềm ẩn liên quan đến kiểm thử độc lập. Chúng ta sẽ kiểm thử một sốloại thành viên nhóm kiểm thử khác nhau mà chúng ta có thể muốn có trong nhóm kiểm thử. Và chúng ta sẽ tự làm quen với các nhiệm vụ điển hình được thực hiện bởi trưởng nhóm kiểm thử (test leader )và người kiểm thử (tester).

Các thuật ngữ được sử dụng: người kiểm thử (tester), trưởng nhóm kiểm thử (test leader) và người quản lý kiểm thử (test manager).

Kiểm thử độc lập và kiểm thử tích hợp

Trong Chương 1, chúng ta đã nói về kiểm thử độc lập từ góc độ tâm lý của từng người kiểm thử. Trong chương này, chúng ta sẽ xem xét các hàm ý về tổ chức và quản lý của tính độc lập.

Các cách tiếp cận để tổ chức một nhóm kiểm thử khác nhau, cũng như các vị trí trong cơ cấu tổ chức mà nhóm kiểm thử phù hợp. Vì  việc kiểm thử là một đánh giá về chất lượng và vì đánh giá đó không phải lúc nào cũng tích cực nên nhiều tổ chức cố gắng tạo ra môi trường tổ chức nơi người kiểm thử có thể đưa ra đánh giá khách quan, độc lập về chất lượng.

Khi suy nghĩ về mức độ độc lập của nhóm kiểm thử, hãy nhận ra rằng tính độc lập không phải là một điều kiện mà là một sự liên tục. Ở một đầu của sự liên tục là sự vắng mặt của sự độc lập, nơi lập trình viên thực hiện kiểm thử trong nhóm lập trình.

Tiến tới sự độc lập, bạn tìm thấy một người kiểm thử tích hợp hoặc một nhóm người kiểm thử làm việc cùng với các lập trình viên, nhưng vẫn ở nội bộ nhóm và báo cáo cho người quản lý phát triển. Bạn có thể tìm thấy một nhóm người kiểm thử độc lập và bên ngoài nhóm phát triển, và báo cáo với ban quản lý dự án.

Gần đầu kia của chuỗi liên tục là sự độc lập hoàn toàn. Bạn có thể thấy một nhóm kiểm thử riêng biệt báo cáo về tổ chức tại một thời điểm ngang bằng với nhóm phát triển hoặc nhóm dự án. Bạn có thể tìm các chuyên gia trong lĩnh vực kinh doanh (chẳng hạn như người dùng hệ thống), chuyên gia về công nghệ (chẳng hạn như chuyên gia cơ sở dữ liệu) và chuyên gia kiểm thử (chẳng hạn như người kiểm thử bảo mật, người kiểm thử chứng chỉ hoặc chuyên gia kiểm thử tự động) trong một nhóm kiểm thử riêng biệt , như là một phần của một nhóm kiểm thử độc lập lớn hơn, hoặc như một phần của hợp đồng, nhóm kiểm thử thuê ngoài. Hãy xem xét những lợi ích và rủi ro tiềm ẩn của sự độc lập, bắt đầu với những lợi ích.

Một người kiểm thử độc lập thường có thể nhìn thấy nhiều lỗi hơn, và khác với lỗi mà một người kiểm thử làm việc trong một nhóm lập trình (hoặc một người kiểm thử là một lập trình viên chuyên nghiệp). Trong khi BA, nhân viên tiếp thị, nhà thiết kế và lập trình viên đưa các giả định của riêng họ vào đặc tả kỹ thuật và triển khai của mục được kiểm thử, thì một người kiểm thử độc lập đưa ra một loạt các giả định khác để kiểm thử và đánh giá, điều này thường giúp phát hiện ra các lỗi tiềm ẩn và các vấn đề liên quan đến cách suy nghĩ của nhóm, như chúng ta đã thảo luận trong Chương 3. Một người kiểm thử độc lập có thái độ hoài nghi hoặc bi quan nghề nghiệp  rằng nếu có bất kỳ nghi ngờ nào về hành vi quan sát được, họ nên hỏi: Đây có phải là lỗi không?

Ở cấp độ nhóm, một nhóm kiểm thử độc lập báo cáo với người quản lý cấp cao hoặc người điều hành được tín nhiệm (một khi họ kiếm được) trong tổ chức hơn là báo cáo cho trưởng nhóm kiểm thử (test leader) hoặc cho người kiểm thử là một phần của nhóm lập trình. Người kiểm thử độc lập báo cáo với quản lý cấp cao có thể báo cáo kết quả của mình một cách trung thực và không quan tâm đến sự trả thù có thể xảy ra do chỉ ra các vấn đề trong công việc của đồng nghiệp hoặc tệ hơn là của người quản lý. Một nhóm kiểm thử độc lập thường có ngân sách riêng, giúp đảm bảo mức tiền hợp lý được chi cho việc đào tạo kiểm thử viên, công cụ kiểm thử, thiết bị kiểm thử…. Ngoài ra, trong một số tổ chức, người kiểm thử trong nhóm kiểm thử độc lập có thể dễ dàng có con đường sự nghiệp dẫn đến các vai trò cấp cao hơn trong kiểm thử.

Các nhóm kiểm thử độc lập không phải là không có rủi ro. Người kiểm thử và nhóm kiểm thử có thể bị cô lập. Điều này có thể ở dạng cô lập giữa các cá nhân với các lập trình viên, nhà thiết kế và nhóm dự án hoặc nó có thể ở dạng cô lập khỏi tầm nhìn rộng hơn về chất lượng và mục tiêu kinh doanh (ví dụ: tập trung quá mức vào các lỗi, thường đi kèm với từ chối chấp nhận ưu tiên kinh doanh của các khiếm khuyết). Điều này dẫn đến các vấn đề về giao tiếp, cảm giác xa lánh và ác cảm, thiếu sự đồng nhất và hỗ trợ cho các mục tiêu của dự án, các lễ hội đổ lỗi tự phát và đâm lén sau lưng.

Ngay cả các nhóm kiểm thử tích hợp tốt cũng có thể gặp sự cố. Các bên liên quan khác của dự án có thể xem nhóm kiểm thử độc lập (dù đúng hay sai) như một nút cổ chai và nguồn gốc của sự chậm trễ. Một số lập trình viên thoái thác trách nhiệm của họ đối với chất lượng, nói rằng, “Chà, chúng tôi có nhóm kiểm thử này, vậy tại sao tôi cần kiểm thử đơn vị (unit test) mã của mình?”

Do mong muốn lợi ích của một nhóm thử nghiệm độc lập, các công ty đôi khi thành lập họ chỉ để giải tán họ sau đó. Tại sao điều đó lại xảy ra? Một nguyên nhân phổ biến là do người quản lý kiểm thử không quản lý hiệu quả các rủi ro về tính độc lập được liệt kê ở trên. Một số nhóm kiểm thử không chống lại được sự cám dỗ để áp dụng thái độ “không thể làm được”, đưa ra lý do tại sao dự án nên đáp ứng nhu cầu của họ hơn là mỗi bên linh hoạt để giúp dự án thành công. Người kiểm thử đóng vai trò là người thực thi quy trình hoặc là người kiểm thử mà không có sự ủy quyền và hỗ trợ quản lý phù hợp.

Sự oán giận và áp lực tăng lên, cho đến khi cuối cùng tổ chức quyết định rằng nhóm kiểm thử độc lập gây ra nhiều vấn đề hơn là nó giải quyết được. Điều đặc biệt quan trọng đối với người kiểm thử và người quản lý kiểm thử là hiểu được sứ mệnh mà họ phục vụ và lý do tại sao tổ chức muốn có một nhóm kiểm thử độc lập. Thông thường, toàn bộ nhóm kiểm thử phải nhận ra rằng, cho dù họ là một phần của nhóm dự án hay độc lập, họ tồn tại để cung cấp dịch vụ cho nhóm dự án.

Không có một cách tiếp cận đúng để tổ chức việc kiểm thử. Đối với mỗi dự án, phải cân nhắc xem có nên sử dụng nhóm kiểm thử độc lập hay không, dựa trên dự án, lĩnh vực ứng dụng và mức độ rủi ro giữa các yếu tố khác. Khi quy mô, độ phức tạp và mức độ nghiêm trọng của dự án tăng lên, điều quan trọng là phải có sự độc lập trong các cấp độ kiểm thử sau này (như kiểm thử tích hợp, kiểm thử hệ thống và kiểm thử chấp nhận), mặc dù một sốbài kiểm  thử  thường được thực hiện tốt nhất bởi những người khác, chẳng hạn như người quản lý dự án, người quản lý chất lượng, nhà phát triển, chuyên gia về lĩnh vực nghiệp vụ hoặc cơ sở hạ tầng hoặc chuyên gia vận hành.

Bản gốc Tiếng Anh các bạn có thể Tải về Tại đây

Ezami

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *