Hoàn cảnh:
Sau khi đã Deli 1 sprint của dự án và nhận được Feedback từ khách hàng ,Dev + QC ngồi tám và vạch tội nhau (lưu ý chỉ là feedback thôi, có thể là có bug , có thể là change request, hoặc thảo luận về các vấn đề nãy sinh - nhưng thấy feedback về nhìu là lòng dạ bất an rồi ) 
-----------------------------------------------------------------------
Dev- ( sờ ta tút của hắn ta là " Củm thấy thất zọng”)  : Thật sự buồn vì QC tệ quá, cách test chẳng Pro, không biết tại quy trình hay tại ....? Dự án của mình thấy QC post toàn bug chi chi mô mô ( để mẹc buồn )
+ QC- ( no any status) : Thiệt hả zu , Zu củm thấy zậy á , buồn ak nha( nghĩ thầm - chắc hắn đang muốn gây chiến đây, lại chọc zô nỗi trăn trở của mềnh - âm thầm chịu đựng trả thủ sau vậy
Dev-  ( sờ ta tút: Đang nghiêm túc) : Thiệt chứ, thấy QC chẳng Pờ rồ gì hết á, bị nó feedback cả mớ kìa, sót bug từa lưa
QC  : Hjc, QC làm sao mà Pờ rồ được , Pờ rồ là dành cho dev - Programer hoặc dành cho  PM thôi - Project-manager.
( đang cảm thấy hơi giận nhưng không muốn trở thành người cố chấp. lật feedback ra dòm và kiểm định)
------------------------------------------------------------------------
Thực sự là mình cũng ngờ vực bản thân đã làm không tốt . Mình chấp nhận  và không cảm thấy xấu hổ về  điều đó .  Bởi vì sao ư, một người lúc nào cũng vỗ ngực tự tin " Tôi giỏi, Tôi Pro, tôi chẳng bao giờ để lọt 1 cái bug nào dù là nhỏ nhất trong bất kỳ dự án phần mềm" và gạt qua mọi lời góp ý, đổ lỗi cho mọi lỗi lầm thì đó mới là điều nguy hiểm nhất.

Nếu trương họp bạn bị chê như vậy ( bâng quơ và xuất phát từ yếu tố chủ quan cả khách quan nữa) , bạn sẽ như thế nào ?
Câu hỏi đặt ra, làm sao để trở thành 1 QC /QAgiỏi , (có thể hoành hành ngang dọc , gây tiếng vang trong giới giang hồ ). Sau đây là một số bí quyết tham khảo:


Kiểm thử phần mềm

1) Hiểu rõ bản chất công việc của mình.Nhiều người trong nghành Kiểm thử phần mềm còn lẫn lộn danh xưng . Phân biệt Tester, QC, QA ? 

Hiểu rõ công việc , nhiệm vụ của mình giúp ta xác định được sẽ cải thiện kỷ năng nào, hạn chế những khiếm khuyết nào gây ảnh hưởng đến công việc, Nhờ đó, về lâu dài, các kỹ năng cần thiết sẽ được phát huy và đáp ứng tốt cho công việc, 

- Tester: Thử nghiệm, kiểm thử hệ thống phần mềm nhằm tìm các lỗi phát sinh cho 1 dự án phần mềm. Công việc bao gồm lập kế hoạch kiểm thử và thực thi kiểm thử. 

Ở một số công ty như công ty game, tester chủ yêu là ngồi chơi hết các level của game và báo cáo kết quả ( lỗi, những chức năng khó sử dụng, hoặc góp ý, nhận xét, đánh giá Game đó... ) Và ở một số công ty, Tester chỉ thực thi những testcase có sẵn 

- QC: Kiểm soát,đánh giá, đảm bảo,bảo trì chất lượng sản phẩm phần mềm theo đúng đặc tả yêu cầu và đảm bảo không có lỗi trong quá trình hoạt động của một phần mềm nhất định.

-QA:  Đặt ra những quy chuẩn nhất định, những quy trình nhằm chắc chắn các công đoạn sản phẩm đã đạt yêu cầu về chất lượng trong suốt quá trình thực hiện dự án. 

Ví dụ nhé : Sản xuất 1 sản phẩm nước đóng chai , QA là bộ phận quy định nước đóng chai sau khi hoàn thành phải đảm bảo , chất lượng nước phải đạt độ tinh khiết 100%, chưa những chất gì và không chứa những chất gì , điều kiện bảo quản , thời hạn sử dung....QC sẽ tiến hành các khâu kiểm tra trong suốt quá trình sản xuất sản phẩm xem trong quá trình ấy, có xảy ra sai sót gì không, Đảm bảo mọi thứ sẽ đạt được đúng như chất lượng đề ra ( từ QA) . Sau khi sản phẩm đã hoàn thành, Tester là người thử trước , sản phẩm có thực sự như vậy chưa trước khi tung sản phẩm ra thị trường .
Kiem-thu-phan-mem

 Như vậy, QA chỉ quan tâm : 
- Các công đoạn sản xuất sản phẩm được đảm bảo đúng quy trình 
- Chất lượng sản phẩm đúng quy định ( sản phẩm đã hoàn thành ) 
Còn QC sẽ đảm bảo : 

- Thành quả cho từng công đoạn sản xuất là không có lỗi 
-  Hàng loạt kiểm tra để chứng minh chất lượng sản phẩm đã đúng như yêu cầu 

Kết luận:  QA là bộ phận chỉ huy, chịu trách nhiệm toàn bộ về tiêu chuẩn, quy trình kiểm tra để đảm bảo chất lượng. QC là bộ phận thi hành những quy định, hướng dẩn của QA trong việc kiểm tra, phân loại chất lượng sản phẩm.

Tuy nhiên, phần lớn các công ty ở Việt Nam, việc đưa ra vị trí và phân chia công việc vẫn còn mơ hồ, chưa được cụ thể. 

2) Cần Technical skill : Nghề Kiểm thử phần mềm không đòi hỏi bạn phải tạo ra một sản phẩm cũng không cần bạn có những ý tưởng lớn lao nhưng nếu biết về công nghệ để tạo ra những sản phẩm lớn lao thì đó là một lợi thế đối với bạn. 

