Najčešći uzrok grešaka...

Da ne okolišam i ne tupim previše, najčešći uzrok grešaka u programima su pretpostavke. Stvari tipa:

  • moj kod radi
  • sistem sa kojim se integrišem se ponaša ovako
  • ovaj kod će izvrteti ulazni niz, vratiti true ako uspe, false u suprotnom, a kao bočni efekat popuniće mi ovu promenljivu

Itd itd itd. Za sve ove pretpostavke se može (i mora) postaviti pitanje: "Da li si siguran?" Većina programera će samouvereno reći "100% siguran!" bez neke detaljne provere ili će samo sleći ramenima i reći "Trebalo bi da radi tako...". Stvarno dobar programer će sesti, napisati par testova da proveri da li se sve ponaša baš kako očekuje (ako to već nije uradio) i onda reći "100% siguran".

Mrmlj: Za vreme koje sam proveo pokušavajući da rešim najskoriji bug sa kojim sa se susreo mogao sam komotno da napišem testove za sve aplikacije na kojima radim (a ima ih četiri) i još da imam vremena da odem sa prijateljima na kafu ili klopu. Od sad Ilija piše testove za sve! Možda se testovi čine kao gubljenje vremena u početku, ali na duže staze štede vreme, živce i nema puno stresa.