Đâu là những đặc điểm của một kỹ sư kiểm thử giỏi? Mình muốn giỏi thì phải làm sao? Đó cũng chính là băn khoăn của mình cách đây vài năm (và bây giờ vẫn vậy). Và trong một lần tình cờ mình đọc được một bài viết khá đầy đủ và sâu sắc đã giải đáp được phần lớn câu hỏi ở trên và hôm nay mới có dịp chia sẻ bài viết này với cộng đồng kỹ sư kiểm thử phần mềm Việt Nam.

“The hallmarks of great tester” được viết bởi Michael J Hunter – một người có hơn 20 năm kinh nghiệm làm lập trình và kiểm thử ở Microsoft. Michael J Hunter chia sẻ về những đặc điểm của một kỹ sư kiểm thử giỏi và cách ứng dụng chúng trong công việc. Vâng, rất thực tiễn. Tất cả chúng ta đều muốn học một cái gì đó mà có thể ứng dụng ngay được.

Mình sẽ lần lượt giới thiệu với các bạn 20 đặc điểm làm nên một kỹ sư kiểm thử giỏi. Sao? Bạn nói dài quá hả? Mình đồng ý. Tuy nhiên, trong 20 đặc điểm đó chúng ta sẽ bắt gặp đâu đó hình ảnh của mình trong đó và cả những điều mà chúng ta có thể chưa biết hoặc đã biết nhưng làm chưa tốt và chỉ riêng điều đó thôi cũng đáng để chúng ta đọc 20 đặc điểm này.

OK. Bắt đầu thôi.

1. Cân bằng

Những kỹ sư kiểm thử giỏi luôn nhận biết được tầm quan trọng của việc cân bằng trong tất cả các công việc mình làm cũng như luôn biết cách cân bằng sao cho hợp lý trong những tình huống mà họ gặp phải.

Thật khó để định nghĩa thế nào là “hợp lý” tuy nhiên bạn phải biết cân bằng giữa ham muốn đào sâu tìm hiểu vấn đề với yêu cầu phải ra quyết định cũng như nhu cầu hoàn thành công việc.

[TH] Thực vậy, mình thấy khả năng cân bằng trong công việc là rất quan trọng. Mình đã gặp nhiều bạn kỹ sư kiểm thử nhiều khi do quá tập trung việc nghiên cứu tài liệu, sửa lỗi scripts hay tìm bug mà quên deadline của task, quên kiểm tra email, quên một cuộc họp, quên thư giãn, v.v. Cân bằng tốt sẽ giúp mình cảm thấy thoải mái và làm công việc bền vững hơn.

2. Sự tò mò

Sự tò mò là lí do tại sao những kỹ sư kiểm thử giỏi luôn hỏi, tại sao lại như thế này mà không phải thế kia. Họ biết rằng việc hiểu cách một chương trình/ứng dụng chạy sẽ giúp họ hiểu được cách nó tương tác với những chương trình/ứng dụng khác và đó là cách giúp họ tìm ra bug. Một kỹ sư kiểm thử giỏi không những thể hiện sự tò mò trong phạm vi công việc của mình mà còn trong tất cả các mặt khác của cuộc sống như cách bộ phận marketing hoạt động như thế nào hay như chiếc cần cẩu được vận hành như thế nào, v.v

Tuy nhiên nếu bạn vốn không phải tuýp người tò mò thì bạn vẫn có thể thể hiện sự tò mò bằng cách đặt câu hỏi càng nhiều càng tốt trong những vấn đề bạn gặp phải. Một lưu ý là sự tò mò tuy không xấu nhưng cách bạn tò mò có thể làm phiền người khác. Cho nên lời khuyên là bạn phải cho người khác thấy rằng bạn chỉ muốn tìm hiểu tính hợp lý của vấn đề chứ không chỉ đơn thuần là đặt câu hỏi cho mỗi quyết định của họ.

[TH] Trong quá trình làm việc, mình nhận thấy có nhiều bạn luôn ngại hỏi? Nguyên do thì đa dạng nhưng đa phần là vì các bạn đó nghĩ hỏi là dở, hỏi là làm phiền người khác, v.v và các bạn đó một số thì chọn giải pháp “im lặng là vàng”, một số thì giả định vấn đề, một số khác âm thầm tự tìm hiểu. Những cách đó có thể cũng có thể mang lại kết quả nhất định tuy nhiên đó không phải là lựa chọn thường xuyên của những kỹ sư kiểm thử giỏi.

