Làm thế nào để trở thành một tester giỏi?
Đối với dân CNTT chúng ta ngày nay, khái niệm tester, QA hay nhân viên kiểm thử phần mềm đã không còn xa lạ. Tuy nhiên, cũng như với các ngành nghề khác, để trở thành một người giỏi trong lĩnh vực của mình, các tester cần phải làm gì? Với mong muốn đưa ra 1 cái nhìn tổng quan, 1 kim chỉ nam cho ...
Đối với dân CNTT chúng ta ngày nay, khái niệm tester, QA hay nhân viên kiểm thử phần mềm đã không còn xa lạ. Tuy nhiên, cũng như với các ngành nghề khác, để trở thành một người giỏi trong lĩnh vực của mình, các tester cần phải làm gì?
Với mong muốn đưa ra 1 cái nhìn tổng quan, 1 kim chỉ nam cho những ai có mong muốn trở thành 1 tester giỏi, chúng tôi đã nghiên cứu và đưa ra bài viết này. Mong rằng những ai còn mông lung với câu hỏi: Làm thế nào để trở thành 1 tester giỏi có thể thông qua đây để định hướng một phần nào đó mục tiêu của mình.
Trước tiên, chúng ta cùng tìm hiểu phần 1 của bài viết, để có những cái nhìn sơ bộ về tester, một nhân tố không thể thiếu trong quá trình phát triển phần mềm.
1. Tester hiếu kỳ
Là một tester luôn đặt nhiều câu hỏi xung quanh vấn đề họ gặp phải. Những tester này tò mò như một đứa trẻ vậy, nhưng chỉ khác ở chỗ là họ làm theo trình tự, nghĩ rộng hơn và tìm vấn đề ở nơi mà không ai nghĩ đến.
- Ưu điểm: Luôn có xu hướng tìm tòi các trường hợp. Năng động trong công việc, chủ động trong các tình huống.
- Nhược điểm: Dễ tập trung quá vào một phần mà lơ là các phần quan trọng khác.
2. Tester kiên trì
Là những người kiên trì tìm hiểu tới khi bug được log và report lại để dev có thể fix lỗi. Dù thỉnh thoảng gặp khó khăn nhưng vẫn sẽ làm tới cùng.
- Ưu điểm: Không có chuyện lùi bước trước khó khăn, kiên trì test tới cùng.
- Nhược điểm: Đôi khi mất thời gian vào việc tái hiện những bug mà mức độ nghiêm trọng và ưu tiên thấp hoặc có thể được chấp nhận trong quá trình phát triển.
3. Tester cẩn thận
Là những người luôn luôn bắt đầu tester bằng việc xem chi tiết yêu cầu kỹ thuật, báo với khách hàng hay leader nếu yêu cầu không rõ ràng hoặc không thể test yêu cầu nào đó, tránh bất đồng spec, khó khăn trong việc test sau này.
- Ưu điểm: Hiểu rõ chi tiết yêu cầu kỹ thuật, phát hiện và có thể nêu ra vấn đề sớm.
- Nhược điểm: Đôi khi bị chậm tiến độ do mất thời gian confirm SPEC không cần thiết.
4. Tester nguyên tắc
Là những tester luôn chắc chắn về quá trình kiểm thử. Xem xét kỹ các yêu cầu và tài liệu spec, luôn theo dõi thường xuyên để đảm bảo tài liệu luôn là mới nhất.
- Ưu điểm: Đảm bảo cho quá trình test, hạn chế việc sót bug và tất cả các bug đã được log rõ ràng, có cơ sở.
- Nhược điểm: Không linh động trong quá trình kiểm thử mà lúc nào cũng theo nguyên tắc.
5. Tester khôn khéo
Là những tester luôn biết dựa trên cơ sở để nói cho dev biết rằng đó chính là lỗi. Dù có gặp bất kỳ vấn đề nào thì họ vẫn biết cách làm thế nào để có kết quả đúng theo mong muốn của khách hàng.
- Ưu điểm: Tạo không khí hòa bình giữa QA và developer, có khả năng thỏa thuận tốt với developer, làm hài lòng khách hàng.
- Nhược điểm: Mất thời gian thuyết phục, mà việc đó có thể giải quyết đơn giản dựa theo SPEC.
6. Tester ham học hỏi
Là tester luôn luôn chủ động học hỏi, tìm hiểu những thứ họ muốn biết, đối với họ thì việc học và công việc test quan trọng ngang nhau.
- Ưu điểm: Kiến thức của họ luôn luôn được nâng cao hơn, có thể vận dụng những gì đã học được vào công việc test.
- Nhược điểm: Không cân đối giữa việc học tập và làm việc sẽ khiến kiểu tester này không tập trung và dễ bị xao lãng trong công việc.
7. Tester có tính sư phạm
Là tester biết cách đưa ra, giải thích, mô tả vấn đề một cách cẩn thận, rõ ràng mà không mất quá nhiều thời gian, luôn luôn đề cao sự rõ ràng trong công việc.
- Ưu điểm: Có thể tránh được những vấn đề hiểu lầm trong công việc
- Nhược điểm: Vì họ hiểu rõ vấn đề nên có thể họ tự tin vào quan điểm của bản thân mà áp đặt suy nghĩ và ý kiến của mình vào người khác.
8. Tester ưu tiên
Các tester ưu tiên là những người luôn sắp xếp và giải quyết công việc theo độ ưu tiên.
- Ưu điểm: Giải quyết công việc và quản lý tốt thời gian của mình
- Nhược điểm: Nếu việc đánh giá độ ưu tiên không chính xác sẽ làm giảm hiệu quả công việc của những tester này.
9. Tester nhiệt tình
Là những người rất hăng hái và nhiệt tình trong công việc.
- Ưu điểm: Có khả năng làm nhiều việc cùng lúc, khó bị cản trở bởi bất cứ khó khăn gì.
- Nhược điểm: Sự nhiệt tình thái quá sẽ khiến tester này có thể bị quá tài vì ôm quá nhiều việc vào mình và không đạt hiệu quả cao trong công việc.
10. Tester cứng nhắc
Là những tester chỉ tập trung vào ý kiến, quan điểm của mình
- Ưu điểm: Kiên định trong công việc, có thể bảo vệ quan điểm, chính kiến của mình đến cùng, không bị lung lay bởi những ý kiến khác
- Nhược điểm: Dễ dàng bị bỏ qua những ý kiến hay từ phía mọi người. Teamwork không hiệu quả, có thể gây khó chịu cho những người làm việc cùng.
11. Tester đam mê công việc
Là những Tester thực sự đam mê công việc kiểm thử và mong muốn sản phẩm có chất lượng cao nhất
- Ưu điểm: Giúp hệ thống luôn đạt chất lượng cao đối với người dùng cuối cùng
- Nhược điểm: Dễ mất cân bằng trong cuộc sống và thường có ý nghĩ, yêu cầu đòi hỏi những người xung quanh mình cũng phải như vậy.
Mỗi tester sẽ thường là một hoặc một số tester mà chúng tôi vừa nêu ra ở trên, mỗi một tester đều sẽ có những đặc điểm riêng bao gồm cả điểm mạnh và điểm yếu. Vậy để trở thành một tester giỏi, chúng ta cần có những phẩm chất, đặc điểm như thế nào? Hãy cùng theo dõi phần tiếp theo, 21 đặc điểm cần có của một tester giỏi.
1. Có óc sáng tạo
Đây là một trong những phẩm chất không thể thiếu và thiết yếu nhất của một tester phần mềm tuyệt vời. Các tester cần phải nghĩ xa hơn những gì được mong đợi ở phần mềm và những người sử dụng. Họ phải có khả năng nghĩ về việc làm sao để người dùng có thể làm những việc mà chắc chắn không được nêu ra trong các yêu cầu về chức năng của phần mềm, hoặc việc họ có thể sử dụng phần mềm như thế nào.
2. Có các kỹ năng và khả năng phân tích
Các kỹ năng này là điều bắt buộc phải có dành cho việc phân tích yêu cầu và tìm hiểu phản hồi của khách hàng trong khi xác định chiến lược kiểm thử. Các kỹ năng phân tích cũng bắt buộc đối với việc có được một tầm nhìn sâu sắc để xây dựng các phương pháp thử nghiệm thông minh. Các tester cần phải hiểu được các dữ liệu thu thập được qua việc thử nghiệm và phân tích chúng để xác định được hành vi cụ thể của sản phẩm hoặc ứng dụng.
3. Có trí tò mò
Đặc điểm này là không thể thiếu khi cân nhắc đến các hậu quả có thể xảy ra. Những tester hiếu kỳ thường sẽ suy nghĩ 1 cách sáng tạo để có thể xác định được các vấn đề trong những lĩnh vực mà những người khác còn không nghĩ đến việc cân nhắc.
4. Biết lắng nghe
Việc lắng nghe những người xung quanh rất có ích cho tester. Chúng ta phải biết được rằng luôn luôn có chỗ cho sự tiến bộ. Chúng ta cũng nên chú ý nếu có ai đưa ra sáng kiến hay gợi ý, vì điều này chắc chắn sẽ giúp họ cải thiện chất lượng chương trình phần mềm đang được thử nghiệm. Bạn có thể phát hiện ra một số tình huống mà những người khác bỏ lỡ nếu như họ không chú ý.
5. Đam mê một cách chủ động
Trách nhiệm của 1 tester giỏi không chỉ là xác nhận rằng các chương trình phần mềm đã hợp lệ với bộ yêu cầu. Những tester giỏi luôn đam mê công việc của mình và đưa ra những gợi ý để cải thiện sản phẩm. Các tester có đam mê đôi khi cũng sẽ trở thành Quản lý dự án hay Chủ sở hữu của sản phẩm.
6. Học hỏi nhanh
Tester giỏi phải quen với công nghệ. Chúng ta phải luôn luôn sẵn sàng học về các công cụ tự động, bắt kịp với các công nghệ mới nhất, sử dụng các công nghệ mới nhất trong lúc thử nghiệm, học hỏi từ chính kinh nghiệm của mình và học cách đưa ra sáng kiến.
7. Có kiến thức kỹ thuật
Để thực hiện một quy trình kiểm thử thành công và thiết kế các bài kiểm tra hiệu quả, tester giỏi phải có kiến thức và hiểu biết chắc chắn về lĩnh vực ứng dụng. Chúng ta phải có cái nhìn sâu sắc về việc người dùng cuối sẽ khai thác chương trình như thế nào. Chúng ta cũng phải dành thời gian tìm hiểu những kỹ thuật được áp dụng và giúp đỡ trong việc đưa ra các tình huống kịch bản trong kinh doanh.
8. Hướng về khách hàng
Tester giỏi phải luôn cố gắng làm hài lòng khách hàng. Chúng ta phải hiểu được rằng khách hàng không có các kỹ năng kỹ thuật như tester. Khách hàng có thể có thể không có chuyên môn trong các miền hay công nghệ và có thể không nghĩ đến tất cả các trường hợp có thể xảy ra. Chúng ta phải tận dụng các kỹ năng thử nghiệm của mình một cách tối ưu nhất trong khi đặt mình vào vị trí của khách hàng trong lúc cung cấp sản phẩm mà khách hàng thực sự yêu cầu.
9. Tự động hóa quá trình kiểm thử và kiến thức kỹ thuật
Chúng ta phải có kiến thức kỹ thuật chắc chắn để xác định bài kiểm tra nào sẽ được tự động hóa ở cấp nào, thực hiện kiểm tra liên tục, sử dụng một loạt các công cụ thử nghiệm sẵn có, cung cấp các số liệu đáng giá cho tổ chức và chọn ra các công cụ phù hợp và mới nhất để giúp cho quá trình thử nghiệm.
10. Có khả năng tổ chức và ưu tiên
Một tester giỏi phải có khả năng nhận định và sắp xếp các kiểm tra cần thiết và sau đó ưu tiên việc tiến hành dựa trên mức độ liên quan đến bài kiểm tra. Hơn nữa, trong lúc đánh giá những lần kiểm tra thử, tester giỏi cũng phải cân nhắc tới lịch sử các lỗi.
11. Có khả năng giao tiếp
Chúng ta phải có khả năng giao tiếp với cả người có và không có chuyên môn về kỹ thuật. Chúng ta cũng phải có khả năng giao tiếp ở cả dạng nói hoặc dạng viết và truyền đạt được các chi tiết của một vấn đề đến đội phát triển một cách hiệu quả. Một bản tài liệu chi tiết từng bước để tái tạo các khiếm khuyết sẽ giúp những người phát triển tập trung vào việc giải quyết vấn đề thay vì việc truyền đạt qua lại.
12. Có khả năng báo cáo
Không một ai có hứng thú trong việc biết được con số các bài kiểm tra mà các tester phần mềm đã thực hiện. Đó là lý do vì sao, một tester giỏi phải biết cách báo cáo tình trạng hiện tại của mình sau mỗi ngày làm việc. Chúng ta phải cung cấp các báo cáo bug hiệu quả và chi tiết và cũng đính kèm ảnh chụp màn hình cùng báo cáo nếu có thể.
13. Chú ý đến tiểu tiết
Các tester giỏi luôn để ý tới các chi tiết. Đặc điểm này rất hữu ích trong việc xác định các suy luận phức tạp trong công việc và đảm bảo rằng các tình huống đều đã được dự trù trước. Nó cũng giúp tránh được các hình phạt hoặc các chi phí cho việc sửa chữa những lỗi phát hiện sau trong vòng hoặc sau khi sản phẩm được phát hành.
14. Có định hướng kinh doanh
Một tester phần mềm giỏi phải có khả năng hiểu được phần mềm từ quan điểm của một doanh nhân, tôn trọng các yêu cầu của khách hàng, có khả năng hiểu được mọi người trên quan điềm ngoài công nghệ. Người đó cũng phải hiểu được cách làm sao để chuyển đổi các vấn đề kinh doanh về các giải pháp công nghệ.
15. Có khả năng lĩnh hội
Chúng ta cũng phải đủ thông minh để tận dụng khả năng trí tuệ của chính mình để có thể làm việc trong một môi trường thử nghiệm tốt hơn. Chúng ta phải có khả năng tìm ra nguyên nhân của sự cố và giải quyết nó bằng cách tốt nhất có thể.
16. Có khả năng quan sát tốt
Việc theo dõi các mục chính và phụ liên quan đến dự án là cực kỳ quan trọng đối với 1 tester. Trong 1 môi trường quyết định như giai đoạn bắt đầu, mọi chuyện có thể thay đổi rất nhanh. Việc có thể nắm bắt được các tác nhân của sự thay đổi là rất cần thiết. Hơn nữa, theo dõi tiến độ quá trình kiểm thử và thay đổi, nếu cần thiết, cũng là điều mang yếu tố quyết định.
17. Quản lý thời gian tốt
Hầu hết các đội dự án đều sẽ bị hạn chế về thời gian cho việc phát triển và kiểm thử. Các tester cần hiểu được ưu tiên hàng đầu để có thể quản lý thời gian một cách hiệu quả. Chúng ta cần phải biết cái gì phải thử nghiệm trước và cái gì nên để sau. Việc nào cần được giải quyết trước và việc nào có thể thực hiện vào phút cuối, cái gì phải được tự động hóa và cái gì phải được thử nghiệm bằng cách thủ công. Trong khoảng thời gian đã định, việc ghi chép dữ liệu hay thực sự thực hiện thử nghiệm quan trọng hơn? Họ phải có khả năng trả lời các câu hỏi này và nhiều câu hỏi khác và giúp quản lý đưa ra quyết định đúng đắn.
18. Kiên trì
Các tester giỏi không bao giờ bỏ cuộc. Chúng ta phải đủ kiên trì để để tìm ra nhiều bug nhất có thể. Chúng ta khám phá phần mềm, liên tục cố gắng cải thiện và tiếp nhận tất cả các thách thức trong việc thử nghiệm một cách lạc quan và kiên nhẫn.
19. Có khả năng nhận định và quản lý các nguy cơ
Chúng ta phải hiểu rõ quy trình khắc phục nguy cơ thích hợp – nhận diện nguy cơ, phân tích nguy cơ và khắc phục nguy cơ. Kiểm thử phần mềm phải được dựa trên việc kết hợp các quy trình thử nghiệm thúc đẩy bởi nguy cơ.
20. Tập trung vào chất lượng
Các chuyên gia phần mềm không thỏa hiệp về chất lượng ở bất kỳ giai đoạn thử nghiệm nào. Các kết quả hướng tới chất lượng luôn luôn dẫn đến phần mềm không có khiếm khuyết và đảm bảo chất lượng hàng đầu.
21. Có khả năng làm việc nhóm
Các tester phần mềm phải có khả năng làm việc hiệu quả kể cả trong và ngoài nhóm. Việc trao đổi ý kiến, kiến thức, kinh nghiệm và suy nghĩ có thể nâng cao chất lượng và hiệu suất của giải pháp, vậy nên các tester giỏi phải luôn luôn sẵn sàng phối hợp tốt với các thành viên trong nhóm và các nhóm khác.
Bài viết trên có tham khảo từ các nguồn sau:
http://reqtest.com/testing-blog/what-makes-a-great-tester-infographic/ http://istqbexamcertification.com/software-tester/