Bug là gì trong tiếng Anh

1. Bug là gì

Hiểu một cách đơn giản thì bug sẽ là một lỗi trong một chương trình nào đó trên máy tính, trên phần mềm. Xuyên suốt trong cả một quá trình viết source code, cho dù bạn là một lập trình viên progmmer hay là nhà phát triển phần mềm developer thì cũng khó tránh khỏi việc mắc sai lầm. Và dường như những sai lầm như thế này thường sẽ được thể hiện ở dưới dạng dưới dạng của bug trong code. Viết code là một phần khá là dễ dàng, nhưng bước khó khăn tiếp theo là debug, tức là tìm error hoặc bug trong chương trình. Tất cả các quá trình được diễn ra như thế này sẽ khiến cho các dev điện đầu vì chúng sẽ phải tạo thêm ra một n bug khác để mà thay thế và sửa cho bug hiện tại. Có đến 5 loại bug và được coi là khá điển hình mà bất cứ 1 dev nào cũng chắc chắn sẽ phải gặp qua nó.

1.1. Bug tí hon

Cũng có thể coi, bug này là một loại bọ, vì sao lại gọi là một loại bọ, vì hầu hết chúng có kích thước vô cùng nhỏ, nhỏ hơn so với đồng loại của chúng. Nhưng mà để có thể đối phó và tiêu diệt được loại bug như thế này không phải là điều dễ dàng gì. Như vậy khi tiêu diệt bug tí hơn này, bạn chắc chắn nhận được các loại compile error, không dừng lại ở đó, tiếp sau đó bạn sẽ phải tốn rất rất nhiều thời gian, thậm chí là nguyên một ngày chỉ để tìm ra cho bằng được đoạn code có vấn đề. Tất cả các lỗi như vậy hầu hết sẽ đến từ việc bạn quên dấu chấm phẩy, hoặc có thể là dấu 2 ngoặc,... Ở trong một vài ngôn ngữ kiểu lập trình như là Python, Java, PHP, Nodejs hay Node red, thì chắc hẳn bạn có thể sẽ gặp các vấn đề mà bạn không ngờ tới như khi bạn thụt lề sai... Có một may mắn đó chính là, hầu hết các lỗi nhỏ mắc phải sẽ được phát hiện ra khi mà có sử dụng đến các IDE phù hợp. Đây được liệt kê vào danh sách là một trong những loại bug gây ra khó chịu nhất trong các loại khác cùng giống loài với chúng. Vì như dân công nghệ thông tin chuyên nghiệp có thể biết được rằng bug tí hơn chúng có thể dễ dàng sửa chữa nhưng có lẽ phải dành ra cả thanh xuân chỉ để xác định được vị trí của chúng.

Bug là gì trong tiếng Anh

Bug là gì

1.2. Bug không tồn tại

Theo như đúng cái tên gọi của chúng thì loại bug như thế này thật sự hay thậm chí chúng còn không tồn tại. Nhưng vấn đề mắc phải ở đây đó là compile error chúng cứ nhảy lung tung, nhảy ra liên tục, mặc kệ và cho dù bạn đã review code thế nào đi nữa. Những việc tương tự như vậy hoàn toàn có thể xảy ra khi mà lập trình biên dịch bị lỗi hoặc do bạn dùng sai. Bực mình mình ở chỗ, bạn sẽ bị báo lỗi, trong khi đó bạn hoàn toàn không có bất cứ một lỗi nào xảy ra. Lúc này, các trình biên dịch cũ ở đây sẽ rất có thể không hỗ trợ các tính năng mới mang tính hiện thành. Bạn cũng nên cho mình cập nhật một trình biên biên dich càng thường xuyên thì lại càng tốt. Có một lời khuyên dành cho bạn ở đây đó là: Về phần trình biên dịch, bạn phải chọn nó sao cho thật phù hợp và cẩn thận hơn cả chọn vợ, chọn chồng để cưới. Nhưng thỉnh thoảng, đến một lúc nào đó thì code của bạn sẽ có thể chạy cực kỳ chơn tru nhưng rồi lại bị báo lỗi sau khi đã cập nhật trình biên dịch. Điều như thế này thì nó có nghĩa là trình viên dịch đó chỉ đơn giản là đang hiển thị lên cho bạn thấy các lỗi đang tồn tại mà trước đó không thể nào phát hiện được ra.

