15 Ekim 2017

Silk Test Otomasyon'da Yeni Proje, Framework Yapısı, Keyword Driven Test ve Unit Test Oluşturmak


Silk Test Yazılım Otomasyon geliştirme sürecinde bu hafta sizlerle KDT olarak da bilinen Keyword Driven Test ile Unit Test nasıl oluşturulur ve kullanılır detaylı bir şekilde anlatmaya çalışacağım. İlk olarak Visual Studio'da bir Silk4NET projesi oluşturarak konuya başlayalım.

Visual Studio’yu açınca üstteki Silk4NET sekmesi otomatik gelecektir. Buradan New Project diyerek yeni proje oluşturabilirsiniz. Bir otomasyon Framework alt yapısı oluşturmak istiyorsanız tüm projeyi aşağıdaki gibi oluşturabilirsiniz.

Name kısmına TestAutomationFramework yazdım. Bu Solution içindeki Framework katmanının olacağı Project'dir. Location kısmı ise dosyanın lokal de tutulacağı yerdir. Bunu da aşağıdaki gibi yapabilirsiniz. Solution Name kısmına ise Solution yani ana projemin adını yazıyorum. Ona da SilkTestAutomation adını verdim. Burada yapılan genel yanlış Name ile Solution'a aynı isim verilmesidir. Biz Name kısmını oluşturduktan sonra Solution kısmına sağ tıklayıp yeni Silk Project'ler ekleyerek otomasyon koşacağımız ürünleri ekleyeceğiz ve bunların temel katmanlarının bulunduğu metotları TestAutomationFramework Project'den çekeceğiz.



Yeni Proje ve Framework Yapısını bu şekilde oluşturarak yazılım test otomasyonuna başlayabilirsiniz. Aşağıdaki resimde üzerinde çalıştığım örnek bir Framework yapısı vardır. Test oluşturma işlemlerini resim üzerinden anlatacağım.


İlk olarak Test oluşturmak istediğiniz projenin üzerine gelip sağ tıklayınız ve Add kısmından New Keyword Driven Test diyerek .KDT uzantılı dosyamızı (Create an Empty Keyword Driven Test) diyerek oluştururuz.

Yazdığınız Keyword'leri buraya ekleyerek test steplerinizi ve tüm test senaryonuzu oluşturabilirsiniz. KDT kısmı genelde son kullanıcı olan analist ve tester'ın kullandığı alandır. Bu alan ne kadar çok okunabilir ve karmaşık olmazsa son kullanıcı için o kadar basit ve anlaşılır olur.

Yine aynı şekilde Add diyerek Unit Test(Basic Unit Test) oluşturarak yazdığınız metotları lokal de test edebilirsiniz. Test Otomasyon Developer'lar test amaçlı en çok bu yöntemi kullanmaktadır. Siz bir metot yazdıktan sonra lokalde Unit Test yazarak kontrol işlemlerinizi yaparsınız.


Yukarıda WebTest adında bir Unit Test Class'ı oluşturdum. Bu sınıfa WebKeywords sınıfını Interface ederek oradaki metotların kullanımını sağladım. Bu sayede 1. penceredeki gibi Unit testlerimi yazabilirim. Eğer Interface işlemini yapmasaydık 2. ve 3. pencerelerdeki gibi Unit testimizi yazacaktık.

Test yazma işlemi bittikten sonra Projeyi Build ediniz. Test Explorer kısmına gelerek WebTesting olarak adını verdiğim testi görebilirsiniz. Debug veya Run etmek istediğiniz testi sağ tıklayıp lokal ortamda koşturarak kodunuzu otomasyon ortamında test edebilirsiniz.

Silk4NET'deki diğer sekmelerden de bahsedecek olursak;

Edit Application Configurations: Bu kısımda çalışacağınız Windows, Mobile veya Web Browser ortamını seçerek otomatik konfigürasyon dosyalarınızı oluşturursunuz.

Silk Central Connection: Bu kısımda URL'e Silk Server sitesini (Kodları atacağınız sunucu adresi) ile sunucuya bağlandığınız Username ve Password bilgisini yazarak Silk Test ile Silk Central arasındaki bağlantıyı sağlarsınız. Bu sayede kodunuzu Deploy edebilirsiniz.

Upload Keyword Library to Silk Central: Burası Deploy kısmıdır. Solution Explorer'dan Proje veya Solution'ı seçtikten sonra Upload ederek dosyaları SILK Server'a yüklemiş olursunuz. Seçtiğiniz Proje(Project) Deploy olur komple Solution Deploy olmaz. Bu yüzden değişiklik yaptığınız projeyi seçip Deploy yapınız.

Burak AVCI