Kiểm thử phần mềm

Vâng, tôi đang muốn nói đến việc nắm bắt một ngôn ngữ lập trình nào đó để nắm bắt cấu trúc của hệ thống phần mềm ( sơ bộ thôi, ai trong chúng ta cũng đều được học nếu là dân CNTT, nếu không phải, tìm hiểu sơ bộ cũng được, quan trọng là hiểu nó hoạt động như thế nào , cấu trúc ra sao) 

-  Công việc kiểm thử phần mềm sẽ rất là thuận lợi  nếu bạn Vọc phá ,sử dụng thành thạo nhiều nền tảng khác nhau như hệ điều hành, các trình duyệt , các sản phẩm từ  Iphone, Ipad , Android ...Window , Linux, Mac OS.

Có thể dùng các chương trình ảo , Emulation để vọc ( Iphone , Ipad không phải muốn vọc là có vọc , hehe) . Các kiến thức về mạng, client - server , quá trình lưu trữ dữ liệu hoặc một số công nghệ như 3G, GPRS, Wifi ...thiết bị phần cứng ...sẽ rất giúp ích cho bạn trong việc kiểm tra sự tích hợp, vận hành sản phẩm ở những môi trường khác nhau .

- Không ngừng tìm hiểu, học hỏi các công cụ kiểm thử tự động (Selenium Webdriver , QTP , Jmeter ...) , các công nghệ mới hỗ trợ cho công việc .

Đương nhiên việc áp dụng các công cụ kiểm thử tự động sẽ giúp việc kiểm thử sẽ trở nên nhanh chóng, hiệu quả. Vậy tại sao bạn không thử học kiểm thử tự động nhỉ, với bản chất tò mò , thích khám phá, bạn chắc chắn sẽ control dự án của mình thật tốt, hạn chế tối đa lỗi 

3) Kiến thức đặc thù cho từng dự án : Việc bạn biết thêm một số kiến thức liên quan đến lĩnh vực dự án đang thực thi giúp ích rất nhiều trong việc kiểm thử phần mềm đó

Kiểm thử phần mềm

Bạn đang làm về game thể thao bóng chày, nhưng không biết luật chơi, không biết quy định thì khổ rồi ! 

Nếu bạn có kiến thức về kế toán, việc giải quyết công nợ, giấy tờ, số sách, hóa đơn , báo cáo tài chính, cân bằng quyết toán ...thì việc kiểm thử một phần mềm Kế toán sẽ dễ dàng hơn rất nhiều . 

Cho nên, dù ở lĩnh vực nào . Không ngần ngại tìm hiểu sâu hơn chút, kỹ hơn chút sẽ rất tốt . 

4) Kỹ năng mềm trong kiểm thử phần mềm :