3. Thực hành thường xuyên

Một kỹ sư kiểm thử giỏi luôn kiểm thử toàn bộ sản phẩm chứ không chỉ dừng lại ở tính năng của sản phẩm. Một kỹ sư kiểm thử giỏi còn kiểm thử luôn cả những sản phẩm khác. Một kỹ sư kiểm thử giỏi kiểm thử luôn sách, tủ lạnh, bóng đèn, cửa v.v kiểm thử tất cả mọi thứ trong cuộc sống mà kích thích trí tò mò của họ.

Thực ra thì cơ hội để thực hành công việc kiểm thử không hề hiếm. Bạn có thể kiểm thử máy bán hàng tự động, cửa tự động, lò vi sóng hay bất cứ thứ gì. Hãy thử hình dung ra những tình huống mà những thứ đó có thể hoạt động sai và rồi thử xem bạn có thể khiến nó hoạt động sai không. Kiểm thử mọi thứ mà bạn có thể nghĩ ra nhưng đừng sa đà quá.

[TH]: Lời khuyên này nghe có vẻ ngớ ngẩng nhưng đó là một trong những cách hiệu quả và tiết kiệm nhất để luyện cho bạn khả năng “nhạy” với bug. Tin mình đi, sau một thời gian luyện tập, khả năng tìm bug của bạn trong công việc sẽ cải thiện đáng kể đồng thời cũng đừng ngạc nhiên khi ngày càng có nhiều người khen bạn “hâm”
* Lưu ý nhỏ: Không nên luyện tập kiểm thử trên những sản phẩm có độ nguy hiểm cao như…thang máy chẳng hạn.

4. Lắc léo

Một kỹ sư kiểm thử giỏi luôn hình dung ra nhiều cách lắc léo khác nhau để tấn công sản phẩm thay vì chỉ dựa vào checklist hay những hướng dẫn có sẵn. Một kỹ sư kiểm thử giỏi sẽ luôn tìm được những con bug để khiến cho lập trình viên phải đặt câu hỏi “Ai lại đi làm trò vớ vẩn đó” và khi đó họ sẽ trả lời rằng là vì họ có thể làm được, hacker cũng sẽ làm được và người dùng cuối cũng có thể làm.

Nếu bạn không có tính lắc léo bẩm sinh hoặc đã lắc léo rồi nhưng cảm thấy chưa đủ thì đây là cách để bạn luyện: Hãy nghĩ về những thứ có thể khiến cho sản phẩm chạy sai. Bạn có thể bắt từ đầu tài liệu đặc tả nhưng đừng chỉ dừng lại ở đó. Hãy thử với những cách tiếp cận khác nhau (chẳng hạn như HICCUPP), những kỹ thuật khác nhau lên sản phẩm và tập trung vào điểm giao nhau giữa những chức năng. Đó là những nơi mà một kỹ sư kiểm thử giỏi thường dành thời gian vào. Hãy tinh nghịch một chút nhưng phải luôn nắm được những tính năng yêu cầu của sản phẩm. Bug nào cũng là bug nhưng những con bug quan trọng nhất là những con bug có thể gây ảnh hưởng đến người dùng.

5. Luôn phấn khích khi tìm được bug

Kỹ sư Kiểm thử giỏi luôn nhìn bug bằng con mắt đáng yêu. Kỹ sư kiểm thử giỏi luôn thường xuyên tìm gặp lập trình viên để “khoe” những con bug tuyệt đỉnh mà mình vừa mới tìm được trong code của họ. Những kỹ sư kiểm thử giỏi hào hứng “chém gió” về những con bug của mình với những kỹ sư kiểm thử khác và sẵn lòng lắng nghe những kỹ sư kiểm thử khác “chém gió”. Và khi đi làm về nhà, cả nhà đều có thể biết được hôm đó kỹ sư kiểm thử nhà mình có tìm được con bug nào xịn không.

