Bug je anglický výraz pro chybu nebo nedostatek ve funkčnosti softwaru. Důsledkem takové chyby jsou nesprávné nebo neočekávané výsledky produkované programem/systémem. Bugy můžou být způsobeny nesprávnými algoritmy, logickými chybami, nekonzistencemi ve vstupních datech a dalšími faktory.
K tomu, aby byl software vyčištěn od bugů, slouží testing, který probíhá už během samotného vývoje. Tester by měl chyby vyhledat a odstranit. Ne vždy však testing odhalí všechny bugy. Když se na ně přijde až po zprovoznění softwaru, je často odstranění bugů součástí aktualizací.