Bug trong tiếng Việt nghĩa là con bọ. Tuy nhiên trong ngành Công nghệ thông tin, bugs là một điều khiến cho lập trình viên đều phải khiếp sợ. Vậy bug là gì? Cách tìm bug trong lập trình như thế nào? để giúp giải thoát khỏi những “niềm đau” mà chúng gây ra.
Mục lục
Bug là gì?
Để hiểu hơn về bug, chúng ta cùng tìm hiểu về công việc của một lập trình viên trước nhé. Lập trình viên là người viết ra các chương trình, ứng dụng hay website bằng các ngôn ngữ lập trình.
Trong quá trình viết ra các ứng dụng đó, sẽ có những yêu cầu cũng như tiêu chuẩn để đánh giá xem đó có phải là một ứng dụng đúng không. Những lỗi khiến cho chương trình được viết ra chạy sai với yêu cầu đó chính là bug. Cái tên “bug” được xuất phát từ lỗi máy tính từ thuở sơ khai. Khi một nhóm lập trình viên liên tục nhận được lỗi sai trong chương trình của mình. Sau đó, họ kiểm tra thì những lỗi đó được phát sinh từ một con bọ. Từ đó, các lỗi phát sinh sau này đều được gọi là bug.
Một số bug thường gặp
Khi gặp bug thì việc đầu tiên của lập trình viên chính là xử lý các bug đó. Đối với những người có kinh nghiệm thì việc xử lý bug sẽ dễ dàng và mất ít thời gian hơn. Tuy nhiên đối với những người mới thì hẳn bạn sẽ thấy coi bộ “khó gặm” lắm đây.
Để mình nói cho bạn nghe. Ngay khi có bug phát sinh. Việc trước hết bạn cần làm không phải là cuống cuồng lên để thử tất cả các thể loại để fix bug đâu. Đầu tiên là xác định nó thuộc lỗi gì. Việc biết được bug đó từ đâu sẽ giúp bạn tiết kiệm thời gian và công sức hơn. Bạn không việc gì phải loay hoay thử 7749 cách cả. Đúng là thử hết thì sẽ fix được thôi nhưng đi làm rồi thời gian là vàng bạc. Phải tìm được cách làm nào tối ưu nhất để giúp tiết kiệm thời gian và công sức cho bạn và cả doanh nghiệp.
- Lỗi cú pháp: Loại lỗi này thường phát sinh do việc lập trình viên gõ thiếu hoặc sai đi cấu trúc của câu lệnh dẫn đến chương trình chạy không được.
- Lỗi thực thi: Hay còn gọi là runtime error, lỗi này thường xảy ra trong quá trình chạy và người viết code không lường trước được các trường hợp khiến thiết bị bị treo. Lỗi này thường được phát hiện bằng các debug.
- Lỗi logic: Lỗi này được hình thành do thuật toán của lập trình viên sai. Đây là lỗi khó phát hiện và mất nhiều thời gian sửa chữa.
Cách tìm bug trong lập trình
Trong lập trình, ngoài đội lập trình viên thì có rất nhiều bộ phận khác trong đó không thể không kể đến tester (kiểm thử phần mềm). Tester đóng vai trò kiểm tra lại sản phẩm của lập trình viên trước khi bàn giao cho khách hàng nhằm đảm bảo rằng sản phẩm tới tay khách hàng là hoàn chỉnh nhất theo yêu cầu của khách hàng.
Tester sẽ sử dụng các biện pháp nghiệp vụ của mình, viết ra kịch bản kiểm thử và tiến hành test theo kịch bản kiểm thử mình viết ra để đảm bảo rằng chương trình mà lập trình viên viết ra được chạy đúng trong mọi trường hợp.
Có 2 loại tester hiện nay có thể kể đến là manual Tester và Automation Tester. Đa số tester hiện nay là manual Tester hay còn gọi là nhân viên kiểm thử phần mềm thủ công.
Chi tiết công việc của một tester có thể được miêu tả như sau:
- Nghiên cứu yêu cầu: Trước hết, tester cần nghiên cứu yêu cầu của khách hàng và chắc chắn rằng mình hiểu hết những gì khách hàng yêu cầu để sản phẩm đầu ra có thể giống với những yêu cầu đó nhất.
- Lên kịch bản kiểm thử: Sau khi nắm rõ các yêu cầu, tester tiến hành viết kịch bản kiểm thử, chạy các test case theo kịch bản.
- Log bug cho dev khi có bug: khi phát hiện những lỗi phần mềm thì tester sẽ tiến hành báo cho lập trình viên biết để có thể kịp thời xử lý.
Đọc thêm: Tester là gì? Học gì để trở thành Tester
Tạm Kết: Thuật ngữ Bug là gì? Cách tìm bug
Như vậy, chúng ta đã hiểu hơn về bug cũng như cách mà các tester tìm ra bug. Sau khi nhận được bug, việc của lập trình viên chính là xem thử bug đó có đúng là lỗi hay không và tiến hành xử lý theo yêu cầu của tester. Nhìn qua thì quá trình này có vẻ đơn giản song nó tốn rất nhiều thời gian của lập trình viên. Đó cũng là lý do lập trình viên thường sợ gawph bug trong chương trình của mình.
ad ơi có thể chia sẻ các câu hỏi chuyên môn khi đi phỏng vấn với ạ
Cảm ơn Nam, đồng ý em nhé. Trong thời gian tới anh sẽ sớm lên bài chia sẻ bộ câu hỏi phỏng vấn và đáp án để em tham khảo nhé