Để làm tốt việc đó, bạn phải học cách luôn vui vẻ và sẵn lòng tìm bug và bị tìm bug. Khi bạn tìm được bug trong code của người lập trình viên hay trong tài liệu đặc tả sếp viết hãy luôn nhớ lại cảm giác khi mình bị người khác tìm được bug. Hãy luôn ghi nhớ mục tiêu của kỹ sư kiểm thử giỏi là giúp đồng nghiệp cảm thấy tốt hơn bằng cách tìm ra những lỗi mà họ đã phạm phải chứ không phải là xát muối vào nỗi đau của họ.

Hãy luôn luôn ghi nhớ:
– Tìm được bug: tuyệt.
– Khiến cho lập trình viên đau đầu với con bug đó: càng tuyệt.
– Giữ mối quan hệ tốt với lập trình viên: vô giá.

[TH] Phần nhiều thì kỹ sư kiểm thử đều (rất) phấn khích khi tìm được bug, tuy nhiên cũng có một số ít lại tỏ ra thờ ơ với những con bug mình tìm được ?!?

6. Niềm đam mê đối với khách hàng

Tác giả chia sẻ một trong những cách có được niềm đam mê đối với khách hàng/người dùng là hãy “thấu hiểu nỗi đau của họ”. Hãy đánh giá về những ảnh hưởng của con bug mà bạn tìm lên khách hàng/người dùng của bạn. Hãy tìm hiểu xem khách hàng/người dùng của bạn chia sẻ những tâm tư nguyện vọng gì trên các diễn đàn, blog hoặc bạn cũng có thể gặp trực tiếp họ để tìm hiểu xem những vấn đề khó khăn mà họ đang gặp phải. Nếu có thể hãy thử sử dụng chính sản phẩm mình đang kiểm thử để đánh giá sản phẩm. Điều cốt lõi là “thấu hiểu nỗi đau của khách hàng”

[TH] Đây là một ý rất hay mà mình rất tâm đắc – Niềm đam mê đối với khách hàng, thấu hiểu khách hàng. Đã bao nhiêu lần kỹ sư kiểm thử mừng ra mặt khi sản phẩm không được đưa ra thị trường đúng hẹn do một số bug quan trọng chưa kịp fix. Kỹ sư kiểm thử cảm thấy tự hào, cảm thấy “vip” nhưng cũng nên hiểu rằng việc chậm trễ trên là không ai muốn và việc đó cũng gây tổn hại cho khách hàng (tài chính, danh tiếng) và cũng có thể cả kỹ sư kiểm thử nữa. Trễ deadline, khách hàng đòi tăng ca, trễ deadline, khách hàng mất khách hàng của họ, sản phẩm thất bại, đóng dự án v.v. Hãy luôn tỏ ra chuyên nghiệp vì bạn sẽ không biết khi nào thì những thứ dường như chẳng liên quan gì đến mình sẽ gây ảnh hưởng đến chính mình.

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!!

13. Sự chuyên tâm

Một kỹ sư kiểm thử giỏi hiểu rằng việc tìm bug cũng như hiểu được bản chất của con bug đòi hỏi sự chuyên tâm nhất định. Một kỹ sư kiểm thử giỏi không bỏ sót một con bug nào tìm thấy dọc đường đi. Tuy nhiên họ sẽ không đào sâu tìm hiểu những con bug đó trước khi con bug chính được làm rõ.
Để không bị chệch hướng, bạn cần phải có một kế hoạch và bám sát vào nó. Trước khi tiến hành một lượt kiểm thử, hãy dành thời gian để lên kế hoạch trong đó xác định được bạn sẽ phân bổ thời gian kiểm thử như thế nào. Và khi tiến hành kế hoạch đó, hãy ghi nhận lại những điều thú vị bạn quan sát được trên đường đi nhưng vẫn chuyên tâm vào kế hoạch đã vạch ra. Khi bạn đã hoàn tất việc ghi nhận lại những vấn đề bạn gặp được trên đường đi, hãy quay lại và bắt đầu lần lượt tìm hiểu từng vấn đề đó. Khi tìm hiểu những vấn đề đó, tiếp tục lặp lại quá trình: ghi nhận những điều mới nhưng đừng xa rời mục tiêu.
Tác giả đã đưa ra lời khuyên nhưng những kỹ sư kiểm thử giỏi không áp dụng nó một cách cứng nhắc – nghĩa là chỉ ghi nhận và rồi đi tiếp. Đôi khi cũng có những điều quan trọng bạn gặp trên đường đi, hãy tập trung đào sâu tìm hiểu nó ngay lập tức thay vì chỉ ghi nhận lại.
[TH]:Trong quá trình nghiên cứu một con bug hay một vấn đề nào đó, chúng ta rất dễ bị “chèo kéo”, “mời gọi” của những vấn đề mới phát sinh và làm chúng ta lạc lối. Một sự lạc lối rất đáng yêu. Tôi lạc lối vì tôi có nhu cầu đào sâu tìm hiểu vấn đề, tôi chấp nhận “đào sâu để tìm vàng”, tôi sợ rằng nếu không đào sâu tôi sẽ bỏ sót những vấn đề tưởng chừng như nhỏ nhưng có thể gây ảnh hưởng nghiêm trọng đến khách hàng. Tuy nhiên hãy biết cân bằng và luôn tự hỏi “có đáng để làm công việc này không?”

