Date Image 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.

 Mock Testing Concept

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. 
 

Unit Testing Concepts And Implementation

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.
 

 

Referanlar :

http://msdn.microsoft.com/en-us/magazine/cc163904.aspx

http://ayende.com/projects/rhino-mocks.aspx

Etiketler :