Sunday, March 21, 2010 | Kategoriler |
Ado.Net,
Asp.Net,
C#,
Html,
Css,
Javascript,
Linq,
Xml,
Genel,
WCF,
Web Service,
GDI+,
Sql,
Ajax,
MVC,
Entity Framework,
Silverlight,
Tümü
Units Of Work Kavramı - Giriş
Yazılım sürecinde oluşturulan sistemin kalite kontrolü unit testleri ile yapılır.
Unit genellikle bir sınıftır,test ortamında oluşturulup o nesnenin çeşitli metodlarını çağırılarak, çeşitli alanlarını değiştirerek, kısacası üzerinde işlem yaptıktan sonra ortaya çıkan sonuçların beklendiği gibi gerçekleşip gerçekleşmediğinin sınandığı bir test çeşididir.

Testleri orjinal data üzerinde yapmak istenmez. Çünkü teslerde yeni datalar eklenebilir, silinebilir yada güncellenebilir. Orjinal datalar üzerinde bu işlemlerin yapıldığını düşünürsek hem veri kaybına uğrayabiliriz hem de veritabanı büyüklüğüne göre veri erişim hızının düşmesinden kaynaklanan zaman kaybı yaşayabiliriz.
Bunların dışında test edemeyeceğimiz ortamlara yönelik de bir proje yapıyor olabiliriz, örneğin network üzerinden mesajlaşma sistemi yazacağımızı düşünürsek, test için bir arkadaşımızdan rica ederek bize cevap yazmasını isteyemeyiz :)
Testler için Single Responsibility ve Dependency Injection paternleri kullanımak zorundadır.

Test kodlarımızı bu paternlerle iyileştirdikten sonra , test için kullanılabilecek tekniklerden biri ile (Stubs, Mock Objects) testi gerçekleştirmek gerekiyor.
Mock dataları el ile yazabileceğimiz gibi .Net Framework için yazılmış bir kütüphane olan Rhino Mocks kütüphanesi de kullanılabilir.
Sonuç olarak; test etmek için kullanmak zorunda olduğumuz patternleri projemize uygulayarak veritabanı,network gibi ortamlardan bağımsız çalışmasını sağlamış oluyoruz. Bu da bize test için gerekli ortamı sağlıyor.
http://msdn.microsoft.com/en-us/magazine/cc163904.aspx
http://ayende.com/projects/rhino-mocks.aspx