14. Nhờ giúp đỡ

Những kỹ sư kiểm thử giỏi luôn sẵn sàng đối mặt với thử thách, “đập đầu vào tường” (khuyến cáo không nên hiểu và làm theo nghĩa đen) để phá vỡ nó từ từ. Vấn đề là có một số bức tường dày hơn một số khác. Những kỹ sư kiểm thử giỏi luôn biết khi nào cần sự giúp đỡ từ ai và vào khi nào.
Điều này đòi hỏi sự cân bằng. Bạn muốn tự mình tìm hiểu vấn đề nhưng cũng không muốn lãng phí thời gian vô ích. Hãy nói chuyện với quản lí của bạn để định ra đâu là giới hạn thời gian cho việc bạn tự nghiên cứu. Hết thời gian đó, bạn sẽ nhờ giúp đỡ.
Mặc dù bạn biết rằng bạn cần giúp đỡ nhưng cũng khó để có thể thừa nhận là bạn cần sự giúp đỡ. Để làm được việc này, bạn cần nhận thức được rằng việc nhờ giúp đỡ sẽ không làm giảm đi chất lượng của công việc cũng như việc kiểm thử của bạn. Mọi người sẽ hiểu được rằng nhờ giúp đỡ là một việc đúng đắn và nên làm và sẽ càng tôn trọng bạn hơn nếu bạn thực lòng muốn làm điều đó. Một kỹ sư kiểm thử giỏi hiểu rằng chẳng việc gì phải hổ thẹn khi nhờ ai đó giúp đỡ. Nếu bạn không thường xuyên nhờ ai đó giúp đỡ, có khi đó lại là vấn đề.

15. Nói cùng ngôn ngữ với kỹ sư lập trình

Điều này cũng tương tự như bạn ghé thăm một đất nước nào đó. Bạn được khuyến khích làm quen với ngôn ngữ cũng như phong tục tập quán của nước đó để ít nhất bạn thể bắt taxi về khách sạn hay hỏi thăm đường. Tương tự, kỹ sư kiểm thử phải tập làm quen với ngôn ngữ và thói quen của kỹ sư lập trình.
Nếu kỹ sư lập trình trong nhóm sử dụng UML, bạn phải tìm hiểu nó ít nhất là ở mức căn bản để không khiến cho họ phì cười khi bạn vẽ một biểu đồ UML. Hãy học cách viết một đoạn code ít nhất là ở mức của một sinh viên năm nhất. Hãy trò chuyện với kỹ sư lập trình để có cái nhìn tổng quát về những thành phần của ứng dụng. Điều quan trọng nhất là bạn có thể tự tin đặt câu hỏi để không cảm thấy ngớ ngẩn cũng như học cách để học.
Nếu bạn làm tốt khâu này, thì một ngày nào đó kỹ sư lập trình sẽ đến và nói với bạn rằng “Bạn tìm được bug. Bạn chỉ ra được bug chính xác là do đâu. Nếu bạn có thể sửa được bug nữa thì chẳng còn gì cho chúng tôi làm nữa”.
[TH] Vâng. Tác giả rất hài hước. Dĩ nhiên, chúng ta luôn biết rằng sẽ không ai có thể giỏi tất cả các khâu được và trên hết chúng ta hiểu được sức mạnh của tinh thần làm việc nhóm. Tuy nhiên việc đó cũng không thể ngăn cản chúng ta tự hoàn thiện bản thân và bổ sung thêm những kỹ năng mới. Bạn chuyên kiểm thử thủ công thì việc tìm hiểu và học một ngôn ngữ lập trình, một công cụ kiểm thử tự động, hay học cách viết các câu truy vấn cơ sơ dữ liệu v.v là không bao giờ thừa. Tương tự, nếu bạn là một kỹ sư kiểm thử tự động thì việc tìm hiểu thêm về những kỹ thuật kiểm thử thủ công, cách thức quản lý bug, trường hợp kiểm thử cũng đều sẽ rất hữu ích.

