16 Eylül 2017

Silk Test Framework ile Yazılım Test Otomasyon Mimarisi Kurmak

Silk Test Framework ile Yazılım Test Otomasyonu Mimarisi Kurmak

Yazılım Test Otomasyonu son yılların popüler konularından biri olup piyasada hem ücretsiz Open Source, hemde ücretli ama Trial versiyonu olan birçok Framework mimarisini kendi lokal bilgisayarınıza kurarak ürünlerinizin testlerini otomatik hale getirebilirsiniz. Bu yazıyı yazma sebeplerimden biride Yazılım Test Otomasyonu konusuna meraklı kişilerin kişisel bilgisayarlarında tek başlarına bu işe nasıl başlayacağını anlatmak ve otomasyon mantığını anlatmaktır.

Ücretsiz Framework'lerden en bilineni Selenium olup daha çok Web Browser tabanlı ürünler için ücretsiz bir yazılım otomasyonudur. Mobil içinse ücretsiz ama oldukça bilinen Framework ise Appium: Mobile App Automation'dur.

Hem Desktop hemde Web Browser alt yapısını destekleyen bir araç isterseniz lisanslı ürünler daha çok karşınıza çıkacaktır; Silk Test Framework, SmartBear TestComplete, HP QuickTest Professional, Ranorex gibi ürünleri örnek verebiliriz.

Temelde hepsi benzer işleri yapsa da lisanslı ürünlerin teknolojileri hem daha gelişmiş oluyor hemde mimari kurulum sırasında yazılım Support desteği alabiliyorsunuz. Oysa ki Open Source'ların temel problemi karşınızda bir muhatabın olmaması ve destek alamamanızdır. Tüm sorumlu son kullanıcı dadır, bu yüzde kurumsal yerlerce çok tercih edilmez açık kaynak bir mimari. Makalede Micro Focus firmasının yazılım test otomasyon ürünü olan Silk Test Framework'ün Trial (ücretsiz deneme) sürümünü kendi lokal bilgisayarınıza nasıl yükleneceğinizi anlatacağım.

İlk olarak Try Silk Test free for 45 days: www.microfocus.com/products/silk-portfolio/silk-test/trial/ sitesinden 45 günlük deneme sürümünü indireceğiz. Formu doldurup Download here kısmına basmanız yeterlidir. Mail adresinize Silk Test yükleme adresi gönderilecektir. Link de son sürüm olan Silk Test 18.0 - Software Product sekmesine tıklayarak programı bilgisayarınıza indirin. Ortalama 1 GB dosya boyutuna sahiptir. 45 gün bitince programı silip başka bir mail adresi ile yine lokal bilgisayarınıza baştan kurulum yapabilir ve yeniden bir 45 günlük lisans ile çalışmalarınıza devam edebilirsiniz.

Silk Test Framework ile Yazılım Test Otomasyonu Mimarisi Kurmak

Kuruluma geçmeden önce bilgisayarınızda mutlaka Visual Studio 2015 yüklü olmalıdır. İnternet üzerinden Microsoft Visual Studio Enterprise 2015 yazarak son sürümü ve lisansını indirip kurabilirsiniz.

İndirmiş olduğunuz Silk Test yükleme dosyasını çalıştırınız. Yükleme başlayacaktır, Next diyerek yönergeleri ilerletiniz. Yükleme seçeneklerinde Complete diyerek hepsini seçiniz. Silk Test Workbench, Silk4NET, TrueLog gibi tüm bileşenleri kurmuş olursunuz.



Yükleme kısmı yukarıdaki gibi kalabilir, Program Files içine Silk dizini olarak kurmanızı tavsiye ederim. Default şekli budur.



Silk Test Framework ile yazılım mimarisini oluştururken ister Visual C# ile yazıp Silk4NET'i kullanabilirsiniz. İsterseniz bilgisayarınıza Eclipse IDE yükleyip JAVA programlama dili ile de Silk4J kullanarak yazabilirsiniz. Ben Microsoft Visual C# .NET ile yazdığım için makaleyi Silk4NET üzerinden anlatacağım. Yukarıdaki yönergeyi Manually olarak seçip Next diyerek devam ediniz.


Lokal bilgisayarda Visual Studio 2015 olduğu için otomatik algıladı, Silk4NET kurulumu için ilk seçeneği seçip Next diyerek devam ediyoruz. Ek olarak şunu eklemem gerek, Şuan için Visual Studio 2017 desteklenmiyor çünkü 2013 ve 2015 için Silk4NET DLL desteği vardır. Bu yüzden 2017'de Silk4NET entegre olmayacaktır.


