Parametrizovani testovi u JUnit-u
- Details
- Created on Tuesday, 12 February 2013 16:58
- Last Updated on Wednesday, 24 December 2014 23:39
- Written by Administrator
- Hits: 3179
Parametrizovani testovi U JUnit-u mogu biti korisni kada se radi s tabularnim podatcima. Iako na internetu ima dosta članaka na temu, nisam našao kod koji je moguće jednostavno iskopirati i iskoristiti bez mnogo razmišljanja, s toga ovde prikazujem jedan jednostavan primer.
package com.empoweragile; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import java.util.Arrays; import static junit.framework.Assert.assertEquals; @RunWith(Parameterized.class) public class AddtionTest { @Parameterized.Parameters(name = "Addition test: {0}+{1}={2}. Test n° {index}") public static Iterable<Object[]> data() { return Arrays.asList(new Object[][]{ {2, 2, 5}, {-2, -2, -4}, {2, 0, 2}, {-5, 0, -6}, {-3, 3, 0}, }); } private final int left; private final int right; private final int expected; public AddtionTest(int left, int right, int expected) { this.left = left; this.right = right; this.expected = expected; } @Test public void testAddition() { Math math = new Math(); assertEquals(expected, math.add(left, right)); } } class Math{ public int add(int left, int right){ return left + right; } }
Nekoliko napomena
@Parameterized.Parameters anotacija je dostupna od 4.11 verzije JUnit-a i služi da bi generisala čitkije ime testa koje vaša alatka prikazuje kada se test izvrši. Izgleda da se ova verzija još uvek nije propagirala u Maven repozitorijima, tako da sam morao da dodam 4.11-beta-1 verziju kao Maven zavisnu biblioteku („dependency“). Ukoliko koristite neku raniju verziju JUnit-a, jednostavno traba eliminisati ovu anotaciju, a čitko ime testa ostvariti na neki od ranijih dovitljivih načina:
http://stackoverflow.com/questions/650894/changing-names-of-parameterized-tests
Tržište rada počinje da vrednuje agilne kvalifikacije
- Details
- Created on Sunday, 25 April 2010 22:24
- Last Updated on Friday, 09 January 2015 00:05
- Written by Marko Jeftić
- Hits: 5744
Ima dobrih znakova za agilne programere na domaćem tržištu rada. Iako smo daleko od svetskog proseka, prvi znakovi su tu. Preduzeća počinju da traže zaposlene sa iskustvom u agilnim metodama razvoja.
Termin | Broj rezultata |
---|---|
Agile (methodologies, development, environment) | 46 |
Scrum | 14 |
refactoring | 4 |
TDD | 4 |
Portal: infostud.com
1257 oglasa koji spominju Scrum, 4128 koji sadrže reč “Agile” (i većina se odnosi na metodu), 199 oglasa za mesto “Agile Coach”, 231 koji spominju “TDD” i 130 “refactoring” i 949 oglasa koji spominju “Continuous Integration”!
Mlitavi Scrum
- Details
- Created on Sunday, 18 April 2010 23:21
- Last Updated on Wednesday, 24 December 2014 23:39
- Written by Administrator
- Hits: 4978
Nedavno sam čuo za zbrku vezanu za nekoliko projekata. Radi se o sledećem:
- Želeli su da koriste agilni proces i izabrali Scrum
- Usvojili su skup Scrum postupaka, a možda čak i principe
- Nakon izvesnog vremena napredak je i dalje bio spor jer je kodna osnova bila haotična.
Ono što se dogodilo je to da nisu posvetili dovoljno pažnje unutarnjem kvalitetu svog softvera.Ukoliko napravite tu grešku, uskoro ćete doživeti da vaša produktivnost počne da opada, jer je dodati nove karakteristike mnogo teže nego što bi ste vi to želeli. Preuzeli ste sputavajuće Tehnički Dug i vaš scrum se jedva drži na nogama (Ukoliko ste bili u pravom scrumu*, znaćete koliko je to loše.)
Pomenuo sam Scrum zato što se čini da se, kada se susretnemo sa ovim problemom, Srum pojavljuje posebno često kao imenovani proces koji tim primenjuje. Za mnoge, ova situacije je pogoršana Scrumom iz tog razloga što je Scrum proces koji je usredsređen na tehnike projektnog upravljanja (project management) i namerno izostavlja bilo kakve tehničke postupke, nasuprot (na primer) Ekstremnom Programiranju.
U odbranu Scruma, važno je pomenuti da sama činjenica dao ne uključuje tehničke aktivnosti unutar svog okvira, ne treba nikoga da vodi ka zaključku da ih ne smatra važnim. Svaki put kada bih slušao istaknute Scrummere, oni bi uveki naglašavali da morate posedovati dobre tehničke postupke da bi bili uspešni u Scrum projektu. Oni ne navode koje bi to tehnički postupci trebalo da budu, ali su vam doista potrebni. Na kraju, projekti redovno doživljavaju teškoće zbog lošeg internog kvaliteta, i činjenica da su mnogi od njih Scrum projekti može biti više vezana sa činjenicu da je Scrum toliko popularan u tom trenutku, nego sa nečim što ima veze sa samim Scrumom. Popularnost i Semantičko Širenje imaju tendenciju da se javljaju zajedno.
I šta može da se uradi povodom toga?
Scrum zajednica bi trebala da udvostruči svoje napore da osigura da ljudi razumeju važnost kvalitetnih tehničkih postupaka. Sasvim sigurno, bilo koja vrsta projektne revizije trebala bi da uključi razmatranje vrste tehničkih postupaka koji su prisutni. Ukoliko ste uključeni ili povezani u takav projekt, oštro reagujte ukoliko je tehnička strana zanemarena.
Ukoliko očekujete da uvedete Scrum, vodite računa da posvetite dovoljno pažnje tehničkim postupcima. Često primenjujemo mnoge od onih iz Ekstremnog programiranja i oni sasvim dobro odgovaraju. Stručnjaci se često šale, donekle opravdano, da je Scrum samo XP bez tehničkih postupaka koje ga pokreću. Malicioznost na stranu, XP postupci čine dobru polaznu tačku – i sigurno su mnogo bolje nego ne činiti ništa.
Uvek volim da istaknem da nisu metodologije ono što uspeva ili ne uspeva, već je tim taj koji to čini. Preuzimanje procesa može da poboljša rad tima, ali na kraju je tim taj koji je bitan i snosi odgovornost da primeni ono što za njega funkcioniše. Siguran sam da će mnogi Mlitavi Scrum projekti koji se sprovode narušiti reputaciju Scruma i verovatno širu agilnu reputaciju takođe. Ali obzirom da semantičko širenje vidim kao neminovnost, nisam previše uznemiren. Timovi koji ne uspevaju verovatno neće uspeti bez obzira koju metodologiju (pogrešno) primene, dok će oni koji uspevaju graditi svoje postupke na dobrim idejama i uloga Scrum zajednice je da te ideje nadaleko širi.
Mnogi ljudi vide Lean kao sledeću veliku agilnu stvar. Ali što popularniji bude Lean postajao, sve više će se suočavati sa problemima sa kojima se Scrum sada suočava. To ne čini Lean (ili Scrum) bezvrednim, već nas samo podseća da su pojedinci i interakcije vredniji od procesa i alata.
*scrum: deo ragbi utakmice u kome igrači guraju jedni druge raspoređeni u krugu, sagnutih glava, pokušavajući da dođu do lopte
Prevod Članka Flaccid Scrum. Autor: Martin Fowler
Agilni Srbija publikuje kompletan prevod Agilnog Manifesta
- Details
- Created on Wednesday, 07 April 2010 00:59
- Last Updated on Wednesday, 24 December 2014 23:39
- Written by Administrator
- Hits: 4950
U znak obeležavanja devetogodišnjice objavljivanja Agilnog Manifesta, Agilni Srbija publikuje kompletan prevod manifesta na srpski jezik. Ovaj dokument je bez premca po uticaju koji je izvršio na industriju softvera u poslednjoj deceniji. Označio je povratak na ljudske vrednosti i umeće i osmislio reakciju na strogo definisane, komplikovane i birokratske procese koji su u to vreme bili neprikosnoveni u industriji. Danas nema značajne softverske kuće koja ne primenjuje ili barem eksperimentiše s agilnim metodama i razvojnim tehnikama.
Iz prevoda manifesta:
"U periodu između 11. i 13. Februara 2001. u The Lodgu u Snowbird skijaškom centru na Wasatch planinama u Juti, sedamnaest osoba se sastalo da priča, opusti, pronađe zajedničke tačke i, naravno, jede. Ono što je nastalo kao rezultat bio je Manifest Agilnog "Razvoja Softvera". Predstavnici Ekstremnog Programiranja, SCRUMa, DSDMa, Adaptive Software Developmenta, Crystala, Feature-Driven Developmenta, Pragmatic Programminga, i drugi koji su razumeli potrebu za alternativom komplikovanim razvojnim softverskim procesima baziranim na dokumentaciji, su se okupili. ...".
Zahvaljujemo se Dejanu Arsenovskim i našim sponzorima, prevodilačkoj agenciji Denittis Prevodi na izvsno odrađenom prevodu manifesta.