Bir web sitesini test etmek
Bir web siteniz/uygulamanız var veya bir web hizmeti alıyorsanız, sitenizin düzgün çalıştığını kontrol etmek için harcadığınız vakit giderek artıyorsa şimdi tanıtacağım ücretsiz PureTest programı işinize çok yarayacak. PureTest web uygulamalarının hızla test edilebilmesi için java ile geliştirilmiş bir test aracıdır, yazılım geliştiriciler bu tip otomatik test yöntemlerini zaten kullanmaktadırlar. Sektörde, kullanılan dile, platforma göre oluşturulmuş ücretli,ücretsiz veya açık kaynak kodlu onlarca test aracına rastlamak mümkündür. Geçtiğimiz aylarda işim gereği birçoğunu deneme fırsatı buldum. Bunlardan bir tanesi oldukça ilgimi çekti çünkü profesyonel ya da amatör bir web sitesi/uygulaması olan herkesin işine yarayabilecek türde ücretsiz bir program ve kullanımı için herhangi bir teknik bilgiye ihtiyaç duyulmamakta.PureTest, MINQ Software firmasının PureLoad adında ticari bir yük test programının parçası ancak firma PureTest'in ücretsiz kullanımına izin vermiş. Programın iki temel yeteneği bulunuyor:
- Web sitenizde gezinirken yaptığınız tüm hareketleri kaydetme ve istediğiniz zaman bu hareketleri otomatik tekrarlama (Http recorder/player).
- Web sitenizde bulunan linkleri tespit edip bu linklerin düzgün çalışıp çalışmadığını kontrol etme (Web crawler).
Http Recorder:
- Programı çalıştırıp menüden Tools->Http Recorder.. seçeneğini tıklayıp aşağıda görülen kayıt edici ekranına geçiyoruz.
- Bu ekranda görünen proxy ayarlarını web tarayıcımızda tanımlıyoruz.
- Tarayıcımızda zaten bir proxy tanımlaması varsa bu bilgiyi de kayıt edici programda proxy host ve proxy port alanlarına giriyoruz.
- Araç çubuğunda Start düğmesine basıyoruz.
- Web tarayıcımızı açıp belli bir senaryo çerçevesinde test etmek istediğimiz sayfaları ziyaret ediyoruz, senaryomuz bitince kayıt edici programda Stop düğmesine basıyoruz. Her farklı senaryo için bu Start/Stop işlemini tekrar ediyoruz.
- Senaryo (Scenarios) sekmesine geçip her oluşturduğumuz senaryoyu bir HttpSession başlığı altında tasklardan oluşan bir ağaç yapısında görebiliyoruz. Program bu noktada bazı gelişmiş olanaklar da sunuyor, tüm gezintimiz boyunca alt alta task olarak görünen HTTP talepleri üzerinde değişiklikler yapmaya, kes - kopyala - yapıştır operasyonlarına izin verebiliyor.
- Save düğmesine basarak senaryolarımızı .plc uzantılı bir xml dosyaya kayıt edebiliyoruz.
Oldukça basit ve hızlı bir şekilde test senaryolarımızı oluşturabildik. Bundan sonra istediğimiz bir anda bu xml dosyayı PureTest programına yükleyip çalıştırabilir ve sonuçlarını izleyebiliriz.- Bunun için programda ana ekrana geri dönüyoruz.
- Menüden File->Open diyerek .plc uzantılı xml dosyamızı seçiyoruz.
- Sonra sırayla "Toggle enable/disabel debug mode" , "Start the debugger" , "Step through all succedding tasks" düğmelerine tıklayarak testinizi başlatabiliyorsunuz.
WEB Crawler:
- PureTest Programında menüden Tools->Web Crawler seçeneğine giriyoruz.
- Starting URL bölümüne inceleyeceğimiz web adresini giriyoruz.
- Depth bölümüne yapılacak kontrol işleminin sayfa derinliğini vererek kısıtlayabiliyorsunuz.
- Start the crawler düğmesine basarak işlemi başlatıyorsunuz.
- İşlem bittikten sonra Statistics ve View sekmelerinden web sitesi içeriği ile ilgili birçok bilgiye ve hata alan linklere erişebiliyorsunuz.
Yazının bundan sonraki bölümünde programın bu temel yeteneklerin dışında teknik kişilere yönelik özelliklerinden bahsedeceğim. Http Recorder ile oluşturulan testleri Ant ile çalıştırabiliyorsunuz. Böylece Ant kullanarak derleme ve deployment yapıyorsanız bu sürecin peşinden önceden belirlediğiniz test senaryolarının da çalıştırılmasını sağlayabiliyorsunuz. Ant kullanımının bir başka avantajı ise test senaryolarınızı periyodik olarak çalıştırabilecek araçlarla entegrasyonununu gerçekleştirebilmek olacaktır.Oluşturduğunuz test senaryolarını incelediğinizde HttpGet ve HttpPost tasklarında oluşan bir ağaç yapısı göreceksiniz. Kayıt sonrasında oluşan bu taskların isimlerini ve web sayfasında girmiş olduğunuz parametreleri değiştirebiliyorsunuz. Bu konuda gelişmiş bir takım ilginç olanaklar da sunuyor, daha önceden hazırladığınız bir parametre listesinden veya parametre dosyasından rastgele değerler alıp testlerde kullanmasını sağlayabiliyorsunuz. Bu tip parametreleri tanımlayabildiğiniz basit bir arayüz de sunuyor. Burada sırayla artan, sabit veya tarih tipinde parametre kaynakları tanımlanabiliyor.
Kaydetme yöntemiyle elde edilen testleriniz HttpGet ve HttpPost tasklarından oluşuyor ama program geniş bir task havuzu sunuyor, bu havuzu kullanarak elle yeni adımlar oluşturabiliyorsunuz. Task havuzunda dikkatimi çeken bazı taskları aşağıda listeledim:
- Bekleme taskı. Bazen kullanıcı düşünme sürelerini de gerçeklemek gerekebilir.
- Script taskı. Bu task sayesinde herhangi bir adımda çalışmak üzere java program bloğu yazabiliyorsunuz.
- Command taskı. Bu task ile işletim sistemi seviyesinde komutlar çalıştırabiliyorsunuz.
- Jdbc taskı. Bu task ile bir veritabanına erişip, veritabanı operasyonları yapabiliyorsunuz.
- Ftp taskı. Bu task ile bir ftp servera bağlanıp dosya gönderme alma işlemi yapabiliyorsunuz.
- Telnet taskı. Bu task ile bir sunucuya erişip sunucuda komut çalıştırabiliyorsunuz.
- Mail taskı. Bu task ile email alıp gönderebiliyorsunuz.
Havuzda yer alan hazır tasklar yeterli kalmadığında java ile kendi tasklarınızı yazıp bu geniş task havuzuna ekleyebiliyorsunuz.
Bu faydalı aracı sunan firmanın web adresi:http://www.minq.se/PureTest programını indirmek ve daha fazla ilgi almak için:http://www.minq.se/products/puretest/
Kurulum, dökümantasyon ve örnekler de içeriyor.
Etiketler: Internet, java, web