#Làm nghề: Khi người làm QA lên tiếng!
Không ít người trong ngành IT vẫn còn một số hiểu nhầm về nghề QA như "công việc nhàn hạ", "ai cũng làm được", "QA có ít tiếng nói trong dự án", "QA thường xuyên conflict với Dev"... Liệu những điều đó có đúng là sự thật? Trong số lần này của #Làm nghề, hãy cùng lắng nghe quan điểm của các QA nhà Sun* để hiểu rõ, hiểu đúng hơn về nghề QA nhé!
Tester hay QA (Quality Assurance) được hiểu là người kiểm thử phần mềm. Ở vị trí này, công việc của bạn là tiến hành kiểm tra sản phẩm, phát hiện ra các "bugs" lỗi, sai sót hay bất cứ vấn đề nào có thể ảnh hưởng đến chất lượng phần mềm.
Qua góc nhìn của các QA nhà Sun*, nghề này được coi như là một nghề "làm đẹp" phần mềm theo hình dung của Sunner Lê Huyền (CEV14), hay là một người "mẹ" quan tâm đến "đứa con" của mình từ lúc sinh ra cho đến khi khôn lớn theo chia sẻ của Bích Ngọc (CEV14), hay là "chốt chặn" cuối cùng để đảm bảo chất lượng cho sản phẩm theo chia sẻ của anh Thành Đạt (CEV04). Không chỉ vậy, theo chia sẻ của chị Dương Vân (CEV03), QA còn là "người giữ lửa của cả gia đình dự án, gắn kết anh em trong team".
Mặc dù vị trí QA nắm giữ một vai trò quan trọng là thế nhưng vẫn có nhiều người chưa hiểu rõ, hiểu đúng về tính chất công việc của họ, từ đó có những góc nhìn chưa chính xác về nghề. Nhân số #Làm nghề lần này, hãy cùng lắng nghe tâm sự với các anh chị em team QA nhà Sun* để hiểu đúng, hiểu rõ hơn về công việc của "những người gác cổng thầm lặng" này nhé!
Làm QA nhàn, ai cũng làm được!
Câu nói mà nhiều người hay được nghe về nghề QA là "Nghề QA có công việc nhẹ nhàng, không phức tạp", liệu sự thực có đúng là như vậy?
Là người chịu trách nhiệm về chất lượng và độ tin cậy cho sản phẩm của dự án, giúp nâng cao sự hài lòng của khách hàng, giúp giảm thiểu rủi ro đến người dùng cuối, công việc của các bạn QA không chỉ đơn giản là những người "bắt bugs", họ còn là người "người gác cổng", người nghiên cứu, phân tích, đánh giá và kiểm tra những yêu cầu liên quan đến kỹ thuật trong quá trình xây dựng, phát triển dự án, phần mềm, đảm bảo tính chính xác giữa các bên trong dự án. Với tính chất công việc như vậy, người làm QA cũng rất bận rộn để rà soát lại tất cả, chỉn chu trong từng công đoạn, đảm bảo chất lượng sản phẩm một cách tốt nhất trước khi đưa đến tay khách hàng.
Chị Trang Nguyễn (CEV03) chia sẻ: "Thực tế QA tham gia vào các công đoạn của dự án, từ khi 'brainstom', phân tích spec, trao đổi tư vấn cho khách hàng, tham gia plaining, quản lý rủi ro không chỉ ở phạm vi team QA và cho toàn dự án.... Các bạn QA cũng là những người có thể phát hiện ra những điểm chưa hợp lý và có thể gợi ý cho khách hàng mà không cần phải đợi đến khi code xong, test xong rồi mới báo bugs... Ngoài ra tùy đặc thù dự án, QA còn làm khá nhiều công việc không tên khác nữa."
Không dừng lại ở đó, họ cũng là người đóng góp vào quá trình xây dựng quy trình làm việc, quản lý spec, 'suggest UI/UX' trong dự án giống như chị Lê Huyền (CEV14) cho hay"Nghề QA chúng mình không chỉ 'log bug' hay 'run test', vì là người đảm bảo chất lượng cuối cùng của sản phẩm nên chúng mình cũng phải hiểu dự án, hiểu yêu cầu của khách hàng, phân tích logic nên cũng áp lực lắm. QA cũng phải suy nghĩ 'bug' ở đâu, 'test' ra làm sao để kịp tiến độ mà sản phẩm chất lượng tốt."
Người làm QA cần sở hữu rất nhiều kiến thức và kỹ năng, cả về chuyên môn lẫn kỹ năng mềm, bao gồm cả kỹ năng về lập trình, phát triển phần mềm để hiểu cách hệ thống hoạt động, hiểu công việc của Dev, biết được những lỗi hay xảy ra trong lập trình... Nhiều QA còn sở hữu đa dạng kiến thức công nghệ, không kém cạnh các bạn Dev. Ngoài những nghiệp vụ cần thiết, việc có thêm nhiều kiến thức về IT đã giúp các bạn nâng cao được chất lượng công việc, đảm bảo sản phẩm được "release" chỉn chu, hoàn hảo nhất.
"Ngoài những kiến thức về các lĩnh vực hoạt động của sản phẩm, người dùng cuối, các nghiệp vụ cần thiết, những kiến thức về phát triển phần mềm rất quan trọng. Mặc dù những kiến thức về lập trình, hệ thống hay 'base IT' nói chung, các bạn QA không cần thiết phải đáp ứng nhiều như Developer nhưng không có nghĩa là QA không cần có. Muốn làm tốt công việc của mình thì chúng mình cũng cần có hiểu biết tốt về tổng quan kiến trúc hệ thống, các phương pháp kiểm tra và các tool test phổ biến, với những bạn QA thực hiện automation test còn cần phải thành thạo việc sử dụng các framework, automation tool, viết script... Mình thấy càng có nhiều kiến thức, bạn càng đọc hiểu phân tích yêu cầu, tìm ra được nguyên nhân, cơ chế hoạt động của hệ thống dễ dàng hơn, giúp xác định chính xác chiến lược test, quan điểm test cần thiết, tránh test rõ nhiều nhưng lại không đi vào trọng tâm, không hiệu quả, cũng như giúp việc tìm ra các lỗi tiểm ẩn tốt hơn.", chị Trang Nguyễn (CEV03) chia sẻ.
Hay như chị Đào Phạm (CEV10) cho hay: "Làm QA yêu cầu rất nhiều kỹ năng cả về chuyên môn và kỹ năng mềm, kiến thức về lập trình cũng rất cần thiết. Bản thân mình cũng phải học hỏi những kiến thức đó rất nhiều để làm tốt các phần công việc của mình. Có những khi các bạn Developer sửa một dòng code cũng có thể gây ra những lỗi nghiêm trọng, mình cũng phải hiểu để 'regression test'. Và chắc chắn rồi, các bạn QA cũng cần một sức khỏe tốt để sẵn sàng chiến đấu bất cứ khi nào dự án cần và một trí tưởng tượng tốt để nghĩ ra nhiều case nữa đó."
Mối quan hệ "cơm không lành" với Developer
Có lẽ nhiều người khi làm việc trong môi trường IT cũng sẽ ít nhiều bắt gặp những tình huống căng thẳng giữa QA và Developer như "Đây là tính năng, không phải bug", "Có spec thì tớ fix", "Chị ơi dev không self test, code đại đi để em log bug mệt nghỉ hay sao ý",...
Sở dĩ sự lệch pha này xảy ra bởi Dev và QA chưa thực sự hiểu rõ công việc của nhau, hay chưa có cơ hội để giãi bày về nghiệp vụ chuyên môn. Tuy nhiên, trên thực tế thì "QA chúng mình chính là cánh tay phải, luôn sẵn sàng hỗ trợ các bạn Dev. Nếu không có QA thì làm sao các bạn Dev có thể tìm ra lỗi sai và nâng cao chất lượng code của mình. Chúng mình là 1 team.", chị Trang Nguyễn bày tỏ.
Và khi hiểu được công việc, nhiệm vụ của nhau, các anh chị em QA và Dev sẽ cùng "song kiếm hợp bích", mang đến những sản phẩm tuyệt vời, giúp dự án thành công.
"Dev và QA là 'one team', hợp tác chặt chẽ với nhau, cùng nhau tìm hiểu, phân tích yêu cầu, lên plan, phối hợp ăn ý, cố gắng thấu hiểu và tôn trọng nhau để hướng đến một mục tiêu là mang lại những dự án thành công, những sản phẩm tuyệt vời nhất.", chị Trang Nguyễn chia sẻ thêm.
Hay nói vui như anh Thành Đạt (CEV04) thì "nhìn thấy trong dự án QA và Dev là hai thái cực đối lập nhưng thực ra tỉ lệ QA và Dev yêu nhau và thành vợ chồng rất nhiều, ở trong Sun* hiện tại có rất nhiều cặp đôi như vậy đấy!"
Thế nào là một QA giỏi?
Thế nào là một người QA giỏi?
Liệu một QA giỏi sẽ cần những điều kiện gì?
QA giỏi không chỉ là QA bắt được tất cả các 'bugs' của dự án hoặc bắt được nhiều 'bugs' khó, dị. Người làm QA giỏi là người nắm được chất lượng mà khách hàng/dự án thực sự mong muốn là gì và làm đúng hoặc vượt hơn mong đợi, đó là quan điểm của anh Thành Đạt: "Một QA "bờ rồ" là một người nắm được chất lượng mà dự án thực sự mong muốn. Vì không phải khách hàng nào cũng có tiêu chí, chất lượng giống nhau, nếu mình hiểu điều đó và đáp ứng được yêu cầu thì khách hàng sẽ có sự hài lòng về dự án, đó là điều rất quan trọng để giữ chân được họ tiếp tục hợp tác với mình".
Để có thể hiểu được chính xác đối tác của mình mong muốn gì ở dự án, sản phẩm của mình, các bạn QA cần rèn luyện cho mình nhiều kiến thức, kỹ năng khác nhau, bao gồm cả kỹ năng chuyên môn, kỹ năng lập trình và kỹ năng mềm. Nhất là trong thời buổi công nghệ phát triển như vũ bão, từ những kinh nghiệm của bản thân, các bạn QA của Sun* sẽ gửi tới các bạn những lời khuyên hữu ích dưới đây.
- Kĩ tính, tỉ mỉ đến từng chi tiết: Chú ý đến từng chi tiết của phần mềm, kiểm tra cẩn thận chức năng, các quan điểm UI, UX. Phát hiện ra cả những vấn đề dù là nhỏ nhất hoặc sự không đồng nhất, nhất quán giữa các thành phần ảnh hưởng đến chất lượng phần mềm.
- Tư duy phản biện (Critical Thinking): Đó là khả năng phân tích những hệ thống lớn, phức tạp xác định rủi ro tiềm ẩn để đưa ra chiến lược kiểm thử hiệu quả nhất. Có thể dự đoán được các tình huống có thể xảy ra và đôi khi đặt ra được rất nhiều câu hỏi đắt giá. Tuy duy phản biện cho phép chúng ta điều tra được các vấn đề, xác định được nguyên nhân gốc rễ đề giải quyết vấn đề hiệu quả, triệt để.
- Sự tò mò, ham muốn khám phá: Đó là việc luôn muốn tìm hiểu cách thức hoạt động của phần mềm vượt ra khỏi những case kiểm thử được định nghĩa sẵn, khám phá phần mềm theo các góc nhìn khác nhau và cố gắng phát hiện ra các lỗi tiềm ẩn.
- Đặt mình vào vị trí người dùng cuối: Hiểu được tầm quan trọng của trải nghiệm của người dùng cuối, đảm bảo phần mềm trực quan thân thiện và đáp ứng được mong đợi của ng dùng. Ủng hộ các nhu cầu, sở thích của người dùng cũng như đưa ra nhứng suggest để cải thiện trải nghiệm người dùng.
- Khả năng thích ứng linh hoạt: Công việc của QA thường có nhịp độ nhanh, đối với dự án như hiện nay hầu hết là dự án Agile, spec và độ ưu tiên có thể thay đổi thường xuyên. Một QA xuất sắc cần có khả năng nắm bắt, thích ứng và tính linh hoạt tốt. Có thể sẵn sàng điều chỉnh các chiến lược, công cụ, phương pháp khi cần mà vẫn duy trì mức năng suất và hiệu quả cao.
Trang Nguyễn (CEV03)
Đầu tiên là phải luôn luôn hoài nghi, "In Code We Trust". Các ý tưởng đều nên dựa theo spec, design và mong muốn của khách hàng, không đưa cảm tính cá nhân để đánh giá vấn đề. Mọi sự sai khác với spec và design đều cần phải xem xét kỹ. Nhất là trong thời đại công nghệ phát triển, nhiều nền tảng kỹ thuật mới cũng sinh ra nhiều quy trình test, phương pháp test, quan điểm test khác nhau. Nếu QA không chủ động học hỏi, tìm hiểu trước thì khi vào dự án sẽ bỡ ngỡ. Mỗi bạn QA cần chủ động hơn trong việc tiếp cận các kĩ thuật mới, học từ Dev, học từ những người đồng nghiệp đã có kinh nghiệm để ít nhất mình biết công nghệ mới đó là gì, giúp công việc hiệu quả cao hơn.
Lê Huyền (CEV14)
Thường có 4 loại mindset mà QA hay có đó là:
- Tạo ra 1 sản phẩm ít lỗi nhất có thể.
- Tạo ra 1 sản phẩm mà nhận feedback của khách hàng ít nhất có thể.
- Tạo ra 1 sản phẩm mà giống như khách hàng mong muốn.
- Tạo ra 1 sản phẩm mà đúng như khách hàng cần.
Tuy nhiên, tuỳ thuộc và tình hình cụ thể mà chọn 1 trong 4 mindset trên hoặc kết hợp chúng để đáp ứng được mong đợi của khách hàng về sản phẩm thay vì cứ cố định là 1 trong 4 loại mindset ở bên trên.
Hãy luôn chú ý cập nhật những thông tin và kiến thức về các phần mới (OS mới ra có gì, các công nghệ mới), và hãy tạo thói quen đọc và cập nhật hàng ngày thay vì phải làm trong 1 dự án cần nó thì mới đọc và tìm hiểu, như vậy sẽ các bạn QA mới có thể "Update to latest version" của chính bản thân mình.
Thành Đạt (CEV04)
Luôn có trách nhiệm với công việc. Hãy gạt bỏ suy nghĩ mình đang làm thuê cho khách hàng, thay vào đó, hãy coi đó như là sản phẩm của mình, của team mình đang phát triển. Cố gắng cẩn thận, tỉ mỉ trong những việc nhỏ nhất. Rèn cho mình độ nhạy cảm cao để tránh bỏ sót những lỗi không đáng có. Tinh thần học hỏi, trau dồi kỹ năng liên tục. Học hỏi từ những anh chị đi trước, rút kinh nghiệm từ những đàn em phía sau. Tư duy linh hoạt, biết lắng nghe, đón nhận những thay đổi trong công việc. Nhất là trong bối cảnh hiện tại, các bạn QA cần thường xuyên trau dồi kỹ năng chuyên môn, cập nhật các tool mới support cho việc kiểm thử và học hỏi thêm kiến thức mới, đặc biệt là ngoại ngữ.
Phạm Đào (CEV10)
Mỗi nghề đều có đặc thù riêng. Không có nghề nào dễ, nghề nào khó. Con người có phẩm chất tốt trong công việc, biết nỗ lực hết mình, đem lại nhiều lợi ích cho xã hội, làm cho mọi người hạnh phúc vì những giá trị mà mình mang lại, thì chính những con người ấy đã nâng tầm cho nghề nghiệp mà họ đang làm.
Qua đây, Sun* News xin gửi lời cảm ơn chân thành nhất tới tất cả các bạn QA tại Sun* nói riêng và những người làm trong nghề QA nói chung. Chúc cho tất cả các bạn sẽ có thật nhiều sức khỏe, giữ được ngọn lửa nhiệt huyết, đam mê của mình trong công việc, và tạo ra thật nhiều giá trị tốt đẹp cho xã hội thông qua lĩnh vực công nghệ nhé!