Reklama
Nepřihlášený uživatel | Zaregistrovat se
 

Téma:

Počítače a InternetVývoj software

Spravuje:

igi

Může vás zajímat



Reklama



Cetli jste to? Co si o tom myslite? Ma to smysl? Kdy ne? Znate nekoho, kdo nekdy napsal test? Existuji spolecnosti, co podobne metody praktikuji? Berou lidi? Jak odmontovat suplata od stolu?

bard Žádná česká věta  není dost holá.
Scrum et al.
Google Tech Talks September 5, 2006

Ken Schwaber co-developed the Agile process, Scrum. He is a founder of the Agile Alliance and Scrum ... all » Alliance, and signatory to the Agile Manifesto. Ken has been a software developer for over thirty years. He is an active advocate and evangelist for Agile processes.

http://video.google.com/videoplay?docid=-7230144396191025011
 
ondra_nekola Understanding is a three edged sword.  Your side, their side, and the truth
Mezi firmami jsem to nepotkal - netvrdim ale ze to neexistuje - ale uvnitr jedne firmy dost casto. Psali jsme interni systemy a vlastnosti se tam vazne pridavaly jedna po druhe bez nejakeho velkeho planovani dopredu (tehda jsem to bral jako nestesti, dnes bych to tak tragicky nevidel).
bard Žádná česká věta  není dost holá.
http://blog.softeu.cz/scrum-prakticke-zkusenosti/ ostatne tady je mp3 prednasky prave o scrumu a EP
 
bard Žádná česká věta  není dost holá.
to igi: zda se ze ano
repa enum Bool {True, False, FileNotFound}  www.vaudeville.cz
jsou, a rekl bych, ze je to docela bezne. Akorat pritom obcas obe strany predstiraji, ze se jedna o Waterfall ;)
igi mors ontologica  -
Ja nepotkal ani castecne postupy, ale ja toho nepotkal mnoho :)
Parove programovani se zvlastni samo o sobe, nedokazi odhadnout, zda prinosy v toku znalosti vykompenzuji "mene rukou na klavesnicich". Ale i bez nej: jsou vubec zakaznici, co plati vyvojovy tym s tim, ze co bude, to bude, a zadny dopredu schvaleny plan vyvoje neni...?
bard Žádná česká věta  není dost holá.
XP vcetne paroveho programovani, nebeo nejake castecne postupy typu SCRUM?
igi mors ontologica  -
Klidne to rekni, ale nevim nevim, kdo tu bude neco psat. Zatim jsem XP nevidel nikde v praxi nasazeny...
bard Žádná česká věta  není dost holá.
no mohl bych spis rict book, nez odpad?
 
captainn to houká kápo  sýček
Extrémně tu chcípl pes, takže Odpad!
 
repa enum Bool {True, False, FileNotFound}  www.vaudeville.cz
mno, ta teze je takova, ze se treba v budoucnu ukaze, ze connection pooler neni potreba, a psat to ted by znamenalo zneprehlednovat kod a zdrzovat vyvoj. A ano, kdyz bude casem treba pooler dodelat, tak se proste bude muset prepisovat kod - je to proste tak trochu sazka do loterie, ale muze se dost vyplatit. Vzhledem k tomu, ze je kod stale proverovany automatizovanymi testy (ktere samozrejme vsichni poctive piseme :), je takova zmena stejne pomerne levna.

Ja bych v tomhle pripade asi volil kompromis - napsal bych si nejakou factory na koneksny, ktera proste vzdycky uvari novou koneksnu a zadnej pooling ve skutecnosti nedela. Pripsat tam to poolovani muzu vzdycky a bude to levny. Ale i to muze byt nekdy zbytecne konzervativni pristup.
 
YAGNI?
Tak nevim, jestli jsem to dobre pochopil (asi ne, protoze bych se nemohl ptat na takovou blbost), ale ten princip - nepis co nemusis mi pripada takovej divnej - kdyz proste budu automaticky resit vsechny problemy tim nejjedodusim (nebo spis "nejmin obsahlym") zpusobem, tak to sice bude fungovat a vyvoj pujde rychle ale prece ten kod bude stat za prd - pr. potrebuju pracovat s databazi - proc psat (dejme tomu, ze ty dostupne mi nejak nevyhovuji) nejaky conn. pooler, kdyz tam staci vsude nasekat samostatny pripojeni - vzdyt cp je "zbytecnost" - dela to hromadu veci co neni potreba. pak si mozna v budoucnu vsimnu, ze to nejak vazne a stejne se k tomu vratim, budu to muset predelavat a buhvi co jeste... proste mi to tak pripada ze to cele je o rychlosti vyvoje vs. kvalite a mnohdy i rychlosti behu samotne aplikace. takze, muj dotaz zni: co jsem tam spatne pochopil (protoze jak rikam - ten predchozi priklad je urcite blbost - tak by to prece nemelo fungovat)
 
gorila Navision je zlo, které se musí vymítit.. 
v_Z:
Právě proto existuje speciální SW pro testování SW, kde se přímo zadávají stisy kláves a krysy
 