16. Đầu tư

Một kỹ sư kiểm thử giỏi biết được rằng cách duy nhất để họ tiếp tục là một kỹ sư kiểm thử giỏi là không bao giờ ngừng học hỏi. Nếu bạn được công ty hỗ trợ cho việc học là rất tốt, nếu không thì hãy tự trang bị bổ sung kiến thức cho chính mình.
Để tìm thời gian cho việc đào tạo, hãy đánh giá lại tất cả những công việc bạn đang làm và hãy cân nhắc xem việc nào không quan trọng và có thể bỏ đi. Ban lãnh đạo công ty thường cân nhắc việc được và mất khi hỗ trợ việc đào tạo cho nhân viên. Do đó, để có được sự chấp thuận của họ, việc bạn cần làm là chứng minh việc hỗ trợ đào tạo cho nhân viên sẽ được nhiều hơn mất.
Có nhiều cách khác nhau để đào tạo. Chẳng hạn để luyện tập kỹ năng trình bày, bạn có thể xây dựng một buổi trình bày về một kỹ thuật lập trình/kỹ thuật kiểm thử hữu ích cho đồng nghiệp. Kết quả cuối cùng là cả bạn và đồng nghiệp đều có được kỹ năng hoặc kiến thức mình còn thiếu. Đầu tư vào chính bản thân là cách tốt nhất để cải thiện những đặc điểm đề cập trong bài viết này.
[TH] Hãy không ngừng học hỏi và đầu tư cho việc nâng cao kiến thức chuyên ngành. Tùy nhu cầu và định hướng phát triển nghề nghiệp, các bạn sẽ chọn cách đầu tư theo cách riêng mình… nhưng hãy đảm bảo rằng các bạn có đầu tư.

17. Nhìn thấy bug

Một kỹ sư kiểm thử giỏi biết rằng một ứng dụng dường như không có bug là một ứng dụng có thể có đầy bug mà mình vẫn chưa tìm ra được. Một kỹ sư kiểm thử giỏi luôn tâm niệm rằng mỗi con bug mà khách hàng tìm được là một dấu hiệu cho thấy họ đã để sót rất rất nhiều bug.
Chuyện này sẽ trở nên tự nhiên hơn khi chúng ta hiểu rằng một ứng dụng tưởng chừng như đơn giản nhưng lại không đơn giản như mình nghĩ và rằng không có ứng dụng nào có thể chạy đúng hết tất cả các trường hợp được.
Hãy nhìn vào những khu vực mà ứng dụng hay bị lỗi. Hãy tìm hiểu xem người dùng cuối sử dụng sản phẩm như thế nào vì người dùng thỉnh thoảng có những thói quen sử dụng sản phẩm mà bạn không thể ngờ tới. Cho dù bạn có tìm được bug hay không thì bug vẫn còn đâu đó nhưng những người kỹ sư kiểm thử giỏi luôn muốn tìm được chúng.
[TH] Nếu bạn không tìm thấy bug thì hãy thử những gợi ý sau đây: bạn đã xem qua tài liệu mới của ứng dụng chưa (thiết kế, đặc tả, help, hướng dẫn sử dụng, v.v), xem lại những email cũ xem còn vấn đề nào chưa thảo luận xong và bị “bỏ quên” không, lật lại cuốn sổ tay xem có thông tin gì thú vị mà bạn đã ghi chú không, xem lại những con bug và những thảo luận của chúng trên hệ thống quản lý bug… Sau khi lục lọi tìm tòi đủ thứ, bạn có thể tìm được bug nhưng cũng có thể không. Tuy nhiên, điều quan trọng là bạn sẽ hiểu thêm về hiện trạng của sản phẩm cũng như sẽ đưa ra được những câu hỏi hay vấn đề thú vị để đem ra thảo luận với khách hàng, với kỹ sư lập trình, với giám đốc sản phẩm, giám đốc dự án.

