Các đặc điểm của một kỹ sư kiểm thử giỏi (Phần 2)?
Ở phần 1 mình đã giới thiệu đến các bạn một số đặc điểm cơ bản của một kỹ sư kiểm thử giỏi như “sự cân bằng”, “sự tò mò”, “sự thực hành thường xuyên”, “luôn phấn khích khi tìm được bug”, “niềm đam mê đối với khách hàng”. Ở phần 2, mình sẽ giới thiệu tiếp những đặc điểm mà với những đặc điểm này sẽ bổ trợ cho những đặc điểm ở phần 1.
7. Nhìn tổng thể
Những kỹ sư kiểm thử giỏi thường bắt đầu công việc kiểm thử bằng việc nghĩ ra những phần nào có thể kiểm thử được trên sản phẩm của mình. Những kỹ sư kiểm thử này bắt đầu bằng việc phân tích kiến trúc, thiết kế, hay những tính năng của sản phẩm tuy nhiên họ cũng nhận thức được rằng đó chỉ là một trong nhiều yếu tố có thể ảnh hưởng đến chất lượng sản phẩm.
Nên nhớ rằng người dùng thật của sản phẩm không có ý định kiểm thử sản phẩm mà chỉ muốn sử dụng chúng cho nên hãy sáng tạo khi kiểm thử. Do đó nếu có trường hợp kiểm thử nào mà bạn kiểm thử ít hơn những trường hợp khác thì đôi khi vẫn có thể chấp nhận được. Việc có cái nhìn tổng thể sẽ giúp kỹ sư kiểm thử có thể cân bằng được những điều này.
8. Sắp xếp thứ tự ưu tiên
Khả năng nhìn tổng thể sẽ giúp cho kỹ sư kiểm thử sắp xếp được thứ tự ưu tiên trong công việc. Một kỹ sư kiểm thử giỏi luôn biết phải kiểm thử cái nào trước cái nào sau và phạm vi kiểm thử như thế nào để những phần kiểm thử mà có khả năng tìm được bug nhiều nhất và ảnh hưởng đến khách hàng nhiều nhất sẽ được thực thi trước.
Cũng theo ý tác giả, để làm được việc này một cách hiệu quả thì cần phải nắm được khách hàng của mình là ai. Khách hàng của khách hàng cũng là khách hàng. Đội hỗ trợ sản phẩm cũng là khách hàng. Các bên liên quan đến sản phẩm đều sẽ bị ảnh hưởng bởi những con bug bạn tìm được hoặc không tìm được.
Theo sát phần thiết kế của sản phẩm ngay từ đầu hay trao đổi với kỹ sư lập trình sẽ giúp bạn biết được mình cần phải tập trung kiểm thử phần nào và độ ưu tiên ra sao. Tuy nhiên, hãy tin vào bản năng của một kỹ sư kiểm thử. Nếu bản năng nói với bạn rằng chỗ này hoặc chỗ kia cần phải kiểm thử, hãy nên lắng nghe nó.
[TH]: Đó là lí do vì sao các bộ trường hợp kiểm thử hay bug thường có 2 thông tin quan trọng là “độ ưu tiên” (Priority) và “độ nghiêm trọng” (severity). Trong nhiều trường hợp vì một lí do nào đó bạn không thể thực thi hết tất cả các bộ kiểm thử thì khi đó việc xác định độ ưu tiên sẽ giúp bạn chọn được những phần kiểm thử quan trọng nhất để thực thi để rủi ro ảnh hưởng đến sản phẩm thấp nhất.
9. Khả năng quan sát
Những kỹ sư kiểm thử giỏi luôn để mắt quan sát những điều bất thường trên đường kiểm thử của mình. Những điều bất thường này có khi chỉ là những lỗi lập trình đơn giản, có khi là cả một “ổ” bug, có khi đó là một con bug nào đó mà trước giờ nhiều người vẫn chưa mô phỏng lại được. Hãy ghi nhận lại tất cả những gì bất thường quan sát được.
Để quan sát được những điều bất thường thì trước tiên kỹ sư kiểm thử phải biết được như thế nào là bình thường. Để làm được vậy người kỹ sư kiểm thử phải nắm được sản phẩm của mình từ trong ra ngoài. Bên cạnh đó phải luyện tập thường xuyên kỹ năng quan sát. Để tâm vào chi tiết và phát hiện những điều có vẻ hơi bất bình thường một chút. Tuy nhiên, đừng quá sa đà nếu không bạn sẽ bỏ qua những con bug lộ ngay trước mặt.
[TH]: Lời khuyên của mình là hãy luôn có một cuốn sổ tay bên mình hay bất cứ thứ gì có thể ghi chú được khi thực thi các trường hợp kiểm thử hay kiểm thử kiểu khám phá (mình chọn Onenote ) Mục đích là để ghi chú tất cả những gì mình quan sát được, nghi ngờ là bug hoặc đơn giản chỉ là những điều mình thắc mắc và sẽ quay lại tìm hiểu và kiểm chứng sau mà không làm chệch mục tiêu mình đang kiểm thử.
10. Sự chính xác
Khi những kỹ sư kiểm thử giỏi tìm được bug, họ thường dành thời gian để làm giảm thiểu số bước cần thiết để mô phỏng con bug đến mức tối thiểu. Họ cũng thường kiểm thử thêm xung quanh con bug để hiểu thêm về con bug. Những kỹ sư kiểm thử giỏi khi báo cáo một con bug luôn chỉ rõ ra chỗ nào là ngầm định, chỗ nào là họ thực tế quan sát được.
Có nhiều cách để làm tốt khâu này. Hãy nhìn vấn đề với con mắt của kỹ sư lập trình để hiểu được bản chất của nó. Hãy giả định rằng người đang đọc bản báo cáo bug có thể là người không có hoặc ít kiến thức về vấn đề đang được đề cập. Mục đích là để làm sao ngay cả CEO cũng có thể đọc, hiểu được bản báo cáo bug và đưa ra quyết định dựa trên báo cáo đó. Trong báo cáo bug, hãy chỉ rõ hành vi bạn mong muốn là gì và tại sao cái bạn quan sát là không hợp lí. Hãy giải thích con bug này sẽ làm ảnh hưởng như thế nào đến khách hàng.
[TH]: Hãy làm tất cả những gì có thể mà bạn nghĩ là cần thiết để giúp người đọc hiểu được bản chất của con bug đó. Các bước mô phỏng, ảnh chụp màn hình, video, log file, trích dẫn tài liệu đặc tả, thiết kế, v.v tất cả đều hữu dụng khi bạn báo cáo bug.
11. Suy nghĩ độc lập
Mặc dù việc con bug làm ảnh hưởng đến khách hàng như thế nào đã được để cập đầy đủ trong báo cáo bug nhưng kỹ sư kiểm thử giỏi đôi khi cũng phải đối diện với tình huống là phải yêu cầu để sửa bug đó gấp. Những kỹ sư kiểm thử giỏi luôn sẵn sàng trở nên cứng đầu và “xù lông” khi cần thiết.
Tuy nhiên, trước khi “xù lông” thì hãy đánh giá lại một lần nữa liệu vấn đề có phải là do bạn đã không cung cấp đủ thông tin cần thiết về mức độ ảnh hưởng của con bug hay là bạn đã không đặt độ ưu tiên đủ cao cho con bug. Một kỹ sư kiểm thử giỏi luôn cân nhắc tất cả những điều này cùng với việc đặt khách hàng lên trên hết trước khi đưa ra quyết định của mình.
Nên nhớ rằng bạn không cần phải thô lỗ hay bất cần khi nêu lên quan điểm của mình. Hãy tìm đồng minh để “chống lưng” cho vấn đề của bạn. Hãy nhẹ nhàng chỉ ra lí do tại sao con bug cần được sửa và thuyết phục rằng sản phẩm sẽ không thể được đưa ra thị trường với con bug đó được.
Uy tín của bạn đóng vai trò quan trọng ở đây. Nếu bạn báo động giả nhiều lần, sẽ chẳng ai còn tin bạn. Do đó hãy suy nghĩ và nghiên cứu vấn đề một cách thấu đáo và hãy chắc chắn rằng bạn có đủ thông tin để tự tin.
Hãy luôn nhớ rằng kỹ sư kiểm thử không phải là người quyết định sau cùng một con bug có được sửa hay không. Do đó khi tranh luận, hãy lịch sự nhưng đồng thời cũng phải tỏ ra cứng rắn.
12. Nhu cương đúng lúc
Những kỹ sư kiểm thử giỏi luôn sẵn sàng đứng lên tranh luận khi cần thiết nhưng họ cũng biết khi nào nên dừng lại. Kỹ sư kiểm thử giỏi luôn cảm nhận được nỗi đau khi để vuột mất một vấn đề quan trọng nào đó. Họ cũng biết được không thể và không đáng để sửa tất cả các con bug. Họ cũng biết được rằng một số con bug sẽ được đưa ra thị trường cùng với sản phẩm để những con bug khác được sửa.
Hãy luôn nhớ rằng việc cung cấp thông tin là cốt lõi trong kiểm thử phần mềm. Vai trò của kỹ sư kiểm thử không phải là ra quyết định mà là cung cấp thông tin một cách đầy đủ để ban lãnh đạo có thể ra quyết định khi nào sửa bug, khi nào đưa sản phẩm ra thị trường và khi nào không.
[TH]: Hãy nhu cương đúng lúc!!
Hết phần 2 .
Trong phần cuối, mình sẽ giới thiệu đến các bạn những đặc điểm sẽ giúp các bạn áp dụng những đặc điểm trên một cách tối ưu nhất.