Công việc cụ thể của tester là gì? (ở Việt nam)

Hỏi đáp các thông tin khác về software testing
Post Reply
tvn
Admin
Posts: 4900
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Công việc cụ thể của tester là gì? (ở Việt nam)

Post by tvn »

Chắc cũng có nhiều người thắc mắc không biết công việc của một tester là gì? Hôm nay mình xin mạn phép nói đôi điều về công việc của một tester ở Việt nam.

Chắc các bạn cũng nghe nói về QC trong các lĩnh vực sản xuất hay trên một số sản phẩm có dán một mẩu giấy nhỏ nhỏ tròn tròn ghi là "QC passed". Trong các lĩnh vực sản xuất, công việc QC là kiểm tra sản phẩm được sản xuất ra có đúng theo yêu cầu chưa. ví dụ, một cái áo trước khi xuất xưởng phải đạt các tiêu chuẩn: kích thước, màu áo, đường chỉ may, túi áo, cúc (nút) áo,...v.v. nếu không đạt một trong số các tiêu chuẩn này thì sản phẩm này sẽ bị loại ra. Các ngành sản xuất khác cũng làm vậy, nhưng mỗi ngành có mỗi cách kiểm tra, thiết bị hỗ trợ kiểm tra khác nhau.

Image

Trong lĩnh vực sản xuất phần mềm thì cũng cần có QC - là người kiểm tra chất lượng của sản phẩm phần mềm vừa được xây dựng có phù hợp với yêu cầu của khách hàng hay chưa. Cũng có nhiều người thường gọi QC là Tester nhưng nếu nói sát nghĩa thì Tester là người thực hiện test sản phẩm, còn nếu nói QC thì người này không những test phần mềm mà còn làm nhiều việc khác nữa như viết test case, viết test plan,...

Trong lĩnh vực sản xuất phần mềm, để sản xuất được một sản phẩm phần mềm phải trải qua nhiều công đoạn và tốn nhiều nhân lực, thường thì người ta gọi quá trình sản xuất 1 sản phẩm phần mềm này là "dự án ABC" với "ABC" là tên của sản phẩm.

Công việc của một QC trước tiên là phải được đào tạo về nghiệp vụ của dự án mà mình chuẩn bị tham gia, sau đó họ sẽ tìm hiểu tài liệu liên quan đến dự án, tài liệu hướng dẫn, các qui định riêng cho từng dự án, và tiếp theo khi dự án bắt đầu, công việc của người quản lý nhóm tester của dự án này (có thể là QC leader hoặc một QC bình thường) sẽ viết test plan (kế hoạch test sản phẩm này) sau đó lên kế hoạch (schedule) cho việc test dự án này, trong bảng kế hoạch này sẽ cho biết ai làm phần nào (module nào, màn hình nào, chức năng nào...) sau đó, các bạn QC trong nhóm tham gia dự án này sẽ tiến hành đọc spec của màn hình, chức năng đã được phân công trong schedule (spec= bản mô tả chi tiết về xử lý và layout của một chức năng hay màn hình - đang nói về phần thiết kế chi tiết, vì có khi spec cũng là bản mô tả xử lý của một chức năng gồm nhiều màn hình liên kết với nhau). Trong khi đọc hiểu spec các bạn QC sẽ viết test case (còn gọi là thiết kế test case - test case design). Trong quá trình đọc spec và viết test case, nếu gặp chỗ không hiểu, QC sẽ viết QA (Question & Answer) để liên hệ với bộ phận thiết kế chi tiết (nơi viết ra spec) để hỏi hoặc xác nhận lại vấn đề mà mình không hiểu.

Sau khi DEV lập trình xong màn hình/chức năng ACB và yêu cầu QC test, thì lúc này QC sẽ dựa vào test case mình đã viết để test màn hình/chức năng này. Trong khi test, nếu phát hiện lỗi thì QC sẽ post lỗi này vào chương trình quản lý lỗi (tùy mỗi công ty sẽ có chương trình quản lý lỗi khác nhau, có thể viết bằng excel hoặc tự viết chương trình riêng hay sử dụng các chương trình miễn phí, thương mại của công ty khác - ví dụ: Mantis, Bugzilla). Khi có lỗi thì DEV sẽ sửa lỗi, hoặc không sửa (nếu lỗi mà QC post lên không phải là lỗi của chương trình mà do QC làm sai thao tác - ví dụ như vậy). Trong quá trình test QC là người tạo data dùng để test chức năng/màn hình của mình, có khi do một người nào đó chuyên trách tạo data để test.

