PDA

View Full Version : Tester và Developer?



Anthony_Nguyen
18-03-2005, 17:44
Các bác có biết "trung bình" thì lương của Tester so với một lập trình viên thì bên nào cao hơn, khoảng độ bao nhiêu?
Để trởn thành tester thì cần có khả năng gì? Hiểu biết gì và thực sự là học ở đâu những cái đó?

Theo thiển ý của mình thì tại các công ty lớn không lấy các LTV (trong thời gian nghỉ ngơi) để làm Tester nhỉ.? Vừa tận dụng lao động vừa tốt hơn (các LTV sẽ hiểu sản phẩm của chính mình hơn).

Tester có phải là những người "kém" lập trình một chút không?

Anthony_Nguyen
18-03-2005, 18:26
Tức là lập trình tốt đồng nghĩa với tester tốt ? Lập trình nhiều thì sẽ Test tốt sao ạ? Có vẻ chưa hẳng đúng ?

Thực sự mình nghĩ rằng Tester nhàn hơn so với Programmer đấy :boxing: ? Vậy lương một Tester ở việt nam trung bình là bao nhiêu, chắ là thấp hơn so với LTV trình độ tương ứng?

tinman
19-03-2005, 05:10
Ở US thì test engineer lương thấp hơn developer.
Ví dụ với 5 năm kinh nghiệm thì lương trung bình như sau (ở vùng San Jose) :
+ Software Engineer: 86K
+ Programmer : 82K
+ Test Engineer : 78K

8 năm kinh nghiệm:
+SW Engineer: 100K
+Programmer: 96K
+Test Engineer: 93K

(source www.salary.com)

Lý do là công việc cũa test engineer thì nhàn hơn so với developer.

huylyanh
20-03-2005, 10:35
Ai nói là ở Việt Nam lương tester cao hơn lương developer? Tôi chưa thấy cty nào trả lương cho tester cao hơn programmer cả. Hầu như ai đã tốt nghiệp ngành IT ra trường đều không muốn làm tester. Các công ty thường tuyển các SV mới tốt nghiệp để làm test bởi vì những người này chưa có nhiều kinh nghiệm để làm coding, và các sinh viên mới tốt nghiệp do khó kiếm việc làm nên chấp nhận tạm thời công việc testing. Cái khó cho người đã lỡ làm viêc test (QA/QC) là khó trở thành 1 programmer do không có kinh nghiệm trong lãnh vực lập trình và các cty khi xem CV thấy người này có kinh nghiệm testing không thì không ai tuyển vào để làm developer cả. Tầt nhiên công việc của người developer thì nặng nhọc hơn tester nhiều, và khi viết xong phần mềm họ còn phải hướng dẫn cho tester để những người này biết mà test chương trình, dĩ nhiên trước đó các tester phải tìm hiểu user requirement spec để viết test cases nhưng khi viet xong 1 module hay chương trình, đa số các developer phải hướng dẫn cho các tester how to test the program.

Hiện giờ tuyển QA/QC hơi khó vì rất ít ứng cử viên nộp vào vị trí này do không ai muốn đi theo lãnh vực này cả. Các cty hay tuyển những người tốt nghiệp những ngành khác như vật lý, điện,... vào làm tester và có một số sinh viên tuy cũng tốt nghiệp ngành IT nhưng từ các trường không nổi tiếng nên cũng chấp nhận làm testing do không kiếm được việc làm.

newman
20-03-2005, 14:22
Đúng là sinh viên mới ra trường không ai thích làm công việc Test cả. Làm test thấy công việc nó đơn điệu và có vẻ như phải lệ thuộc vào programmer sao đó! KHông có được niềm vui như khi viết code! Lâu ngày lại sợ bị lục nghề nữa chớ! :bawling:

tinman
21-03-2005, 08:40
Cảm ơn anh tinman đã cun cấp số liệu reliable, testable


Cho tui hỏi thêm một số câu


1. Các công ty dùng tool nào cho việc test ? Ngoài IBM Rational TestStudio còn tool nào gọn hơn không ?

2. Ngoài verification testing và validation testing còn area nào khác không ?

3. Với một e-commerce project, quy mô Software team khoảng 300 thì cần tương ứng Testing team khoảng bao nhiêu test manager, analyst, tester ?

1) Tui không phải là tester cho nên cũng không rành mấy về những tool nào họ dùng. Thông thường khi test thì người ta chia làm nhiều loại test khác nhau, mổi loại test dùng những loại tool khác nhau ngoài ra còn tùy thuộc vào các sản phẩm được test. Với những công ty nhỏ người ta thường viết scripting để test. Có nghĩa là tạo ra các dữ liệu khác nhau, rồi phỏng đoán kết quả, sau đó chạy test coi nó có trùng hợp với các kết quả dự đoán hay tính không. Với những product dạng website, webportal, thì người ta dùng những software dạng như spider để tạo ra các link, tạo ra các tham số khác nhau để kiểm tra các trang của website đó, ngoài ra coi xem trang đó có những lổ hổng thông tin nào không. Còn các sản phẩm mang tính GUI thì dùng các software như WinRunner để test... Với những hệ thống lớn như database, networking... thì người dùng các scripting để test reliability, performance, stretch test... Với VN mình thì nghĩ testing rất đơn giản vì chúng ta không có develop các sản phẩm nhiều nhưng ở các nước phát triển phần mềm chuyên nghiệp thì testing cũng rất là phức tạp không kém.

2) Quy trình test thường thông qua nhiều giai đoạn với sự phối hợp của các thành viên khác nhau:
- Unit test: của người lập trình tự viết ra để tự kiểm tra module của mình
- Module test, Intergation testing: thường do các system engineer hay integration engineer làm. Họ kết nối các module và test từng module xem chúng có phối hợp với nhau không. Sau đó là whitebox testing, blackbox testing... thường do test engineer, hay QA thực hiện. Cuối cùng thường là giai doạn QA test để bảo đảm sản phẩm được hoàn thiện. Ngoài 2 lãnh vực verification và validation ra, người ta còn test cả tính sáng tạo, mỹ thuật, và khiêu gợi ý thích của người sử dụng, các software như game, và gần đây ngay cả những software window thông thường cũng vậy. Viêt software không những đúng, phải chạy nhanh, phải dể dùng và còn phải đẹp nữa. Những bước này thường do những pioneer hay lead customer test và cho ý kiến. Vì vậy chúng ta thường thấy các game company luôn có 1 đội ngũ chơi game tí hon họ mướn về để chơi game mới và còn phải trả tiền cho họ

3) Câu này thì còn tùy thuộc vào công ty đó tổ chức như thế nào và dùng mô hình nào để phát triển software. Thông thường thì tỉ số developer và tester cho những công ty lớn khoảng 3:1 hay 4:1. Chúng ta cũng biết là thời gian test giành cho 1 sản phẩm software chiếm từ 30 -> 40% của toàn bộ thời gian thực hiện sản phẩm. Do việc test thường là tự động hóa cho nên tỉ số 3:1 hay 4:1 là hợp lý nhất.

Các đây vài năm khi tui đi tham quan IBM Lab nơi họ viết software DB2. Thì họ chia ra nhiều team rất nhỏ. Ví dụ nhưng team chuyên về log-in, team chuyên về transaction, team chuyên về back-up recovery. Mổi team như vậy có khoảng 3 - 4 người do 1 manager, supervisor hay team leader quản lý cùng 1 lúc nhiều team. trong 1 team như vậy thì có 1 tester của team đó. Những tester này thời gian test chỉ chiếm khoảng 50% công việc, còn 50% còn lại là viết test case và test report. Ở 1 số công ty khác họ tổ chức theo mô hình khác thì developer ở 1 nhóm, còn tester ở 1 nhóm. Mổi nhóm do 1 manager quản lý riêng.

Theo mô hình này, người ta breakdown toàn bộ team ra những team nhỏ hơn. Theo mô hình kim tự tháp mà quản lý. Tùy theo yêu cầu của công ty về chất lương sản phẩm mà tĩ số giửa developer và tester có thể từ 3:1 --> 5:1. Còn công ty của tôi thì là 6:1 hay là 7:1 cho nên chất lượng còn rất là kém!

Die-hard
21-03-2005, 13:21
Testing... testing... tỷ lệ Tester/Developer bao nhiêu? Thời gian bao lâu? Thế nào là đủ để đưa ra thị trường? và hàng trăm câu hỏi tương tự như vậy?

Câu trả lời chỉ có một: DEPEND! Ở đây sẽ không có câu trả lời duy nhất đúng cho mọi sản phẩm thương mại (không chỉ giới hạn ở sản phẩm phần mềm). Cái cốt lõi của cả vấn đề là phải nên "đì-beng" lên cái gì? Theo kinh nghiệm của tớ thì số lượng tài nguyên đầu tư hợp lý cho việc testing một sản phẩm phần mềm nên dựa trên những tiêu điểm sau đây:

(1) Time to Market
Điều này quá hiển nhiên. Cho một sản phẩm lớn, phức tạp, với hàng triệu dòng code được phát triển bởi số lượng developers lên đến 2 con số thì số lượng testers khổng thể 1-2 người được.
(2) Thời gian test, công cụ hộ trợ test, trình độ của đội ngũ tester...
(3) Thời gian dự án, công cụ lập trình, trình độ của đội ngũ developer...
(4) Tính chất phức tạp và độ an toàn yêu cầu của sản phẩm

Nói tóm lại, để giản lược vấn đề, cứ an tâm theo công thức Best-Case Scenario của tớ để ước lượng:

