Những yếu tố cần thiết để trở thành kỹ sư kiểm thử phần mềm giỏi
This post hasn't been updated for 5 years
Những đức tính cần thiết của một kĩ sư kiểm thử phần mềm
Kiểm thử phần mềm không phải là công việc dành cho tất cả mọi người. Kể cả những kỹ sư tin học siêu giỏi cũng có thể không mạnh về test. Hay cả những nhà Quản lý dự án dày dặn kinh nghiệm có thể có các kỹ năng để thúc đẩy dự án hoàn thành, nhưng để họ bắt tay vào công việc test, chưa chắc họ có thể hoàn thành được. Cũng như các công việc, ngành nghề khác, tester cũng là một ngành đòi hỏi những đặc tính riêng. Vậy một tester (kỹ sư kiểm thử phần mềm) cần những đức tính như thế nào ?
Top 13 đức tính cần có của một tester giỏi
1.Một tester giỏi là một người hay hỏi
Một người tester giỏi sẽ đặt ra những câu hỏi như: Điều gì sẽ xảy ra nếu....? Tại sao tính năng A lại không hoạt động?, Tại sao tính năng B lại hoạt động như vậy? Các câu hỏi phải được truyền tải vào hệ thống test case và theo nhiều cách khác nhau, nó phải đạt được mục đích kiểm thử phần mềm. Khi một QA tham gia vào dự án ngay từ giai đoạn đầu tiên, những câu hỏi càng nên được đặt ra càng sớm càng tốt, và nhờ vào đó ngày từ giai đoạn đầu của dự án, chất lượng cũng được đảm bảo hơn. Việc hay đặt câu hỏi và thắc mắc khiến cả tester và những người làm việc cùng họ hiểu sâu hơn về vấn đề, kể cả những thứ không có trong yêu cầu của khách hàng đôi khi cũng được tìm ra bằng những câu hỏi không ai ngờ tới.
2.Trước hết một tester giỏi cần phải có trí tò mò
Một tester giỏi cần phải có sự tò mò với hệ thống, với các chức năng. Họ sẽ luôn cần và nên cần phải biết những gì xảy ra trong "hậu trường". Họ cần sự tò mò để thôi thúc họ tìm hiểu sâu hơn, tìm hiểu rằng tại sao lại như vậy? nên xử lý issue này theo hướng nào? chứ không phải chỉ bề nổi của hệ thống hay việc làm đúng theo yêu cầu của test case. Và như vậy chắc chắn một tester- người có trí tò mò thì sẽ khám phá được nhiều bug hơn là người không có.
3.Một tester giỏi là một người giao tiếp tốt (strong communicator)
Software tester là những người hay mang đến những tin tức xấu như là việc thông báo hệ thống đang lỗi, có bug vậy. Do vậy, họ cần phải có kỹ năng để trao đổi hiệu quả, truyền đạt một cách tâm huyết nhưng cũng cần phải tinh tế. Từ việc giao tiếp, trao đổi bằng con chữ, văn bản (written communication) cho đến việc giao tiếp bằng lời nói (verbal communication), để có thể truyền đạt các vấn đề, các điểm yếu (như của các chức năng chẳng hạn), hay việc làm sao để tái hiện bugs theo từng steps, và tại sao một tính năng A nên hoạt động theo một cách nào đó là cả một nghệ thuật.
4.Một tester giỏi cần phải biết kiên nhẫn
Thật dễ dàng để ta bị cuốn vào sự phấn khích, vui mừng khi tìm ra lỗi (bugs) hoặc xác định được khả năng, cơ hội để cải thiện tính năng hay phần mềm nào đó. Thường thì những tin tức xấu hay là bug sẽ khó để được chấp nhận hơn là tin tức tốt, vì vậy Software tester thường xuyên nhận được câu trả lời là "KHÔNG". Vậy nên kiên nhẫn để truyền đạt được ý kiến của mình cho người khác là một yếu tố cần thiết của một tester. Kiên nhẫn chính là chìa khóa thành công của một tester giỏi và nhờ vào đó, họ có thể xây dựng được mối quan hệ bền chặt với đồng nghiệp, với team (tinh thần teamwork).
5.Một tester giỏi cần giỏi viết lách (strong written)
Công việc của một tester đòi hỏi phải viết rất nhiều như là viết test cases, viết báo cáo lỗi (bug reports), viết emails. Kỹ năng viết yếu kém có thể dẫn đến đổ bể trong giao tiếp, không truyền đạt được ý muốn cho người khác và sẽ tiêu tốn thời gian vô ích. Những điểm này là những điểm mà hầu hết các team đều khó chấp nhận. Viết lách ở đây đương nhiên không phải việc viết những câu thơ bay bổng hay kể những câu chuyện hấp dẫn, một tester chắc chắn không ai không phải viết những tài liệu liên quan. Và việc viết những tài liệu đó sao cho dễ hiểu và không gây hiểu nhầm nghĩa là nhiệm vụ của tester. Việc viết một cách hiệu quả là một yếu tố giúp những người tester đi một chặng đường dài trong kiểm thử phần mềm.
6.Một tester giỏi cần biết quản lý thời gian (meets deadlines)
Sẽ không bao giờ có đủ thời gian để test hết tất cả mọi thứ. Có khả năng để đánh giá đâu là mức độ ưu tiên cao và tập trung vào những tasks đó là kỹ năng vô cùng quan trọng để theo kịp được deadline. Thế nên biết phân bổ thời gian và hiểu mình nên làm gì là điều cần thiết để trờ thành tester giỏi.
7.Một tester giỏi cần phải là người biết đồng cảm
Giống như một designer nên thiết kế dựa trên nhu cầu của người dùng (users) là việc được ưu tiên hàng đầu, tester cũng vậy. Một người tester nên kiểm thử chất lượng phần mềm dựa vào việc đặt mình vào vị trí của người dùng (users) để tiến hành kiểm thử. Việc đặt bản thân mình vào vị trí của người khác sẽ giúp ta mở ra nhiều hướng suy nghĩ thay vì suy nghĩ cố hữu của bản thân. Từ đó có thể tìm ra được nhiều bugs của hệ thống hơn.
8.Một tester giỏi là người có trí tưởng tượng phong phú
Là một software tester, bạn cần phải nhìn nhận sự vật sự việc theo nhiều góc cạnh khác nhau. Nghĩ tới những việc mà developer chưa nghĩ đến chính là công việc của tester. Tưởng tượng ra những case test không ai ngờ tới có thể khiến cho phần mềm trở nên hoàn hảo hơn, không ngừng phá vỡ các suy nghĩ cố hữu, lối mòn theo nhiều cách khác nhau là yếu tố giúp tester giỏi khác biệt với những người cùng ngành nghề nhưng suy nghĩ bị bó hẹp hạn chế trong một phạm vi nhất định.
9.Một tester giỏi là người có tổ chức
Khả năng tổ chức là rất quan trọng để khiến bạn trở thành một tester giỏi. Như chúng ta đã biết, công việc kiểm thử bao gồm rất nhiều tài liệu, thao tác, timelines và giao tiếp. Nếu như ta không tổ chức, sắp xếp, quản lý tốt công việc của mình, điều này sẽ ảnh hưởng đến toàn bộ team và dự án. Việc sử dụng chính xác các công cụ, quy trình phù hợp với bạn và team sẽ giúp cả team luôn kiểm soát được công việc hiệu quả.
Tổ chức công việc, tổ chức cuộc sống, tổ chức đoàn đội test, một dự án lớn không bao giờ là công việc của chỉ một người, biết phân chia hợp lý sẽ giúp dự án trôi chảy, thuận lợi.
10.Một tester giỏi cũng cần phải biết cả kỹ thuật
Phải nhận biết được đâu là câu hỏi để đòi hỏi một kiến thức kỹ thuật. Những kỹ năng về kỹ thuật (technical skills) sẽ giúp ta hiểu các giới hạn và đâu là ranh giới của ứng dụng (boundaries). Black box test là dành cho người mới, một tester giỏi phải test được white box test. Những kỹ thuật chúng ta biết được chỉ là một hạt cát nhỏ bé trong sa mạc tri thức. Chính vì vậy, không ngừng nghỉ học hỏi, tiếp thu những kiến thức mới là một phẩm chất cần có ở bất kỳ ngành nghề nào, không chỉ riêng tester.
11.Một tester giỏi cần phải biết teamwork
Test không phải công việc tách biệt, nó là một công đoạn của dự án, vậy nên nếu tester không thể làm việc tốt với developer hay PM thì làm sao hoàn thành được phần mềm. Đóng vai trò là một team player, người có những phẩm chất như chúng ta vừa thảo luận ở trên, sẽ giúp dự án diễn ra thuận lợi, và giúp chính tester làm việc hiệu quả với những đồng đội khác trong team. Hãy luôn trân trọng công việc của team. Một developers có hầu hết các kỹ năng khác với bạn và họ thông minh ngay cả khi họ chính là người gây ra bugs. Vậy nên khi gặp sự cố, hãy nhớ rằng họ và bạn là một team. Hãy trân trọng nhau và cùng nhau tiến bộ. Thay vì việc quy kết trách nhiệm do lỗi của một ai đó gây ra, hãy cùng nhau giải quyết vấn đề.
12.Một tester giỏi là người định hướng chất lượng cầu toàn
Chất lượng chính là mindset. Một người định hướng chất lượng là người sống và hít thở một cách chất lượng mỗi ngày. Là một software tester chính là một công việc bắt nguồn từ đam mê chất lượng. Một người tester giỏi luôn luôn mong muốn sản phẩm phải tốt nhất có thể và không thỏa hiệp trong bất kỳ trường hợp nào khi chất lượng không đạt yêu cầu.
13.Một tester giỏi là người tỉ mỉ
Một người tester giỏi là người luôn suy ngẫm cho dù là chi tiết nhỏ nhất. Testers cần phải hướng mọi thứ đến sự toàn vẹn, hoàn thành chỉn chu và không có bất cứ sai sót nào. Hãy nhớ rằng testing là giai đoạn cuối cùng của vòng đời kiểm thử phần mềm. Team của bạn và khách hàng của bạn đang tin tưởng, trông cậy vào chính bạn.
Tổng kết
Như bạn có thể thấy, kiểm thử phần mềm cần những kỹ năng riêng biệt. Đặc điểm của một người kiểm thử phần mềm tốt bao gồm cả kỹ năng cứng và kỹ năng mềm. Kiểm thử không dành cho tất cả mọi người. Nó là công việc cần sáng tạo, có đầu óc kỹ thuật để trở thành một tester thành công. Tiếp cận công việc của bạn với những điều này khắc ghi trong tâm trí, và bạn sẽ thấy mình ngày càng trưởng thành hơn theo thời gian với vai trò là một tester.
All Rights Reserved