Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 7 ] 
AutorSpráva
Offline

Skúsený užívateľ
Skúsený užívateľ
Automatické testovanie a nástroje

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 18.05.2013 18:23

Akým spôsobom zvyknete testovať svoje aplikácie? Využíva tu niekto TDD/BDD/ATDD...?
Prípadne poznáte nejaké zaujímavé stránky na túto tematiku? :)

Osobne sa mi páči napríklad toto: http://artofunittesting.com/
Paráda je na tom to, že to nekončí na nejakej prezentácii knihy alebo pri základných princípoch, ale Roy sa snaží vysvetliť pointu na reálnych príkladoch. Dokonca v ľudskej reči :lol:







_________________
C#, PHP, ...
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 19.05.2013 21:56

Ak sa niekto zaujíma o TDD určite by si mal prečítať aj články o tom, prečo také metódy nemusia byť najlepšie (hlavné body sú aj na wikipedii). :)


Offline

Skúsený užívateľ
Skúsený užívateľ
Automatické testovanie a nástroje

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok Napísal autor témyOffline : 20.05.2013 0:09

Tak samozrejme, že to má svoje plusy aj mínusy, ale to platí o každom postupe. Bohužiaľ zatiaľ nikto neprišiel s ničím naozaj univerzálnym, čo by stačilo do bodky nasledovať a bol by perfektný výsledok. V prvom rade treba pochopiť princípy a ich odôvodnenie, lebo inak to dopadne horšie ako pri klasickom spôsobe programovania.
Čo odporúčaš ty? Aspoň mi to tak vyznelo, že k podobným metodikám nemáš najlepší vzťah... :)







_________________
C#, PHP, ...
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 21.05.2013 0:39

Nemám nič proti unittestom, sám ich občas používam. :)

Užitočnejšie je ale asi naučiť sa programovať jednoducho a prehľadne (pretože vyrobiť kvalitný unittest môže byť príliš komplikované a prílišná dôvera v nie príliš kvalitné unittesty sa často nevypláca).


Offline

Skúsený užívateľ
Skúsený užívateľ
Automatické testovanie a nástroje

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok Napísal autor témyOffline : 21.05.2013 1:11

No jo, prehľadne a jednoducho treba programovať vždy, akurát nie vždy je to také jednoduché... Sú projekty, kde máš proste viacero vrstiev, moduly, asynchrónne spracovanie atď. Teraz si pôvodný vývojár nájde lepšiu prácu, odíde a miesto neho príde nový vývojár a treba urobiť zmeny v systéme. Pokiaľ nie sú dobre (alebo dokonca vôbec) napísané testy, ako si môže byť istý, že úpravami nepoškodil nejakú inú časť systému, ktorá s tým zdanlivo vôbec nesúvisela? Ručne testovať/debugovať každú funkcionalitu je proste neprípustné, ak nie nemožné. TDD (a podobné metodiky) sa práve tomuto snažia zabrániť, kedy ti stačí pozrieť testy a môžeš v kľude pracovať na systéme aj o 5 rokov neskôr bez toho, aby si musel debugovať každý riadok kódu alebo dlhé hodiny rozmýšľal, ako to vlastne majster myslel. Testy by mali mať dostatočne popisné názvy, takže by si nemal potrebovať test ani otvoriť a mal by si vidieť, ako by sa mal systém správať.

Najväčšie problémy pri xDD sú práve v tom, keď s tým ľudia ešte nemajú skúsenosti, začnú na tom makať a netestujú to a tak, ako by mali. Potom samozrejme testom nedôverujú, prestanú testy udržovať a skončia s vetou "to je ale blbosť".
Dobré videá má napríklad Roy Osherove alebo aj Miško Hevery (aspoň teda podľa mňa).

TDD nie je len o jednotkových testoch, sú v tom zahrnuté prakticky všetky typy (integračné, unit testy, ...). Podstata je v postupe práce a v inkrementálnom zlepšovaní kódu....

Automatizované testy nie sú samozrejme all-in-one solution na všetky problémy, ale sú imho vynikajúcim doplnkom na to, aby sa programátor mohol sústrediť na to, čo je skutočne dôležité (povedzme na implementovanie novej funkcie bez strachu, že pokazí niečo iné ako vedľajší produkt).

Akurát nechápem, prečo si zatiaľ zareagoval len ty... Keď som sa pýtal v inej téme, či by bol záujem aj o iné debaty ako klasicky (nezobrazuje sa mi správne html stránka), tak všetci hneď "heej, jasné, určite". Dôjde na lámanie chleba a všetci zrazu ako mŕtve chrobáky :lol: Neviem, možno iná tematika by tu bola vhodnejšia?







_________________
C#, PHP, ...
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 21.05.2013 13:49

Nedávno som portoval jednu knižnicu a robil alternatívny server pre nejakú aplikáciu. Obidva tie projekty mali unittesty a napriek tomu, že mi všetky testy s mojimi verziami prešli bez najmenších problémov, moje verzie v reálnom používaní nefungovali. :) Takže som aj tak musel študovať zdrojový kód a keby tie dva projekty boli urobené prehľadnejšie, trvalo by mi to výrazne kratšie. ;)