No. testers = 1 +
(0.5 * No. Star Developers + 2 * No. Experienced + 4 * No. Newbies) / Pi

Chú thích:
+1 Plus - Bởi vì nguyên tắc vàng của ngành kỹ sư phần mềm là tránh việc vừa đá bóng vừa thổi còi, vừa lập trình vừa kiểm tra chất lượng sản phẩm.

+ Star Developers - Như tớ đây chẳng hạn;), đạt trình độ hỏa hầu under 4 defects per milion line of codes (bao gồm luôn dấu begin { và end} ).

+ The experienced: Vài năm kinh nghiệm lận lưng, có kinh nghiệm qua vài dự án lớn.

+ The Newbies - Coi chừng mấy chú mới ra trường. Phải code review mấy chú này 3 lần trong một ngày mới được đa :detective.

P.S. Theo tớ biết thì trong kỹ nghệ phần mềm, Microsoft có "số đẹp" nhất: 1 kèm 1, mỗi developer có 1 lính tester đi theo.

long nhan
12-11-2012, 23:17
Các bác có biết "trung bình" thì lương của Tester so với một lập trình viên thì bên nào cao hơn, khoảng độ bao nhiêu?
Để trởn thành tester thì cần có khả năng gì? Hiểu biết gì và thực sự là học ở đâu những cái đó?

Theo thiển ý của mình thì tại các công ty lớn không lấy các LTV (trong thời gian nghỉ ngơi) để làm Tester nhỉ.? Vừa tận dụng lao động vừa tốt hơn (các LTV sẽ hiểu sản phẩm của chính mình hơn).

Tester có phải là những người "kém" lập trình một chút không?

lntan
13-11-2012, 09:12
Các bác phân biệt rạch ròi giữ tester và developer quá nhỉ? Agile Team thì 1 người làm lun cả tester và developer ah :D

baby60s
13-11-2012, 16:58
Tester có phải là những người "kém" lập trình một chút không?

Không hẳn, nhưng đa số tester là nữ học lập trình rồi ra làm test.

baby60s
13-11-2012, 17:00
Ai nói là ở Việt Nam lương tester cao hơn lương developer? Tôi chưa thấy cty nào trả lương cho tester cao hơn programmer cả. Hầu như ai đã tốt nghiệp ngành IT ra trường đều không muốn làm tester. Các công ty thường tuyển các SV mới tốt nghiệp để làm test bởi vì những người này chưa có nhiều kinh nghiệm để làm coding, và các sinh viên mới tốt nghiệp do khó kiếm việc làm nên chấp nhận tạm thời công việc testing. Cái khó cho người đã lỡ làm viêc test (QA/QC) là khó trở thành 1 programmer do không có kinh nghiệm trong lãnh vực lập trình và các cty khi xem CV thấy người này có kinh nghiệm testing không thì không ai tuyển vào để làm developer cả. Tầt nhiên công việc của người developer thì nặng nhọc hơn tester nhiều, và khi viết xong phần mềm họ còn phải hướng dẫn cho tester để những người này biết mà test chương trình, dĩ nhiên trước đó các tester phải tìm hiểu user requirement spec để viết test cases nhưng khi viet xong 1 module hay chương trình, đa số các developer phải hướng dẫn cho các tester how to test the program.

Hiện giờ tuyển QA/QC hơi khó vì rất ít ứng cử viên nộp vào vị trí này do không ai muốn đi theo lãnh vực này cả. Các cty hay tuyển những người tốt nghiệp những ngành khác như vật lý, điện,... vào làm tester và có một số sinh viên tuy cũng tốt nghiệp ngành IT nhưng từ các trường không nổi tiếng nên cũng chấp nhận làm testing do không kiếm được việc làm.

Đúng trong cùng 1 cty thì lương tester thấp hơn dev nhưng giữa 2 cty thì tùy, bạn mình làm tester lương 700$, mà là cty của Mỹ nhé, vn thì dc nửa số đó thôi là mừng roài,

shopby.vn
13-11-2012, 17:45
Cty mình rất nhiều developer với lị tester cơ mờ lại ko nghe ngóng đc vụ lương lậu tnao

taytinhoc
13-11-2012, 20:44
Các bác có biết "trung bình" thì lương của Tester so với một lập trình viên thì bên nào cao hơn, khoảng độ bao nhiêu?
Để trởn thành tester thì cần có khả năng gì? Hiểu biết gì và thực sự là học ở đâu những cái đó?

Theo thiển ý của mình thì tại các công ty lớn không lấy các LTV (trong thời gian nghỉ ngơi) để làm Tester nhỉ.? Vừa tận dụng lao động vừa tốt hơn (các LTV sẽ hiểu sản phẩm của chính mình hơn).

Tester có phải là những người "kém" lập trình một chút không?

Chuyên gia đào mộ, 7 năm rồi vẫn cố khai quật lên cho đc hở bác