Sau khi DEV đã sửa lỗi xong, thì QC có nhiệm vụ là phải test lại - regression testing, nếu lỗi đã được khắc phục thì QC thực hiện thao tác "đóng" lỗi trên chương trình quản lý lỗi (chuyển trạng thái của lỗi sang trạng thái đã khắc phục xong). Nếu lỗi vẫn còn xảy ra thì chuyển trạng thái lỗi sang trạng thái "mở lại - reopen" (trạng thái vẫn còn lỗi sau khi đã sửa). Lặp lại quá trình này cho đến khi nào màn hình/chức năng đang test không còn phát hiện ra lỗi nữa. (không hẳn là "sạch lỗi" - chẳng qua mình chưa phát hiện được thôi :))

Sau khi test xong một màn hình/chức năng thì QC sẽ làm một bản báo cáo cho Quản lý dự án và mọi người trong dự án biết: trạng thái của màn hình ABC đã hết lỗi hay còn lỗi gì khó không khắc phục được và những thông tin chi tiết khác theo qui định của dự án hoặc công ty,...

Nếu công ty hay dự án có thực hiện test ở mức tích hợp hay mức hệ thống thì sau khi test xong ở mức đơn vị (test từng màn hình/chức năng) sẽ tiến hành thực hiện test ở mức hệ thống - system testing. (mức này cũng được viết test case - công việc này có thể do một QC nào khác đảm nhiệm)

Sau khi test xong và dự án hết lỗi thì tiến hành đóng gói giao cho khách hàng.

Trên đây là mô tả công việc bình thường, chung chung của một tester (QC), vì tùy vào mỗi công ty, tổ chức hay dự án khác nhau tester có một số công việc khác nhau nữa (ví dụ như tạo data để test, thiết kế chỉnh sửa hình ảnh để test, review code, thiết lập môi trường test,...).

Cám ơn các bạn đã quan tâm.



min_kute92
Hoc Tester
Posts: 3
Joined: Fri 10 Aug, 2012 4:26 pm
Contact:

Re: Công việc cụ thể của tester là gì? (ở Việt nam)

Post by min_kute92 »

Cảm ơn bài viết của bạn nhé,mình cũng đang theo học một khóa Test,mới học nên có lớ ngớ lắm,không biết sau này mình có thể trở thành một tester được hay không đây?



dhdanh92
Hoc Tester
Posts: 3
Joined: Sat 27 Oct, 2012 9:42 am
Contact:

Re: Công việc cụ thể của tester là gì? (ở Việt nam)

Post by dhdanh92 »

min_kute92 wrote:Cảm ơn bài viết của bạn nhé,mình cũng đang theo học một khóa Test,mới học nên có lớ ngớ lắm,không biết sau này mình có thể trở thành một tester được hay không đây?
Bạn học ở trung tâm nào? học phí ra sao? mính có đăng ký học ở TMA, có bạn nào có học và làm việc ở đây chưa, chia sẽ cho mình với, nghe nói học ở TMA là có thể trở thành thành viên công ty luôn, mình tự hỏi quy trình như thế nào vậy?

Mới vào nghề mong anh em chỉ giáo @@~~



tvn
Admin
Posts: 4900
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Re: Công việc cụ thể của tester là gì? (ở Việt nam)

Post by tvn »

Chào mọi người,

Có ai ở đây đã từng tham gia học ở TMA chưa? xin vui lòng share ít kinh nghiệm học ở đó nhé,

thanks nhiều



dhdanh92
Hoc Tester
Posts: 3
Joined: Sat 27 Oct, 2012 9:42 am
Contact:

Re: Công việc cụ thể của tester là gì? (ở Việt nam)

Post by dhdanh92 »

Cảm ơn anh "tvn" kêu gọi mọi người share kinh nghiệm! @@~~
Chắc câu hỏi chưa đến được các anh chị ấy nên mới im lặng như thế này.



shi
Fresher Tester
Posts: 15
Joined: Tue 29 Oct, 2013 9:36 pm
Contact:

Re: Công việc cụ thể của tester là gì? (ở Việt nam)

Post by shi »

tvn wrote:Chào mọi người,

Có ai ở đây đã từng tham gia học ở TMA chưa? xin vui lòng share ít kinh nghiệm học ở đó nhé,

