Nội dung chính
QC là gì? QC là viết tắt của cụm từ Quality Control – đảm bảo chất lượng phần mềm. Người ta hay gọi QC là Tester nhưng khác với kiểm thử phần mềm – Testing, nghề QC không chỉ là nghề “bắt bug”.
“Người theo nghề QC cần làm cho Developer hiểu rằng lỗi họ tìm ra cũng nhằm mục đích hoàn thiện sản phẩm, làm khách hàng hài lòng, và làm người dùng yêu thích sản phẩm. Sản phẩm mình làm ra mà không ai dùng thì sản phẩm đó chết. Mình làm QC cho sản phẩm chết thì chứng tỏ mình cũng thất bại.”
Muốn tìm hiểu thêm về nghề QC là gì? Hãy theo dõi bài phỏng vấn của ITviec với chị Phan Thị Ngọc Phương – QC Lead của ASWIG Solutions sau đây.
Xem việc làm QC trên ITviec
Nghề QC là gì?
QC là gì?
QC là viết tắt cho Quality Control – Đảm bảo chất lượng phần mềm. Tuy nhiên, chị nhận thấy khái niệm về “quality control” hiện tại còn khá mơ hồ.
Nhiều bạn trẻ chỉ làm công việc như một Tester thuần tuý. Dựa trên yêu cầu đặc tả của khách hàng, xem phần mềm hoạt động có gì khác thì họ bắt bug.
Họ không nghĩ đến trường hợp người viết ra yêu cầu đặc tả này vẫn có sai sót. Lúc đó người QC không chỉ làm công việc bắt bug nữa mà là nêu lên vấn đề về phần mềm cho người viết yêu cầu đặc tả để họ điều chỉnh, rồi chuyển sang team Development làm lại.
Chị Phương chia sẻ về những đầu việc mà một người theo nghề QC sẽ đảm nhiệm:
- Đảm bảo khi team Development làm xong một sản phẩm, thì những yêu cầu đặc tả của khách hàng đã được đáp ứng trong sản phẩm đó.
- Còn nhiều thứ không được mô tả trong bảng mô tả của khách hàng nhưng làm một QC thì mình cần có riêng một số tiêu chí về chất lượng mà mình cần phải kiểm tra trên mọi sản phẩm.
Chia sẻ thêm về công việc của mình, chị Phương, ngoài việc đảm bảo yêu cầu khách hàng, sẽ tự hỏi bản thân mình hai câu hỏi khi nhận định về một sản phẩm tốt:
- Người dùng cuối cùng có thích sử dụng sản phẩm không?
- Họ có cảm thấy nó dễ sử dụng không?
Có một website mua bán sản phẩm mà chị từng test. Chu trình mua hàng mà khách hàng đặt ra cho chị test là: Người dùng cuối (end-user) đăng nhập, xem và duyệt sản phẩm muốn mua, bỏ vào giỏ hàng, thanh toán.
Đó là yêu cầu của khách hàng, là chu trình “lý tưởng” mà họ nghĩ. Đồng thời họ chỉ đưa yêu cầu bắt chị test các chức năng như đăng nhập, chọn hàng, bỏ vào giỏ hàng, thanh toán…
Sau khi chị test các chức năng và thấy nó hoạt động tốt rồi thì chị đứng trên cương vị người dùng. Chị thấy là không ai vừa vào một website mua sắm là tạo tài khoản, đăng nhập ngay mà họ sẽ xem sản phẩm trước, thích rồi mới tạo tài khoản và mua hàng.
Chị đã nêu vấn đề với khách hàng, họ tiếp thu và đặt ra nhiều quy trình mua hàng khác nhau cho website đó, để đáp ứng được sở thích và hành vi mua sắm của nhiều đối tượng.
Chị Phương tin rằng người QC giỏi cần đứng trên cương vị người dùng, sử dụng sản phẩm theo sở thích của họ để xem phần mềm có đáp ứng được hay không, từ đó đề xuất cách hoàn thiện sản phẩm.
Nếu một sản phẩm ra đời mà không ai sử dụng là một sản phẩm thất bại. Mình làm QC cho sản phẩm đó, mình cũng là một QC thất bại.
Nghề QC là gì?
Làm QC, trường hợp đầu tiên phải kiểm tra gọi là “happy case”. Vậy thì happy case là gì? Tức là kiểm tra khi ứng dụng vận hành đúng thì phần mềm có hoạt động đúng yêu cầu khách hàng không. Nếu đúng rồi thì mình phải tính tới trường hợp khi thao tác sai thì ứng dụng phản ứng ra sao.
Chị đưa ra ví dụ, khi bạn lên một website tạo tài khoản. Bạn điền đúng loại thông tin, tạo tài khoản thành công, đó gọi là “happy case.”
Tuy nhiên, là một QC, bạn cần phải nghĩ đến trường hợp người dùng điền sai loại thông tin thì trang web sẽ phản ứng thế nào.
Có một lần chị test thì thấy website báo lỗi “Error” rồi xoá hết dữ liệu chị điền, mà chị không được báo là điền sai thông tin ở phần nào. Chị lại điền lại, thay thế giá trị ở một vài chỗ. Website vẫn báo lỗi rồi xoá hết dữ liệu mà không hiện thông báo chính xác là chị sai ở phần nào.
Mỗi lần website báo lỗi rồi xoá dữ liệu mà không chỉ rõ chỗ sai như vậy sẽ làm người dùng bực mình. Sau vài lần thử lại, họ có thể bỏ đi luôn.
Vì vậy, người QC cần test ứng dụng bằng cách thao tác sai để xem thông báo lỗi hướng dẫn người dùng thao tác lại như thế nào, có báo chính xác lỗi mà người dùng mắc phải, để người dùng thao tác đúng lại không, thông điệp báo lỗi có thân thiện với người dùng không.
Chị cũng chia sẻ thẳng thắn rằng làm phần mềm rất khó và áp lực nhưng kiểm thử phần mềm còn quan trọng hơn. Nếu QC không chỉ được những điểm sai và thuyết phục Developer, thì người dùng cuối không muốn sử dụng, dẫn đến phần mềm của mình cũng chết.
Điểm khác nhau giữa QA và QC là gì?
QA là Quality Assurance. QA cần thiết đối với những công ty phần mềm lớn như CSC, có chứng chỉ tiêu chuẩn chất lượng CMMI, tức là công ty đó có quy trình làm phần mềm rõ ràng. Quy trình làm phần mềm ở đây ví dụ như là đến giai đoạn nào, mình phải có những loại document nào.
Ngoài ra còn nhiều tiêu chí khác khi làm phần mềm mà em phải thực hiện theo thứ tự rõ ràng thì phần mềm mới đạt chất lượng.
Giả sử một công ty có chứng chỉ CMMI 5 thì người làm QA phải áp dụng quy trình làm phần mềm của chứng chỉ đó vào toàn bộ quá trình làm phần mềm của công ty, và đảm bảo mọi dự án đều phải thỏa mãn quy trình đó.
Trong một công ty thì thông thường chỉ có 1-3 QA, nhưng lại có vô số QC để kiểm tra chất lượng phần mềm. QA là người làm về quy trình. QC là người làm việc với team Development để cho ra đời một sản phẩm tốt.
Xem thêm: QA là gì? QC là gì?
Lý do nên chọn nghề QC là gì?
Thông qua tự tìm hiểu, chị Phương thấy tiềm năng phát triển của nghề QC rất lớn.
Ngoài ra, lý do chị chọn nghề QC là vì chị còn thấy tính cách của mình hợp với nghề QC. Trong kể cả công việc và đời sống thường nhật, chị đặt nhiều quan tâm cho các góc cạnh khác nhau của chất lượng sản phẩm.
Ví dụ, khi đi mua hàng, chị suy xét nhiều thứ:
- Sản phẩm có bắt mắt không?
- Giá tiền hợp lý chưa?
- Sản phẩm có đáp ứng được nhu cầu của mình không?
- Chức năng của sản phẩm có đúng với điều mình cần không?
- Cách sử dụng dễ không?
- Sản phẩm bền không?
Với những bạn nào cũng có nét tính cách như thế, chị Phương tin là bạn nên chọn theo nghề QC. Khi bạn áp dụng những suy nghĩ này vào nghề QC, sản phẩm khi ra đời sẽ được nhiều người dùng đón nhận.
Những kỹ năng cần thiết để theo nghề QC là gì?
Từ kinh nghiệm bản thân, chị Phương liệt kê ra một vài kỹ năng mà chị đánh giá là cần thiết để theo đuổi nghề làm QC.
- Thứ nhất là kỹ tính
Nếu bạn hỏi kỹ năng quan trọng nhất của QC là gì? Ắt hẳn đầu tiên phải là kỹ tính.
Làm nhân viên QC nghĩa là mình đang kiểm tra lại phần việc của mọi người.
Người làm QC cần kiếm hết tất cả bug để Developer sửa. Nếu có bug nào mà người dùng cuối phát hiện ra sau khi sản phẩm đã lên production thì team Test bị la. Vì vậy cần hết sức kỹ càng trong việc phát hiện bug.
- Thứ hai là kiên nhẫn
Kiên nhẫn là đức tính rất cần thiết của người làm nghề QC, nhất là trong giai đoạn làm manual test.
Quá trình phát triển sản phẩm, ban đầu có thể rất khó. Tuy nhiên, lúc sau, giống như đã có sẵn nền tảng, Developer thực hiện ít nhưng QC phải test lại rất nhiều.
Với lại QC cần phải làm regression test, nên phải test những chu trình lặp lại. Thỉnh thoảng công việc này sẽ hơi nhàm chán nên đòi hỏi người nhân viên QC phải kiên nhẫn và kỹ tính thì mới tìm ra bug được.
- Thứ ba là kỹ năng phân tích vấn đề
Chị đưa ra ví dụ như khi tìm ra một bug, không phải mình chỉ ghi hiện tượng bug là gì mà mình còn phải phân tích con bug đó.
Cụ thể hơn là, có nhiều cách để lặp lại một bug, QC cần tìm cách lặp lại bug ngắn nhất để Developer có thể dễ dàng thao tác tạo lại bug đó.
- Thứ tư là Anh văn phải tốt
Nếu Anh văn không tốt, dẫn đến việc mình hiểu sai vấn đề thì sẽ test sai.
Team development trước khi làm sản phẩm thì đều phải họp để nắm yêu cầu của khách hàng. Tuy nhiên, chị Phương nhận thấy rằng ở nhiều công ty, nhân viên QC không được tham gia vào những buổi họp đó.
Nhân viên QC thường nhận được sản phẩm, kèm với yêu cầu khách hàng cùng lúc. QC có thời gian rất ngắn để hiểu requirement và test sản phẩm. Nếu tiếng Anh không vững dẫn đến hiểu sai, rồi test sai, không tìm ra bug, sản phẩm không được người dùng cuối chấp nhận thì nó chết, QC cũng thất bại.
- Cuối cùng là phải giao tiếp tốt
Người làm nghề QC cần có kỹ năng giao tiếp tốt với Developer để họ không hiểu lầm rằng mình đang cố tìm lỗi và tố giác cái họ làm sai.
Nhân viên QC cần làm cho Developer hiểu rằng lỗi họ tìm ra cũng nhằm mục đích hoàn thiện sản phẩm, làm khách hàng hài lòng, và làm người dùng yêu thích sản phẩm.
Vì vậy khi giao tiếp với Developer, chị Phương luôn giữ thái độ hoà nhã, tích cực, cẩn thận phân tích vấn đề để họ hiểu vấn đề.
Tài liệu tham khảo cho QC
Khi muốn trở thành một QC giỏi, chị Phương chia sẻ rằng nghĩ các bạn nên tự tìm kiếm tài liệu và học online. Chị thường xuyên tham khảo các nguồn sau:
- Software Testing Help – Đây là website chuyên về Testing.
- Guru 99 – Trang này có nhiều kiến thức khác nhau, có cả phần căn bản về Testing cho các bạn mới bắt đầu.
- Tutorials Point – Trang này cũng có nhiều kiến thức Testing mà chị hay tham khảo.
- Ngoài ra, còn có tài liệu ISTQB, là tài liệu chuyên dành cho Testing rất hay. Tuy nhiên, chỉ khi có kinh nghiệm rồi thì mình đọc mới thấm và dễ hiểu hơn, vì vậy chị Phương đề xuất bộ sách này cho các bạn QC đã có kinh nghiệm. Với những bạn vẫn đang tìm hiểu cơ bản QC là gì thì chưa nên tham khảo tài liệu này.
Tips tham khảo tài liệu: Một khi đã đọc, các bạn nên đọc lại nhiều lần ở nhiều thời điểm khác nhau. Bởi vì càng có nhiều kinh nghiệm, bạn sẽ càng hiểu vấn đề sâu hơn. Khi đó kiến thức trong sách sẽ in sâu hơn vào tiềm thức của bạn.
Đối với những bạn đang là Developer muốn chuyển hướng sang làm QC như chị thì nên tham gia các khoá training dành cho nhân viên QC ở các công ty, hoặc là học các khoá học ở RMIT hay Đại học Khoa Học Tự Nhiên.
Ở các trường đại học hiện nay dạy nhiều ngôn ngữ lập trình, mà không có trường lớp nào đào tạo chính quy về testing hay quality control.
Theo chị biết thì chỉ có RMIT và Đại học Khoa Học Tự Nhiên là có lớp dạy ngoại khóa về testing. Toàn bộ kiến thức testing chị có được do tự nghiên cứu và học hỏi trong quá trình làm việc.
Chị Phương nhận thấy các bạn Developer có logic rất tốt, vì vậy các bạn chỉ mất khoảng nửa năm đến một năm tương đối khó khăn ban đầu thôi, còn sau đó các bạn đều làm rất tốt.
Giai đoạn đầu rất khó khăn để một bạn Developer tìm bug, vì tư duy của Developer là làm đúng. Lúc đó Developer cần học cách nhìn sản phẩm dưới góc nhìn của người dùng cuối, tức là thử sử dụng sản phẩm theo nhiều cách khác nhau.
QC trong ngành IT nói gì?
Sai lầm…
Lúc chưa có nhiều kinh nghiệm, có một lần, sau khi họp với khách hàng thì chị hiểu sai yêu cầu của họ.
Sau đó, chị hướng dẫn lại cho team sai. Khi phát hiện ra, chị xin lỗi khách hàng và cùng team làm lại từ đầu. Mọi người phải làm nhiều việc hơn, vất vả hơn rất nhiều.
Từ đó, chị rút ra kinh nghiệm là sau khi meeting với khách hàng xong thì phải tóm tắt lại những cái cần làm, hoặc có vấn đề chưa hiểu rõ thì phải xác nhận lại rồi gửi email xác nhận cho khách hàng, sau đó mới truyền đạt lại cho team.
Ngoài ra, dù có nghĩ rằng mình hiểu đúng yêu cầu của khách hàng, thì mình cũng phải lặp lại yêu cầu của họ theo cách diễn đạt của mình.
Bởi vì tiếng Anh không phải là tiếng mẹ đẻ của mình, nên để đảm bảo mình hiểu đúng vấn đề, chị Phương không lặp lại y chang lời của khách hàng, mà chị hiểu rồi diễn đạt lại theo văn phong của mình.
Đây cũng là cách tốt nhất để khách hàng xác nhận là nhân viên QtomorrowC hiểu đúng yêu cầu của họ hay không.
… Và lời khuyên
Chị Phương muốn gửi lời khuyên các bạn là: Ngay cả khi chỉ làm một thành viên trong team thì cũng nên “take ownership”. Tức là làm việc với tinh thần như một người Lead, thì lúc đó mình sẽ làm được nhiều hơn điều mà người Lead mong đợi.
Mình sẽ quan tâm đến nhiều loại quality khác của dự án, dẫn đến thể hiện nhiều hơn khả năng của mình.
Chị ví dụ về các thành viên trong team chị. Khi làm xong task A, các bạn đều sang hỏi chị để làm thêm task khác. Ngoài ra, có bạn còn dành thời gian nghiên cứu tổng quan dự án để phát hiện những vấn đề quan trọng và nêu lên với chị, để chị làm việc lại với khách hàng.
Trong một team, nếu ai cũng “take ownership,” thấy vấn đề thì nêu lên thì sản phẩm cuối cùng của dự án sẽ tốt.
Bên cạnh đó, sau này, khi dự án lớn lên, tăng thêm thành viên, thì chính các bạn đó được nắm chính các component, và đóng vai trò của một QC Lead trong component đó.
Tiểu sử: Sau khi tốt nghiệp khoa CNTT chuyên ngành phần mềm ĐH Văn Lang năm 2006, chị Phan Thị Ngọc Phương làm Developer trong một tháng rồi chuyển hẳn sang làm Testing.
Đến nay chị đã có hơn 9 năm kinh nghiệm làm Testing. Hiện tại chị Phương đang là QC Lead của ASWIG Solutions.
Nếu bạn nghĩ những chia sẻ này có thể giúp ích cho bạn bè hoặc đồng nghiệp thì đừng ngại nhấn nút Share bên dưới nhé!
Tham khảo thêm việc làm QC trên ITviec