Inak chyby sú aj v projektoch pokrytých 100% unittestami, takže spoliehať sa na ne nie je rozumné (a keďže zvyčajne unittest píše človek, čo napísal aj kód, ktorý má ten test testovať, nie je príliš prekvapujúce, že často nefungujú ak sa trochu zmenia niektoré parametre).

Podľa mňa je rozumné napísať test len v prípade, keď sa opraví nejaká chyba, aby sa rovnaká chyba už nevyskytla.

PS: Najrozumnejšie je mať kvalitné revidovanie kódu, odhalí sa tak veľa problémov a nemôže sa stať, že daný kód bude poznať jediný človek.


Offline

Skúsený užívateľ
Skúsený užívateľ
Automatické testovanie a nástroje

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok Napísal autor témyOffline : 21.05.2013 14:13

Tak vieš, 100% pokrytie neznamená nič. Dôležité je len to, ako sú tie testy písané a či testujú naozaj potrebné scenáre, a nielen to, aby získal programátor 100% coverage.
Revidovanie kódu je fajn, ale na to potrebuješ viacerých programátorov, ktorí na tom pracujú. Čo ale v prípade, kedy ako napríklad ja pracuje človek zväčša sám a dostáva projekty po takisto sólo programátoroch? Naozaj utrpenie študovať také programy, občas sa bojím urobiť aj najmenšiu zmenu, aby som nenarobil viac škody ako úžitku.

Ide tam o to, že pokiaľ človek nepíše testy vôbec, respektíve "len keď sa mi zachce", väčšina programátorov nepozerá až tak na kvalitu a jednoduchosť kódu. Proste to vyzerá fajn, pridajú tam viacero threadov a fičí sa. Pokiaľ ale programuješ tak, aby to bolo ľahko testovateľné, väčšinou sa nebudeš púšťať do nejakých prekomplikovaných stavov. Snažíš sa vždy nájsť čo najjednoduchšie riešenie a inkrementálne pridávaš funkcionality. Preto o TDD neuvažujem ako o nejakom testovacom postupe ale skôr ako o spôsobe navrhovania architektúry softwaru...

Citácia:
keby tie dva projekty boli urobené prehľadnejšie, trvalo by mi to výrazne kratšie.

Ani nespomínaj, neviem, čo je to dnes za trend, ale vidno to krásne aj tu na pcfóre, ale povedzme aj na StackOverflow. Ľudia nemajú problém drbnúť holý SQL príkaz (častokrát ešte aj s viac ako očividným SQL injection) priamo do UI code-behindu, priamo do handlera udalosti. Žiadna abstrakcia, žiadne vrstvenie softwaru, všetko pekne nakopu a sú neskutočne prekvapení, že im to "nefunguje".
Alebo pri webforms dokonca švahnú ten SqlDataSource priamo do aspx stránky medzi html :lol: Keď vidím SQL + html hneď vedľa seba, príde mi vždy zle. Neviem, čo Microsoft napadlo podporovať takú zvrhlosť.







_________________
C#, PHP, ...
Odpovedať na tému [ Príspevkov: 7 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Nástroje

v Internetový marketing, SEO, reklama

0

5786

13.05.2007 1:57

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Seo nastroje

v Ostatné

5

671

05.09.2010 12:22

don jebot Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Danove priznanie - nastroje, formulare..

v Ekonomika, práca, biznis, podnikanie a peniaze

18

684

25.04.2017 16:06

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nástroje na optimalizáciu Windowsu

v Operačné systémy Microsoft

3

318

24.08.2014 22:08

tairikuokami Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. photoshop cs3 nepouzitelne nastroje

v Grafické programy

6

540

01.04.2010 9:02

Scorpion4444 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Informácie o výkone a nástroje(Nereaguje)...

v Operačné systémy Microsoft

2

844

01.02.2010 19:21

diondion Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Programy / Nástroje pro anonymizace komunikace po síti?

v Sieťové a internetové programy

0

312

23.04.2015 19:59

Cibiksebak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kde v pc zistím napr. systemové nastroje,ci mam este RAMvo

v Pamäte

3

653

10.03.2008 22:56

Devil_SK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. testovanie antivirusov

v Antivíry a antispywary

2

1068

23.03.2010 19:40

ja3ro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Testovanie programovania

v Vzdelanie, štúdium, škola

0

492

16.02.2017 13:43

GamerSK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. testovanie RAM

v Pamäte

16

1493

24.08.2010 23:05

Sotam Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C Testovanie prvočíselnosti

v Assembler, C, C++, Pascal, Java

4

690

23.10.2011 13:50

PipoPP Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Testovanie rýchlosti skriptu

v PHP, ASP

0

434

04.09.2012 21:17

1daemon1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. IE6 pre testovanie

v HTML, XHTML, XML, CSS

3

597

07.10.2009 9:04

pilná lama glama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. testovanie virtual enviroment

v PC zostavy

8

497

03.03.2013 16:37

xml Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Testovanie Ram v Windows

v Benchmarky a diagnostické programy

2

580

16.02.2010 22:45

shiro Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra