Тэгэхээр би сонгодог уу эсвэл дууриамал тестийн аргаар хөгжүүлэгч үү ?

Орчуулгыг бүтэн эхээр нь та wordpress-ээс болон   gitbook.com  -с  үзэх боломжтой.

Энэ асуултанд итгэлтэйгээр хариулахад хэцүү. Хувьдаа бол би үргэлж хуучинсаг барилтай сонгодог TDD-р хөгжүүлэгч, үүнийгээ өөрчлөх шалтгаануудыг одоо хүртэл олоогүй л байна. Би дууриамал TDD-р хөгжүүлэгчийн үнэнхүү давуу талыг олж харахгүй байгаа ба би тестээ гүйцэтгэлтэйгээ холбохоос гарах үр дагаварыг илүү анхаарч үздэг.

Энэ намайг дууриамал аргаар хөгжүүлэгчийг ажиглаж байхад гайхшруулдаг зүйлүүдийн нэг. Би тестээ бичиж байхдаа үйлдлээ (behavior) хэрхэн хийхээ биш, харин үр дүндээ анхаарч ажиллах дуртай. Дууриамал аргаар хөгжүүлэгч тэгэх байх гэсэн нөхцлүүд (expectations) -ээ бичихийн тулд хэрхэн SUT (System Under Test буюу Тестлэгдэж буй объект) -оо хэрхэн бичих тогтмол талаар бодож байдаг. Би үүнтэй ерөөсөө дасаж өгдөггүй.

Мөн би өөрөө дууриамал TDD-г тоглоомоос илүүтэй өөр зүйл дээр оролдож үзэхгүй байгаадаа зовж явдаг. Миний Тестээр Хөтлөгдөх Хөгжүүлэлт (Test Driven Development) аргаас сурсанчлан, бодит зүйл дээр оролдож үзэлгүйгээр аливаа аргыг (technique-г) шүүмжлэх нь хэцүү. Би дууриамал аргад үнэмшилтэй, түүндээ дуртай олон сайн хөгжүүлэгчдийг мэднэ. Хэдийгээр би өөрөө сонгодог аргад үнэмшилтэй боловч, би хоёр талын давуу, сул талуудыг таньд тунгаан бодох боломжтойгоор өөрийнхөө чадах чинээгээрээ шударгаар хэлж өгч чадна.

Тиймээс хэрэв дууриамал арга таны анхаарлыг татаж байвал би таньд оролдоод үзэхийг санал болгож байна. Ялангуяа хэрэв таньд дууриамал TDD-р сайжруулах боломжтой асуудлууд байгаа бол энэ нь илүү үр дүнтэй байх болов уу. Үүнд би хоёр зүйлийг дурьдаж болж байна. Эхнийх нь хэрэв тест ажиллахгүй (fail) болох болгонд та маш олон цагийг зарцуулдаг бөгөөд шалтгаан нь тест цэвэрхэн fail хийхгүй буюу ажиллахгүй болсон тест таньд хаана алдаа байгаа талаар нарийн хэлэхгүй байгаа бол. (Та үүнийн мөн сонгодог TDD аргаар илүү нарийн тодорхойлогдсон (fine grained) тестүүдийг бий болгож шийдэж болно.) Хоёр дахь нь хэрэв таны объектууд хангалттай үйлдлүүдийг агуулахгүй байгаа бол дууриамал тестийн арга хөгжүүлэгч багыг тань илүү үйлдлүүдээр баян объектуудыг үүсгэхэд тань туслах болно.

 

Нийтлэлийг бүтнээр нь мөн gitbook.com -с унших, татаж авах боломжтой. Холбоос https://www.gitbook.com/book/erheme318/mocks-aren-t-stubs

Нийтлэлийн эх сурвалж:
http://martinfowler.com/articles/mocksArentStubs.html#SoShouldIBeAClassicistOrAMockist

Advertisements

Хариулт үлдээх

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Өөрчлөх )

Twitter picture

You are commenting using your Twitter account. Log Out / Өөрчлөх )

Facebook photo

You are commenting using your Facebook account. Log Out / Өөрчлөх )

Google+ photo

You are commenting using your Google+ account. Log Out / Өөрчлөх )

Connecting to %s