1.3. Bug khủng

Về phần bug khủng thì khi mà bạn gặp các bung như thế này khi các dòng chữ code bạn đánh mắc các lỗi về cú pháp hoặc là gõ sai các lỗi chính tả. Và tất nhiên, những bug như vậy thường nó sẽ được bắt nguồn từ các lỗi đến từ thuật toán, logic hoặc sẽ là lỗi tài nguyên... Trong cái lỗi tài nguyên ấy sẽ bao gồm cả việc mà bạn sử dụng sai cách các laoij dữ liệu của nó, cùng với đó là sai luôn cả phạm vi truy cập. Một cú pháp riêng biệt sẽ được dành riêng cho các ngôn ngữ lập trình khác nhau, không ngôn ngữ lập trình nào sẽ được giống cái nào, và hơn hết là phải cần theo dõi nó thật tỉ mỉ. Chỉ cần có dấu hiệu sai lệch nhẹ đi  một chút thôi sẽ chắc chắn làm hỏng đi mọi thứ còn lại. Nhưng có một điều may mắn ở đây đó chính là một trình biên dịch mà tốt thì có thể có khả năng phát hiện được ra lỗi như vậy và cho phép bạn được sửa chữa lại chúng.

1.4. Bug ẩn thân

Ở trong bug ẩn thân này thì đối với việc mắc những lỗi tương tự như vậy sé không bao giờ được hiển thị lên trong quá trình đang biên dịch. Nó chỉ làm được sau khi mà phần mềm đã được cài đặt hoàn tất và đang trong quá trình sử dụng, và tất nhiên khi đang trong quá trình sử dụng bạn sẽ chắc tháy được các biểu hiện của chúng ra sao, như thế nào? Cùng đó chúng sẽ xảy ra các sự cố và một số các hoạt động ngoài mong muốn. Và dường như, trong hầu hết các trường hợp như vậy thì các bug ẩn danh nằm trên dạng là một lỗ hổng khiến cho các phần mềm tương tự như vậy sẽ trở nên không an toàn và dẽ dàng bị hack.

Bug ẩn thân

1.5. Bug bất ngờ

Lại một lần nữa đúng với tên gọi của nó, chính là khi bug xuất hiện một cách thật bất ngờ từ hư không. Code của bạn sẽ có thể đang chạy một cách cực kì hoàn hỏa trong ngày hôm nay. Nhưng rồi bằng một cách nào đó, nó sẽ tự dưng trở nên không hoàn hảo nữa chỉ trong ngày hôm sau. Chỉ vì nó mà bạn sẽ phải tự đặt ra cho mình hàng tá câu hỏi như là: liệu đã có ai đó nghịch được dòng code của mình trong khi mình vắng mặt? Số lượng code càng nhiều thì bạn lại càng dễ dàng hơn trong việc debug. Có một số lỗi mà bạn chỉ cần mất khoảng 5 giây, nhưng ngược lại cũng sẽ xuất hiện ra một sỗ lỗi khiến cho bạn mất đến 5 ngày chứ không phải 5 giây sđể điều chỉnh, sửa chữa lại nó. Thậm chí có cả trường hợp, có những bug mà đến cả cuộc đời thanh xuân của bạn cũng không thể điều chỉnh và sửa chữa lại nó. Hãy luôn nhớ một điều như thế này, trong quá trình sửa lỗi của bạn, bạn cũng có thể sẽ lại thêm 5 lỗi nữa khi mà bạn đang cố sửa 2 bug. Và nếu như mà các dòng code bạn gõ đang hoạt động tốt, thì đừng để bị lừa, điều bạn cần làm là đừng nên đụng gì tới nó nữa thì hơn.

2. Có nên chày cối fix bug ngay không

Vậy fix bug là: Các bạn có thể hiểu đơn giản fix bug mình đang nói ở đây là sửa lỗi, giải quyết vấn đề đang vướng mắc trong lĩnh vực chuyên ngành công nghệ thông tin như lỗi trong khi lập trình, lỗi khi sử dụng phần mềm mà không được như ý muốn của các bạn.