18-19-20. Trung thực – Chính trực – Dũng cảm

Đây là 3 đặc điểm nền tảng cho những đặc điểm khác. Như Jerry Weinberg đã từng nói “Nếu như không có sự chính trực và lòng dũng cảm để bảo vệ nó thì bạn sẽ bị cán dẹp trên đại lộ của sự phát triển và mỗi ngày trôi qua bạn sẽ ngày càng dẹp lại …dẹp lại..”. Sự trung thực, chính trực và lòng dũng cảm là nền móng của một kỹ sư kiểm thử giỏi.
Nếu bạn không trung thực về tình trạng hiện tại của ứng dụng thì hoặc là ứng dụng sẽ không bao giờ được đưa ra thị trường (nếu như bạn cố tình phóng đại về tình trạng tệ hại của ứng dụng) hoặc là bạn sẽ bỏ sót một “rừng bug” chokhách hàng (nếu như bạn cố tình nói giảm về tình trạng tệ hại). Sự chính trực có mối quan hệ mật thiết với danh tiếng của bạn; cải thiện điều này sẽ cải thiện điều kia. Cuối cùng, bạn sẽ thể hiện lòng dũng cảm dễ dàng hơn nếu như bạn thật lòng tin rằng là bạn đã làm đúng. Những đặc điểm khác sẽ giúp bạn có thêm lòng dũng cảm để đứng lên tranh đấu khi cần thiết. Sự trung thực, chính trực và lòng dũng cảm là chất xúc tác giúp bạn đạt được những đặc điểm khác nhanh chóng hơn.
[TH] Một trong những nhiệm vụ quan trọng của một người kỹ sư kiểm thử là cung cấp thông tin một cách chính xác và kịp thời đến cho khách hàng. Nếu thông tin cung cấp bị sai lệch thì công việc kiểm thử coi như là vô ích. Nếu bạn thấy thời gian kiểm thử cho sản phẩm quá ít hãy cho khách hàng biết. Nếu bạn cảm thấy không tự tin khi đưa sản phẩm ra thị trường, hãy chia sẻ với khách hàng. Nếu bạn thấy bạn không hoàn tất việc được giao, hãy thông báo khách hàng. Nếu bạn cảm thấy không khỏe và không thể làm công việc với kết quả tốt nhất, hãy chia sẻ với khách hàng…Hãy luôn trung thực với những việc mà bạn tin rằng sẽ ảnh hưởng đến chất lượng công việc, sản phẩm và dự án.
Lời kết
Mình vừa đi qua những đặc điểm cuối cùng trong loạt bài về 20 đặc điểm của một kỹ sư kiểm thử giỏi. Bạn sẽ phì cười khi nghĩ rằng làm gì có ai có đủ 20 đặc điểm đó và rằng tất cả chỉ là “sách vở” thì bạn biết rằng ít nhất có một người chia sẻ quan điểm với bạn…người đó là mình. Tuy nhiên, đối với mình việc có đủ 20 đặc điểm đó (hoặc đặc điểm khác hoặc nhiều hơn hoặc ít hơn) không quan trọng bằng việc luôn tìm kiếm những đặc điểm của riêng mình để trở thành một kỹ sử kiểm thử giỏi và luôn cố gắng đạt được nó.
Ngoài ra, nếu ai đó đã đọc đến phần thứ 3 này (dĩ nhiên là cả phần 1 và phần 2 nữa) thì mình tin là bạn đó rất có thể là một kỹ sư kiểm thử giỏi vì bạn đó đã chứng tỏ được sự kiên nhẫn – một trong những đặc điểm làm nên một kỹ sư kiểm thử giỏi – theo nhận định của mình.
Nguồn: VNtesters