thanks nhiều
Mình có cơ hội thực tập ở tma mấy năm trước. Ở TMA có 2 dạng thực tập: 1 là sinh viên thực tập sẽ được tuyển chọn qua phỏng vấn và bài test. 2 là tham gia khóa học bên đó với chi phí sẽ trả lại nếu sau tốt nghiệp được vào làm ở TMA.

Ở cả 2 dạng đều same same nhau. học kiến thức testing, có engineer hướng dẫn làm dự án giả. có học văn hóa/môi trường TMA, và học cả kĩ năng thuyết trình bằng tiếng anh trong chương trình toastmaster. Cuối khóa sẽ thuyết trình báo cáo project bằng tiếng anh.

Thân ^.^



shi
Fresher Tester
Posts: 15
Joined: Tue 29 Oct, 2013 9:36 pm
Contact:

Re: Công việc cụ thể của tester là gì? (ở Việt nam)

Post by shi »

tvn wrote: Nếu công ty hay dự án có thực hiện test ở mức tích hợp hay mức hệ thống thì sau khi test xong ở mức đơn vị (test từng màn hình/chức năng) sẽ tiến hành thực hiện test ở mức hệ thống - system testing. (mức này cũng được viết test case - công việc này có thể do một QC nào khác đảm nhiệm)
Mình đang confuse về các mức level testing. Như bạn nói tùy vào thuật ngữ của công ty mà "unit" test được thực hiện như là test màn hình/chức năng ở Blackbox. Nhưng theo mình đọc sách thì unit test thực hiện ở White box. Ai giải đáp cho mình với.



tvn
Admin
Posts: 4900
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Re: Công việc cụ thể của tester là gì? (ở Việt nam)

Post by tvn »

Theo tài liệu istqb glossary thì unit testing giống với component testing
ISTQB Glossary wrote:component testing: The testing of individual software components.
  • module testing: See component testing.
    program testing: See component testing.
    unit testing: See component testing.
Ở mức component, mình chỉ test màn hình đăng nhập, vì lúc này chỉ có màn hình đăng nhập được code xong. Mình chỉ quan tâm trên màn hình này, nhập giá trị gì thì được login thành công, nhập giá trị gì thì bị báo lỗi,... và bắt đầu hiển thị màn hình đăng nhập thì sẽ nhận những biến gì từ màn hình khác truyền sang, hoặc sau khi đăng nhập thành công thì sẽ truyền giá trị (hay parameter) nào đến màn hình tiếp theo. Mình không quan tâm là màn hình trước đó hoặc sau đó sẽ xử lý như thế nào với các parameters này. Chỉ quan tâm đến chức năng nội tại trong component này.

Nếu vẫn còn phân vân giữa các mức test, thì bạn nên tham khảo bài viết này test levels



shi
Fresher Tester
Posts: 15
Joined: Tue 29 Oct, 2013 9:36 pm
Contact:

Re: Công việc cụ thể của tester là gì? (ở Việt nam)

Post by shi »

Và những gì bạn quan tâm trên màn hình đó được developer làm dưới hình thức kiểm tra từng dòng line of code xem có thỏa mãn if else, for while..(đúng chứ ?)

Lấy ví dụ màn hình đăng kí tài khoản, nếu thông tin sai sẽ báo lỗi yêu cầu nhập đúng. Mình hiểu đây là 1 unit testing được thực hiện ở cả Whitebox và Blackbox. Whitebox thì quan tâm nội tại trong component(check if else, for while). Còn Blackbox vì mình đang test component đăng kí, quan tâm ứng xử của màn hình khi user đăng kí (đúng chứ ?)

Mình đang rối về mức unit test được thực hiện ở WB hay cả WB và BB
Hiện tại mình chỉ biết được là unit test thực hiện trong Whitebox mà thôi.



tvn
Admin
Posts: 4900
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Re: Công việc cụ thể của tester là gì? (ở Việt nam)

Post by tvn »

Thực tế nó đâu có phức tạp như bạn nghĩ đâu.

Black box hay White box là từ dùng để cho người khác biết là mình đang test trong code hay test trên GUI. Theo mình nghĩ, 98% Tester là test trên GUI, còn việc test trong code (làm unit test bằng Junit hay Nunit,...) là do DEV thực hiện (cũng khoảng 98% vì ít có Tester làm cái này, nếu có làm cũng không hiệu quả vì nhiều lý do)

WB hay BB và các level không phụ thuộc nhau. Level này có thể thực hiện ở WB hoặc BB, tương tự level khác cũng có thể thực hiện trong WB hay BB.



Post Reply

Return to “Others - Các vấn đề khác”