repa enum Bool {True, False, FileNotFound}  www.vaudeville.cz
ja pisu casto testy tak, ze si v nejake jednoduche datove strukture udrzuju "kopii" toho, co si myslim, ze by se melo vyskytovat v "ostrych" datech -- napriklad kdyz mam tabulku objednavek v databazi, udelam si k ni pomocne pole s obdobnou strukturou. Kdykoli v testu zavolam nejakou metodu, provedu ekvivalentni operaci na te pomocne strukture - kuprikladu smazu jeden prvek pole, coz je snadne, prehledne a nejde v tom udelat chyba. Vzapeti zavolam zvlastni funkci, ktera porovna vsechna ostra data se vsemi pomocnymi strukturami. Pochopitelne provadeni takoveho testu trva dele, ale vysledkum se da dost verit.

Co se tyce toho, ktere mezni, zvlastni a bizarni stavy a okrajove podminky je treba testovat, to je tak nejak zalezitost odhadu a intuice, tedy soucast toho "umeni programovat" ;)

Co se tyce testovani funkce secti_dve_cisla, tam jsem si stanovil jednoduche kriterium, ze nema smysl psat test o stejne ci dokonce vetsi slozitosti nez to, co je testovano - proto pochopitelne netestuju napriklad accessory, trivialni konstruktory, jednoduchou aritmetiku a podobne.

V kazdem pripade si myslim, ze dobre kriterium je "napisu takovy test, o jehoz vysledcich nebudu mit pochybnosti".
von_Zeppelin Oliheň Beznaděje  .
Já znám extrémní programování jenom z doslechu, ale zajímají mě automatizované testy. Připadá mi to jako dobrý nápad vzhledem k tomu, že ze zkušeností s betatestingem vím, že po určitém počtu změn je potřeba otestovat program kompletně znova - a když na každou chybu udělám test, tak to prostě jenom spustím baterii testů a mám to.
Ale nevím jak to může fungovat v reálu - co jsem viděl příklady tak to bylo vždycky něco jako funkce secti_dve_cisla(a,b) a test if (secti_dve_cisla(1,2)!=3) then error. Jenže takováhle chyba se ve skutečnosti nikdy nevyskytne.
Skutečná chyba vypadá nějak takhle:
Mám objekt třeba Zakazka a metody print, insert, update, které zobrazí formulář zakázky, uloží ho do db, nebo aktualizují. Všechno to vyzkouším a funguje to. Pak chce zákazník možnost přidávat k zakázce vazební faktury, takže na ten formulář přidám tlačítko, které zobrazí okno, kde může přidávat a mazat faktury ze seznamu.
Zase to vyzkouším, zdá se, že to funguje, ale nevšimnu si, že když smažu poslední fakturu z toho seznamu, tak se vymaže i číslo zakázky, nebo ještě hůř, přepíše se číslem faktury.
Jak něco takového otestuju?
A hlavně, když si píšu testy předem, může mě napadnout a můžu dokázat testovat všechny možné problémy tohoto typu?
A aby to bylo ještě složitější, tak dejme tomu, že ta chyba nastane jen tehdy, když opravdu zobrazím ten formulář a vyplním ho (což se může docela dobře stát, dejme tomu, že je v okně faktur nějaké pole, které se jmenuje stejně jako pole ve formuláři zakázky, nebo tak něco)
 
Sarnegarth i don't share your greed, the only  card i need is the ace of spades
2kriket: mno, mne slo o to, ze to tve "makroskopicke" hledisko by melo byt jeste makroskopictejsi a ten co pise by nemel byt pouze pisar a korektor imho. a uz vubec to podle me neni tak, ze se rekne, rychlejs datlujes, tak pis. spis je to: "i'll drive" a pisu, druhy pak rika "este pridej tenhle parametr, bude potreba kvuli vazbe do ciselniku" a "tyhle promenny rozhodne otestuj typ kvuli bezpecnosti", pak smolim tu omacku ve funkci, po skonceni mi rekne "zkus to hned zavolat z tyhle knihovny" etc. pak povi "i'll drive" a napise jiny kus s volanim webove sluzby blablabla... u nas se to tedy moc nepraktikuje, ve dvojicich programujeme vetsinou pouze pri oprave chyb.
 
kriket - --==sees the sun going down==-- -  ...
Sarnegarth
no vsak jo... diktator je obrazne. Viz posledni veta.
a tou rychlosti psani, zkousels to nekdy? To je moje osobni domenka, ze ten kdo pise rychleji MUSI psat, jinak je to na zcvoknuti. Aspon pro me...
 
gorila Navision je zlo, které se musí vymítit.. 
Sarnegarth:
Ten co datluje obvykle kontroluje estli ten co diktuje neříká blbosti... Takhle se každej soustředí na vlastní část a pokud jsou sehraní, rychlost programování je větší... asi něco jako pracovní party kerý stavěly "Empire State" (tuším)
 
Sarnegarth i don't share your greed, the only  card i need is the ace of spades
[rozhodne to imho nema souviset s rychlosti psani...]
 
Sarnegarth i don't share your greed, the only  card i need is the ace of spades
2kriket: tos to ale pochopil spatne, ne? to nema byt diktat. ten co pise ma implementovat konkretni maly kus, druhy ma sledovat ten nejsirsi kontext, ne?