Att testa applikationer

2/21/2010

Välskrivna applikationer och system är säkerhetsmässigt bättre inte bara därför att innehåller defekter som kan resultera i säkerhetshål är mindre troliga utan också därför att de blir lättare att korrigera. Ett problem i rörig kod är att säkerhetshål när de upptäcks egentligen inte korrigeras därför att det helt enkelt skulle ta för lång tid och istället kapslat de in med någon extra kontroll eller filtrering.

Rörande testning såg jag att Google Testing blog listade olika frameworks för testning. Vad jag tyckte var intressant med dem var att de pekade på olika filosofier som oavsett situation kan vara intressanta:

Interviewing Insights and Test Frameworks

En att komplettera med är den paranoida:

Detta fungerar och bör aldrig kunna gå fel men jag utgår från att den kommer gå sönder ändå därför att jag vet att risken finns att folk kan ändra saker utanför min "modul".

Därför litar min kod aldrig på data från andras kod.

Jag har ju dock programmerat mycket i C förr där krypteringsbibliotek m.m. man använde inte direkt var kod man kunde utgå från inte var fyllt med defekter av olika slag. Det roliga med det är att när Java m.m. kom ansågs sådana problem hanteras men egentligen låg ofta samma gamla C-blbliotek under och defensin respektive paranoid-programmering är säkert fortfarande klokt.

Ändå att på det lägga in i operativsystem eller "OS-liknande" applikationer automatiskt hantering av defekter i enskilda moduler löser många potentiella problem. Det är ett värde jag tror att Chrome OS kan visa sig ha.

0 kommentarer

Kommentera