Alap, hogy kell egy teszt és egy éles környezet, de ezt már a többiek leírták. A karbantartásnak és fejlesztésnek van még egy fontos pontja: egy több évig fejlesztett projectnél már előkerül a refaktorálás kérdése is. Szerintem ezen múlik a legtöbb, hogy tudjátok mérlegelni, mikor elég egy gyorsfix, mikor kell egy-egy komponenst, vagy akár a rendszer alapjait refaktorálni, és mikor jön el az a pillanat, amikor bizony az egész kódot újra kell írni.
Egyik ismerősöm cége számlázó programokat készít, és ők a szükséges refaktorálás mellett, x évente újraírják a teljes szoftvert. Nekik ez már sok éve így működik.
Ha fix időközönként adsz ki új verziót, az bizony fejlesztés. És volt már olyan a történelemben, hogy az N+1 verzió kiadásakor hozzá kellett olyan kódhoz is nyúlni ami az eddigieket is megborítja, mert teszem azt egy új igényt csak úgy lehet kielégíteni.
Van egy stabil verzió és van egy fejlesztői verzió. A stabil verzióban csak bugfixek vannak, amik persze a fejlesztő verzióba is bekerülnek, és vissza. A stabil verziót bevezetés előtt megtesztelni amennyire lehet. Ilyenkor jönnek nagyon jól a unit tesztek. Persze 100%-os megoldás ekkor sincs, hibamentes szoftver nem létezik.
Nem értesz: amiről én beszélek, az egy olyan tesztkörnyezet, ami az élessel megegyezik. Ha működik, akkor az élesen is működni fog. (feltéve, hogy a telepítését nem rontja el az elkövető )
Az élesen tesztelést nyilván úgy értettem hogy az élesen is megnézzük hogy működik-e. Amúgy persze van egy teljesen független oldal csak fejlesztés / tesztelésre.
Élesen tesztelni?
X darab fejlesztői környezet, az élessel megegyező felépítésű teszt rendszer, ahol a userek tesztelnek, fejlesztő a közelébe nem mehet (némi költői túlzással), végül éles rendszer, ahová csak az ezer százalékig kitesztelt anyag mehet. Itt nincs tesztelés, max. annyi, hogy a kész program elindul-e vagy valamiért mégis vissza kell állni az eredeti változatra.
Van egy program amit pár éve folyamatosan fejlesztünk. Ehhez ugye jönnek mindig a javítani valók, új funkciók stb.
A kérdésem az lenne, hogy ti milyen módszert használtok ilyen esetben?
Pl amikor a teszt rendszerről az élesre kell átteni a fejlesztéseket, ott tesztelni, leállítás nélkül, stb.
Röviden hogy megy ilyenkor a program karbantartása fejlesztése?