Muhammad Ichsan wrote:
> Html sering saya abaikan karena saya
> melihat langsung dampaknya. Mmmm lagian kayaknya jadi time consuming
> banget di spec'ing. Nah bagaimana dengan rjs. Apakah ia worth untuk
> di-spec-kan?
short v: ya
long v: ya tergantung.
TDD != BDD
assert_equal != object.should be(something)
def require_a_field != it 'should require a field'
1. BDD focus ke behaviour.
Pertanyaan yang seyogyanya terpasang refleks di alam fikir rubyist
ketika practicing XP ini adalah apa yang seharusnya aplikasi ini
lakukan? Contoh: Halaman show pada sebuah aplikasi blog sederhana,
ketika kita klik GET /article/:id disana akan terpampang
@article.title,
@article.content,
@article.comments
Form untuk submit comment
maka behaviour2x itulah yang ditest. gak usah mikir dipojok
sana musti ada h3 apa h1 segala macam, disitu ada tr td apa li gitu.
it 'should show article detail'
it 'should show comment'
it 'should show a form to submit a new comment' do
render 'articles/show'
response.should have_tag('form[action=?]',
article_comments_path(@article)) do
[:name, :email, :website, :message].each do |field|
with_tag('input[name=?]', %{comment[#{field}]})
end
with_tag('input[type=submit]')
end
end
sila modify kalau form ybs adalah ajax (bukan http post)
2. BDD focus ke documentation.
:-)) sori saya mau ketawa dulu :-))
Siapa yang biasa kerja di kantor yang tergolong punya nama :-))
Sebut deh
berapa puluh juta rupiah yang diminta *cuma* untuk bikin dokumentasi!
oke, saya sebut, di kwitansi perusahaan anu di dokumentasi proyek anu
tertulis Rp 60 juta, dokumentasi tsb setebal 500 halaman. ;-) =))
habis gitu apa coba.... tetap aja hackers the rulez! biar ada tu
dokumentasi segede kingkong mahal gimana juga kalau SDM kurang, ehm,
ya percuma. Dikira bug lagi, fix lagi, tambal sulam tambal sulam,
bahasa sederhana dari derita keluh kesah nangis darah teman-teman
employee bergaji pas-pasan tu kalo bahasa saya bilang ya
itulah akibatnya sloppy work, spec'ing/testing dibilang time
consuming yang dihitung masih dalam range hari ketimbang debugging
forever, koboi belagak hacker main tembak dor project anu dibilang
selesai, siap production, padahal buggy, boro-boro dokumentasi :-))
tau tau deploy (inipun bahasanya terlalu canggih,wong paling sftp apa
scp trus main restart server di ssh gitu doang kok)
glek bug lagi bug lagi, sementara koboi udah ngacir.
Kalau pakai rspec maka sambil menyelam sambil menambang mutiara,
sambil kita ngetes aplikasi berjalan sesuai harapan, sambil tulisan
yang buat ngetes itu jadi dokumentasi,
itulah gunanya kekuatan Ruby DSL (ya ya ya, yang biasa
makan ruby design pattern kalo bilang apa-apa DSL suck kecuali
bikinan sendiri, saya maklum).
Ini ngomong panjang mana kodingnya, refer ke rtfm user stories aja ya
sama presentasi2x rspec core guys, jadi inget kenangan manis sewaktu
di Kuala Lumpur demo tentang user stories dan rbehave ketika 2 minggu
setelah rilis tool tsb.
tapi terlepas dari semua idealisme XP (eXtreme Programming) diatas,
kepada rubyist/tukang koding jualah segala praktek berlaku, maksud saya
taruh kata suatu ketika Anda dan saya menjadi satu team bisa saja di
suatu halaman lain daripada yang lain saya akan bilang, no matter what
saya gak mau spec'ing itu halaman, sebab contoh itu cuma menampilkan
jadi tidak ada behaviour / kelakuan yang perlu dipertanyakan / diyakin-
kan harus pas berperilaku sesuai dengan yang diinginkan pig / product
owner (istilah kalau biasa dengan SCRUM / yg belum biasa gampang tinggal
sebut fuck you aja ke arie :p gw gak pedulikan jg biar baca sendiri aja
biar puas). kemudian penyebab kedua, juga tidak ada technical debt (
istilah barusan saya lagi kurang mood utk menjelaskan kalau ada yg belum
biasa). Tapi intinya ketidakpedulian saya dengan spec'ing suatu view (
baik itu berupa text, html, pdf, ajax, dst) harus beralasan, karena
sebetulnya Anda sih juga bisa bilang gak peduli, lantas saya jadi bisa
bilang juga, ah memang standar indonesia, ehm, karena tidak aneh kalau
syarat-syarat kerjaan yang biasa main internasional ya mintanya juga
selain refleks dengan autotest, rspec, user stories, juga termasuk
selenium, watir. # kabur... lagipula praktek BDD tu cuma satu dari
sekian praktek bagus-bagus yang lain, ah SDM hackerz memang the rulez,
contoh, ada business guys yang sukanya pake visualisasi gambar aja, jadi
gak ada bikin should should apa as e' when e' then o', atau mungkin ada
yg senior biasa pakai use case apa uml dulu..
--
http://ariekusumaatmaja.wordpress.com
Labels don't help you make your point. Be descriptive both for
correcting and for reinforcing feedback.