Một sinh viên viết cho tôi: “Có mức tri thức cơ bản mà mọi người kiểm thử đều cần không? Liệu có thể làm việc như người kiểm thử mà không có bằng đại học được không?”

Đáp: Có hai kiểu tri thức: tri thức giáo dục là điều trường dạy cho bạn và tri thức theo kinh nghiệm là điều bạn quan tâm tới cái gì đó và sẵn lòng học thêm bằng việc thực tế làm nó. Nhiều công ti thuê người để làm việc như người kiểm thử mà không có bằng đại học, chừng nào họ vẫn có kĩ năng này (từ các trường hướng nghiệp hay kinh nghiệm do tự học). Ưu điểm là đào tạo thời gian ngắn vẫn có thể cho bạn việc làm nhưng nhược điểm là bạn không thể đi được rất xa trong nghề nghiệp mà không có bằng đại học.

Để bắt đầu như người kiểm thử bạn cần có tri thức cơ sở về vòng đời phát triển phần mềm. Bạn phải có khả năng tạo ra các trường hợp kiểm thử cho từng pha của vòng đời. Bạn phải hiểu một số kĩ thuật thiết kế và phân tích. Người thiết kế làm gì để cung cấp cho người kiểm thử những tài liệu mà họ đặt cơ sở cho kiểm thử của họ? Bạn cần tri thức cơ bản về kết cấu nền phần cứng, phần mềm hệ thống, phần mềm vi mã mà công ti dùng. Bạn có thể cần hiểu một số khía cạnh đạo đức, pháp lí và xã hội của phát triển hệ thống CNTT.

Người kiểm thử giỏi cũng nên biết cách viết kế hoạch kiểm thử để đảm bảo rằng sản phẩm phần mềm sẽ được kiểm thử kĩ lưỡng. Bản kế hoạch kiểm thử bao gồm phạm vi của kiểm thử sẽ được thực hiện cho dự án; cấu hình nền kiểm thử sẽ được dùng trong kiểm thử (môi trường kiểm thử); ngày bắt đầu và hoàn thành kiểm thử; và các trường hợp kiểm thử sẽ được dùng. Kiểm thử phổ biến nhất là kiểm thử chức năng để trắc nghiệm rằng sản phẩm phần mềm thực hiện và vận hành đúng theo đặc tả yêu cầu. Sau khi kiểm thử được hoàn tất, người kiểm thử thường tiến hành kiểm thử rà lại để đảm bảo rằng các lỗi đã được báo cáo là đã được sửa và những lỗi này không gây ra xuất hiện các lỗi mới.

—-English version—-

Testing software

A student wrote to me: “Is there a basic level of knowledge that all testers need? Is it possible to work as tester without a college degree?”

Answer: There are two different types of knowledge: educational knowledge is what school teach you and knowledge by experience is what you interest in something and willing to learn more by actually doing it. Many companies hire people to work as testers without a college degree, as long as they have the skills (From vocational school, or experience from self-taught). The advantage is short term training can get you a job but the disadvantage is you cannot go very far in your career without a college degree.

To start as tester you need to have the basic knowledge of the software development life cycle. You have to be able to create test cases for each phase of the life cycle. You should understand some design and analysis techniques. What does a designer do in order to provide testers with the document that they base their testing on? You need basic knowledge about the infrastructure of hardware, system software, firmware that company used. You may need to understand some ethical, legal and social aspects of IT system development.

A good tester should also know how to write test plans to ensure that the software product will be tested thoroughly. The test plan typically includes the scope of the testing that will be performed for the project; The test platform configurations that will be used during testing (test environment); The start and completion dates for testing; and the test cases that will be used. The most popular test is functional test to verify that the software product performs and functions correctly according to requirements specifications. After the testing is completed, testers usually conduct regression testing to ensure that the reported errors are fixed and these fixes do not cause new errors to occur.