Câu trả lời là không. Các bạn không nên nhất thiết phải xử lý vấn đề ngay. Vì bug còn đến nhiều và đến hằng ngày. Mình cũng liên tục phải gặp những vấn đề trong khi lập trình, trong khi sử dụng những phần mềm kiểm thử bảo mật. Qua nhiều lần thức đêm sấp mặt để fix bug mình thấy không có chút hiệu quả nào. Có những lỗi mình mất hàng tuần liền mà không giải quyết được. Một ngày đẹp trời, mình lôi máy tính ra, chạy mấy dòng lệnh, fix nhẹ và làm theo hướng dẫn (tiếng anh nha), như một bất ngờ và không báo trước, chương trình, phần mềm hết bug. (Hehe cũng chỉ là may mắn thôi nha). Ý mình muốn nói tới ở đây là các bạn nên có thói quen giờ giấc kỉ luật, ăn ngủ chơi hợp lý. Nếu chỉ vì fix bug mà phá vỡ kĩ luật đó thì đó là bug lớn nhất mà bạn không bao giờ fix được.

Có nên chày cối fix bug ngay không

- Fix bug như thế nào để hiệu quả: Code nhiều fix bug nhiều sẽ giỏi. Để trở thành lập trình viên giỏi thì việc tất nhiên là các bạn sẽ phải code nhiều, bạn không thể cứ xem mãi mớ lí thuyết suông và không thực hành, nó sẽ mãi là lí thuyết và để thực hành thuần thục còn là quá trình dài hơn rất nhiều.

Phi công không thể giỏi được khi chưa đủ số giờ bay và bạn không thể giỏi được nếu không đạt đủ số giờ code.

Cần gì Google lấy. Kĩ năng google thì quan trọng không phải bàn đối với mỗi lập trình viên rồi. Đây là một số kĩ năng giúp bạn tìm kiếm tốt. 17 cú pháp tìm kiếm trên google

Một số trang hỏi fix bung trong lập trình

StackOverFlow

Daynhauhoc

Bí mật fix bug. Chả có gì bí mật lắm, các bạn chỉ cần giỏi tiếng anh. Tiếng anh rất quan trọng với lập trình viên (nói câu hơi thừa). Khi gặp lỗi, các bạn nên search bằng tiếng anh, kể cả khi tìm kiếm tài liệu học lập trình. Nếu bạn không giỏi tiếng anh, bạn đã bỏ lỡ đi khối lượng kiến thức gấp trăm lần bạn đang có chỉ với tiếng việt.

3. Một số quy tắc dùng để xác định bug

Một trong số những lỗi phần mềm mà xuất hiện khi 1 hoặc sẽ có thể là nhiều hơn trong 4 quy tắc dưới đây là đúng: Nó không được thực hiện giống như mô tả trong bản đặc tả phần mềm Áp dụng quy tắc này, qa tester kiểm thử chỉ cần luôn nắm được yêu cầu phần mềm thì việc xác định bug cũng sẽ đơn giản hơn.

VD 1: Thử áp dụng quy tắc trên để phân tích lỗi trong phần mềm Calculator, với yêu cầu nói rõ rằng: 'nó phải thực thi phép cộng, phép trừ, phép nhân, phép chia đúng'.

Bạn hãy thử tự mình để kiểm tra, nếu như bạn ấn vào nút dấu cộng + trên bàn phím mà lúc ấy nó không hề có chuyện gì cảy ra, thì lúc đó là do bug này đã theo đúng quy tắc, và do là nó không thực hiện giống như ở mô tả. Tưng tự như trường hợp vậy, nếu như câu trả lời mà bạn nhận được là sai, thì nên nhớ cũng đừng có vội nghĩ rằng đó là một bug.

VD2: Kiểm tra chức năng của nút Back ở trang kết quả tìm kiếm của một website: VD1_Image1_noback.jpg Ở VD này nút 'Back' không được làm việc theo thiết kế (Not Working as Designed). Vì nó không làm đúng chức năng yêu cầu nên nó rõ ràng là một bug.