Kiểm thử phần mềm

 Ngoại ngữ là yếu tố quan trọng nhất đó , kỷ năng giao tiếp là yếu tố quan trọng thứ hai .  

Kỷ năng giao tiếp tốt giúp bạn trình bày vấn đề mạch lạc , dễ hiểu, giúp Developer và QC tránh những mâu thuẫn phát sinh vì mục đích chung không phải là có bug hay không có bug, cần phải sửa lại một vài thứ hay cứ giữ nguyên mà là dự án hoạt động tốt, khách hàng happy.
 Hợp tác , nhúng nhường, quyết đoán và cư xử một cách thông minh là những tố chất nên có của một QC giỏi bởi lẻ  mỗi người có cách nhìn nhận vấn đề  và phán xét theo cái lý riêng của họ và cần tôn trọng cái lý riêng ấy của mỗi người . 
Ở mỗi góc nhìn khác nhau, vấn đề đó khó có thể đúng sai rạch ròi . Với những người cố chấp, càng cãi lại, họ càng đinh ninh rằng họ đúng.Chỉ cần dùng hành động chứng minh , nhận ra hay không nhận ra đó là do ở mỗi con người .
Nhìn nhận lại mình và rút kinh nghiệm nếu sự chê bai đó đúng và một lời xin lỗi rồi phân trần khéo léo nếu sự chê bai đó là " cố ý dìm hàng - phản bác sự thật " mình thấy sẽ tốt hơn.

5) Kỹ năng đặc biệt trong kiểm thử phần mềm  :  

Kiểm thử phần mềm

Có lẽ đây là kỹ năng quan trọng nhất, đặc biệt nhất và đặc trưng nhất của QC ,đó chính là : 

 - Bản thân yêu thích, khám phá , vọc , tìm tỏi 1 ứng dụng phần mềm 

-  Bất chấp tất cả để tìm ra lỗi, có thể áp dụng mọi " thủ đoạn" ( ghê quá - hehe) , mọi phương pháp, hoặc thậm chí hy sinh tình cảm và  hình tượng tốt đẹp , gương mẫu trong mắt đồng nghiệp để trở thành kẻ phá đám đáng ghét , bị " nguyền rủa" , bị " hăm dọa", bị đá đểu và xỉa xói ( hehe) 

-  Cảm thấy bực mình, vướng mắc vì một thứ rườm rà, khó hiểu, khó sử dụng và tự nhủ rằng , nếu là mình ấy, mình sẽ làm như thế này nè và mọi thứ có phải là tốt hơn không ( hơi chủ quan nhưng nếu lên ý kiến và chấp nhận sai còn hơn cứ lơ tơ mơ trong mớ hỗn loạn ) 

-  Cảm thấy thông cảm với khó khăn và vướng mắc của lập trình viên ( kẻ chuyên nguyền rủa mình ) nhưng cũng không quên rằng, sản phẩm này là cho người dùng. Và trách nhiệm chung là phải hợp tác 
 - Biết tranh cãi và nhận lỗi , biết thuyết phục và tìm bằng chứng để bảo vệ quan điểm của mình, với mục tiêu sản phẩm sẽ đạt một level cao hơn về tính thân thiện và làm người dùng yêu thích 

- Là 1 kiểm thử viên phần mềm, không chỉ tìm lỗi mà còn phải đảm bảo tính đúng đắn của phần mềm . Vì thế, đừng buồn khi tìm hoài mà không thấy bug hoặc sao bug ít quá, Cố gắng tìm thật nhiều bug linh tinh để tính thành tích và khoe mẽ là việc không nên làm.

 - Hãy lên tiếng. Một quy trình không tốt, cách làm việc chưa phù họp hoặc gặp trục trặc làm trở ngại công việc của bạn mà bạn không biết làm sao để tốt hơn. Hãy mạnh dạn bày tỏ quan điểm với " sếp". Dù bạn có bị đánh giá thấp hoặc không được thông cảm cũng không sao .Biết khả năng của mình tới đâu vẫn tốt hơn. 

Còn rất rất nhiều kỹ năng nữa trong bạn, trong tôi, trong tất cả mọi người đã , đang, và sẽ gắng bó với nghề Kiểm thử mà chưa khám phá hết. 
Hãy yêu công việc và cười với nhau mỗi ngày nhé ! 

----

Học kiểm thử phần mềm 

https://www.facebook.com/groups/1549328495322684/
https://www.facebook.com/KiemThuPhanMemVvn



Xem nhiều nhất

Zui Zui

Nếu bạn không đủ mạnh -Đừng cố đi ngược đám đông