Otomatik Mühendis

Test Attribute ve Annotation'ları

Çeşitli test frameworklerinde sıklıkla kullanılan Attribute ve Annotation'lar

Aşağıdaki tabloda NUnit, MSTest, xUnit.net ve JUnit test frameworklerinde sıklıkla kullandığımız Attribute ve Annotation’ları açıklamarıyla birlikte görebilirsiniz.

JUnit için en iyi örnekleri Guru99 sitesinde bulabilirsiniz.

NUnit MSTest xUnit.net JUnit Açıklama
[TestFixture] [TestClass] - - Class’ın test içerdiğini belirtir.
[Test] [TestMethod] [Fact] @Test Method’un test case’i olduğunu belirtir.
[OneTimeSetUp] [ClassInitialize] IClassFixture @BeforeClass Testler başlamadan önce tek sefer çalışacak method.
[OneTimeTearDown] [ClassCleanup] IClassFixture @AfterClass Testler tamamlandıktan sonra tek sefer çalışacak method.
[SetUp] [TestInitialize] Constructor @Before Her testten önce çalışacak methoddur.
[TearDown] [TestCleanup] IDisposable.Dispose @After Her test tamamlandıktan sonra çalışacak methoddur.
[Ignore] [Ignore] [Fact(Skip=”reason”)] @Ignore Test case olmasına rağmen çalıştırılmasını istemediğimiz methodları bununla işaretleyebiliriz.
[Category(“”)] [TestCategory(“”)] [Trait(“Category”, “”)] @Category(*.class) Testleri kategoriler halinde sınıflandırmamızı sağlar.
Okumaya devam »


JUnit ve Selenium WebDriver ile Fonksiyonel Test

Basit bir CRUD (Create, Read, Update, Delete) işlemi için JUnit ve Selenium WebDriver kullanarak fonksiyonel test nasıl yazılır?

Fonksiyonel test; sistem içerisindeki bir fonksiyonun doğru şekilde çalışıp çalışmadığını kontrol etmektir. Diğer test türleri arasında en geniş kapsamlı olandır. Kullanıcının hareketleri test ortamında oluşturulur.

Fonksiyonel testin en büyük dezavantajı, değişen arayüzlerle birlikte değişmesi gerekliliğidir. Bu maliyetin daha düşük olabilmesi için değişkenleri POM (Page Object Model) nesneleri içerisinde toplarız. Sayfa tasarımları değiştikçe bu nesneler üzerinde değişiklik yapmak test case’ler üzerinde değişiklik yapmaktan daha kolay olacaktır.

functionalTestingEdit.png

Yukarıda gördüğünüz şekilde (sayfa elementleri kırmızı ile ifade edilmiştir, farklı ifadeler için farklı erişim yöntemleri uygulanacaktır) bir düzenleme sayfası için aşağıdaki model oluşturulabilir.

Okumaya devam »


Visual Studio'da Verimliliği Arttıracak Eklentiler

Visual Studio İpucları

Visual Studio’yu daha verimli nasıl kullanabiliriz sorusunu, bu yazıyla birlikte cevaplamaya devam ediyoruz. Daha önce Visual Studio Başlığında Branch’in Gösterilmesi yazısıyla girdiğimiz eklentiler dünyasının bu sefer derinliklerine ineceğiniz.

Olmazsa Olmazlar

  • Web Essentials Adeta Visual Studio’yu geliştiren Microsoft çalışanlarının arka bahçesi diyebiliriz. Visual Studio üzerinde yapacakları geliştirmeleri bu eklenti içerisinde kullanıma sunarak kullanıcı yorumlarını değerlendiriyorlar. Buradan indirebilirsiniz.
Okumaya devam »


ASP.NET MVC'de View'ların Derlenmesi

Visual Studio İpucları

ASP.NET MVC‘de uygulamanın ayağa kalkmasını hızlandırmak için View’lar çalışma zamanında derlenir. Bu sebeple projeyi derlediğimiz sırada View’lar içerisinde hata varsa fark edemeyiz. Bunun önüne geçmek için projede küçük bir değişiklik yapmalıyız.

Visual Studio seçeneklerinde olmayan bu özelliği değiştirebilmek için öncellikle ilgili projeyi, .csproj dosyası üzerinde Unload Project seçeneği ile kaldırmalıyız. Daha sonra Edit ...csproj seçeneği ile proje dosyasını düzenleyebiliriz. Açılan XML yapısında ilk PropertyGroup elementi içerisinde MvcBuildViews etiketinin false olarak ayarlandığını görebilirsiniz.

Bu değeri true olarak değiştirip kaydeder ve projeyi Reload Project seçeneği ile tekrar yüklersek. Artık projeyi derlediğimiz sırada View hatalarını da Error List penceresinde (aşağıdaki örnekte olduğu gibi) görebiliriz.

Okumaya devam »


Takım Aranıyor

İş İlanı

Sanal ödeme noktası üreticisi Stripe, geçtiğimiz ayın sonlarında blogu üzerinden yeni bir pozisyonun tanıtımını yaptı. Kısaca BYOT olarak tanımlanan bu pozisyonun açılımı her şeyi açıklıyor; Bring Your Own Team (Kendi Takımını Getir).

Yatırımcılar, tek başına çalışanlardansa takım olarak çalışanlara daha fazla destek vermektedir. Bunun sebebi tanıdığımız, çalışmasını bildiğimiz ve güvendiğimiz insanlarla çalışarak çıkardığımız işlerin daha başarılı ve kaliteli olmasıdır. Stripe firması bunu fark etmiş ve takımların (2 ile 5 kişi arasında olmalı) başvurabildiği, takım olarak değerlendirildikleri, birlikte sınava sokuldukları hatta teklif zamanı geldiğinde takımın tüm üyelerine ve aynı anda teklif yapacakları bir pozisyon oluşturmuşlar.

Okumaya devam »