- Khi nào thì không phải là một bug: Một bug có thể đúng với 1 hoặc nhiều hơn trong 4 quy tắc trên. Vậy ngược lại khi nó không đúng với bất kỳ nguyên tắc nào trên đó nhưng vẫn chưa xác định được chính xác và rõ ràng là bug hay không? Hãy cùng thử trả lời mỗi câu hỏi dưới đây cho mỗi vấn đề đang gặp, có thể bạn sẽ biết được có nên đưa nó vào danh sách bugs không hay là feedback nó:

Nó có khó hiểu, khó sử dụng hay cản trở khả năng của người dùng sử dụng ứng dụng không? Bạn có thể làm nó xảy ra từ hai lần trở lên không? Nếu chỉ xảy ra 1 lần, nó có tạo ra kết quả tiêu cực đáng kể không? Nó có làm mất hứng thú của người dùng sử dụng không? Nó có gì trái ngược hay mâu thuẫn không? Nó có phải là cách tối ưu nhất không? Bạn có mong đợi nó xảy ra theo một cách khác?

Một số quy tắc dùng để xác định bug

Hãy thử áp dụng với một số tình huống lỗi sau:

VD1: Trong ứng dụng Calculator có những nút có kích thước quá nhỏ. Hoặc trong một trường hợp khác cũng có thể đây là một sự sắp xếp của các nút đã làm cho nó trở nên khó sử dụng. Hoặc là một sự bố trí về màu sắc để làm cho nó trở nên khó nhìn hơn... Tất cả những điều này sẽ đều được có câu trả lời là có cho câu hỏi số 1. Nên nó được xác định là bug.

VD2: Đối với những lỗi mà nó không thể được tái hiện ở lần thứ hai (và không chỉ ra được kết quả ảnh hưởng) thì nó sẽ bị ưu tiên thấp và có khả năng sẽ bị từ chối. Lỗi này được gọi tên là 'Once Upon a Time Bug'. VD4_Image7_header.jpg VD4_Image8_badcache.jpg Có thể ban đầu chúng ta bắt gặp nó là lỗi nhưng thật ra lại chỉ bị với trình duyệt của bạn, đó có thể là những lỗi như: hình ảnh bị hỏng, các nút không click được, lỗi đồng bộ video, ... Cách thông minh nhất để bug đó không bị từ chối là xóa bộ nhớ cache, khởi động lại trình duyệt và re-test lại để xác nhận lỗi.

VD3: Không nhập gì vào ô tìm kiếm, khi nhấn Search thì load lại một trang trắng. VD3_Image3_Search.jpg Bản đặc tả đã không yêu cầu về tính năng reload lại trang trong trường hợp này, nó có thể không ảnh hưởng đến việc sử dụng phần mềm của người dùng. Tuy nhiên người dùng không mong đợi như thế, nó được coi là một lỗi UX.

Dựa theo các quy tắc, bạn hãy áp dụng linh hoạt với phần mềm mà mình sử dụng hàng ngày. Khi bám chặt theo quy tắc trên, bạn sẽ dễ dàng tìm ra được cho mình câu trả lời cho mỗi vấn đề mình gặp phải. Do đó số bugs được chấp nhận sẽ nhiều hơn, giảm số bugs phải reject. Và hơn hết, khi một vấn đề không rõ ràng hoặc bạn không chắc về nó, bạn cho là không phải bug và cần feedback, thì tốt nhất nên tạo Q&A cho BA, PM hay khách hàng. Trong trường hợp bị từ chối, chỉ cần nhớ rằng khách hàng không phải nói bạn sai! Chỉ là phát hiện của bạn không đáp ứng được yêu cầu trong ứng dụng của họ trong giai đoạn này mà thôi.

Bài viết trên của timviec365.vn hi vọng đã giải đáp phần nào thắc mắc của các bạn về các vấn đề có liên quan đến Bug là gì. Từ đó giúp các bạn trẻ xác định được rõ hơn về những công việc hay gặp trong tương lai khi ứng tuyển it việc tại công ty công nghệ nào đó. Ngoài ra, website timviec365.vn còn là một trang web hàng đầu chuyên về đăng tin tuyển dụng, giúp các bạn dễ dàng hơn trong việc tìm được công việc ưng ý cho mình. Chúc các bạn thành công với timviec365.vn.