macOS cihaz kullanmadığım için bu kısmı işaretlemeden Next diyerek devam ediyorum. Fakat Silk Test Framework altyapısı Apple macOS sistemleri de destekliyor, bunu da ek bilgi olarak verebilirim.


Tüm yükleme ayarları bittikten sonra Install diyerek kuruluma başlayabilirsiniz. Kurulum bittiğinde aşağıdaki gibi Recommended'dan devam ediniz ve lisansı Evaluation olarak seçip 45 gün geçerli olan lisansı aktif ediniz.




Kurulum ve lisans işlemleri bitince Done diyerek bilgisayarınızı yeniden başlatınız. Silk Test Framework bilgisayarınıza artık kurulmuştur. Bilgisayar yeniden başlatıldıktan sonra Masa üstündeki Silk Test kısa yoluna tıklayıp Silk4NET sekmesinden Visual Studio'yu açabilirsiniz ve Silk Test Open Agent'ı aktif edebilirsiniz.



Visual Studio'yu açınca Silk4NET Start Page sayfasını ve yukarıdaki sekmeler de Silk4NET'i görüyorsanız entegrasyon doğru yapılmış demektir.


İlk Projeyi (Solution) oluşturmak için Silk4NET sekmesinden New Project diyerek oluşturabilirsiniz. Yeni bir Solution oluştururken Solution Name ile Name adını farklı yazınız. Çünkü ilerleyen zamanlar da aynı Solution içerisine başka katmanlar oluşturacağınız için stabilize açısından daha düzgün çalışır ve mimari karmaşıklık yaratmaz.


Otomasyon adında bir proje oluşturduk. Temel mantığı anlatmak gerekirse; Otomasyon yazacağınız alt yapının (Web Browser, Desktop veya Mobil) mimari ile tanıtımını yapabilmek için Hardware veya Driver Layer denilen katmanı yazarak alt yapı ile otomasyon Framework yapısı arasındaki bağlantıyı kurarsınız. Framework'de kullanacağınız tüm metotlar ve Framework'ün gelişimi ve kalitesi bu katmanda belli olur.

Orta katman dediğimiz Keywords katmanında ise temel mantık Driver Layer kısmındaki Framework metotlarını Locator, XPath veya Kelime güdümlü şeklinde sadeleştirilmiş Locator ile ön yüzdeki Test mühendisinin nasıl bu metotları kullanması gerektiğini bu katmanda oluşturursunuz. Siz Test mühendisine sadece Full Locator kullandırarak da Unit Test yazdırabilirsiniz ya da programın ön yüzünde görünen ve kod bilgisi istemeyen Text(Kelime, Metin) elementlerini kullanarak da Unit testler yazdırabilirsiniz. Bunların karar verileceği ve kodlama yapılacağı katman Implementation Layer yani otomasyonun orta katmanıdır.


Son kullanıcı yani Test mühendisinin kullanacağı ve testleri yazacağı katman ise ön yüz katmanıdır. Burada test mühendisi kod ile çok müdahil olmaz. Testlerini Unit Test Class'ın da veya Silk'in Keyword Driven Test özelliği ile Script'lerini yazıp otomasyon testlerini çalıştırabilir. Test mühendisi testlerini yazarken en fazla teknik olarak Locator, XPath bilgisine ulaşmada zorluk çekebilir. Çünkü bazı testlerde HTML tagları olan (id, Text, caption gibi) bilgilere ihtiyaç duyulabilir. Bunun içinde Silk Test Workbench aracını kullanarak testlerini daha rahat yazabilir.

Temel olarak Yazılım Test Otomasyon mantığını anlatmaya çalıştım. Yazılım Test Otomasyon Framework'lerinin bir çoğu bu mantıkla çalışır. Yazılım Test Otomasyon da teknik olarak daha çok ilerlemek istiyorsanız Test Automation Robot Framework (robotframework.org) ve Cross Browser Testing Tool konularını araştırabilirsiniz.

Silk Test Framework ile Yazılım Test Otomasyon Mimarisi Kurmak

Yazdığım mimarinin örnek iskeleti aşağıdaki gibidir, sizde bu şekilde mimarinin temelini oluşturarak yazılım test otomasyon alt yapısı yazabilirsiniz.

Silk Test Framework ile Yazılım Test Otomasyon Mimarisi Kurmak

Burak AVCI