0
Chưa có sách nào trong giỏ hàng

Người phát triển và người kiểm thử phần mềm

15.02.2021

Một người kiểm thử viết cho tôi: “Lập trình phần mềm có khó hơn kiểm thử không? Sao người phát triển được lương tốt hơn người kiểm thử?”

Đáp: Theo ý kiến tôi, kiểm thử phần mềm là khó hơn lập trình phần mềm vì người kiểm thử phải hiểu điều người phát triển đã làm trong mã của họ trước khi họ có thể kiểm thử nó. Việc kiểm thử thường tốn thời gian lâu hơn cho kiểm thử nhưng người kiểm thử phải làm việc trong thời gian giới hạn, đôi khi dưới sức ép cực lớn, vì người quản lí không muốn để trễ trong lịch biểu dự án. Do đó việc kiểm thử bị nhiều căng thẳng hơn việc lập trình.

Mục đích của kiểm thử phần mềm là nhận diện các lỗi. Nếu lỗi được phát hiện, chúng phải được sửa chữa. Nếu không, thì phần mềm không có chất lượng cao. Lỗi phần mềm được phát hiện sớm ít tốn kém cho việc sửa hơn là xuất hiện ở các pha sau của phát triển phần mềm. Sau khi phần mềm đã được đưa ra cho người dùng, bất kì lỗi nào cũng có thể tạo ra tốn kém hơn để sửa. Do đó vai trò của người kiểm thử là rất quan trọng cho công ti phần mềm.

Ngày nay phần mềm đang ngày càng lớn hơn và phức tạp hơn, đó là lí do tại sao kiểm thử phần mềm là việc tốn thời gian và thất vọng. Dự án càng phức tạp, càng có nhiều thứ phải kiểm thử. Dự án phức tạp điển hình bao gồm nhiều thành viên tổ phát triển nơi công việc của họ là liên thuộc nhau, đôi khi sửa lỗi trong khu vực này có thể tạo ra lỗi trong khu vực khác. Bởi vì công việc rắc rối này, người kiểm thử phải có kĩ năng cao hơn, hội tụ nhiều vào chi tiết hơn, và kiểm thử cẩn thận từng cấu phần để chắc rằng chúng tất cả có thể làm việc cùng nhau tốt.  Kiểm thử phần mềm là qui trình rất tập trung. Nếu người phát triển không làm tài liệu đúng cho công việc của họ, sẽ rất khó kiểm thử và vấn đề có thể nhanh chóng tích lại thành vấn đề lớn hơn.

Có hai kiểu người kiểm thử: Người kiểm thử tập sự, thường là người mới tốt nghiệp với kinh nghiệm hạn chế. Công ti đưa họ vào việc kiểm thử để cho họ có thể học về phát triển phần mềm. Khi họ có đủ kinh nghiệm, họ thường được cất nhắc vào việc lập trình và trở thành người phát triển. Khi ở vị trí mức tập sự, họ được lương ít hơn người phát triển. Kiểu thứ hai là người kiểm thử chuyên nghiệp. Họ là những người có nhiều kinh nghiệm nhưng muốn vẫn còn là người kiểm thử. Họ có kĩ năng cao hơn, biết nhiều về phát triển phần mềm hơn người phát triển, và lương của họ thường cao hơn nhiều.

—-English version—-

 

Software developer and tester

A tester wrote to me: “Does software programming more difficult than testing? Why developers get better salary than tester?”

 

Answer: In my opinion, software testing is more difficult than software programming because testers have to understand what developers did in their code before they can test it. Testing often takes longer to test but testers have to work within a limited time, sometime under extreme pressure, as managers do not want delays in the project schedule. Therefore testing job is more stressful than programming job.

The purpose of software testing is to identify defects. If defects are found, they have to be corrected. If not, then the software is not of high quality. Software failures discovered early cost less to correct than those that occur in latter phases of software development. After the software has been released to users, any defects could create disaster and more costly to fix. Therefore the role of tester is very important to software company.

Today software is getting larger and more complex, that is why software testing is a time-consuming and frustrating work. The more complex the project is, the more there is to test. Complex projects typically involve multiple development team members where their works are interdependent, sometime fixing defects in one area may create another defects in another area. Because of this intricate works, testers must have higher skills, focusing more on details, and carefully test each component to make sure that they can all work together well.  Software testing is a very intensive process. If developers do not properly documenting their works, it will be very difficult to test and the problem can quickly add up to a larger problem.

There are two types of tester: An entry level tester, usually a new graduate with limited experience. The company puts them into testing job so they can learn about software development. When they have enough experience, they often get promoted into programming job and become developers. As an entry level position, they get paid less than developer. The second type is professional tester. They are people who have a lot of experiences but want to remain as testers. They have higher skills, know more about software development than developers, and their salary is usually much higher.