Makale Özeti

Visual Studio .NET İle Entegre Kullanımı...

Makale

APPLICATION TEST CENTER – 5

Visual Studio.Net İçinden ACT Projeleri Oluşturma
Visual Studio.Net IDE’si sayesinde yeni bir Application Test Center(ACT) projesi oluşturabiliriz. Gerekli adımlar;
Visual Studio.Net’deki File menüsünden New ? Project seçilir. Other Projects klasörü altında, Application Center Test Projects seçilir. Ardından ACT Project seçilir. Projenin adını ve yolunu verir. Projeyi var olan Visual Studio.net Projenize ekleyin. Add solution opsiyonunu işaretlediğiniz zaman var olan projenize test projenizide eklemiş olursunuz. Bir Visual Studio.Net projesi sadece bir ACT projesi içerir.
Visual Studio.Net içerisinde oluşturulan .act projesi ACT programı ile açılabilir. Varsayılan olarak proje Visual Studio .NET ile “\My Documents\Visual Studio Projects” altında oluşturulur.

Visual Studio.Net içinden ACT Proje Özelliklerinin Tanımlanması
ACT projeleri, Visual Studio .NET IDE’si ile özellikleri tanımlanabilir.
ACT projesi Visual Studio .NET ile açılır, proje adı Solution Explorer’de seçilir. Properties penceresinde proje ayarları görünür ve var olan değerleri buradan değiştirilebilir.
Değiştirilebilecek proje özellikleri;
• (Name): Proje dosyasının lokasyonunu gösterir. Bu değer sadece okunabilir.
• ProjectPath: Proje dosyasının lokasyonunu gösterir. Bu değer sadece okunabilidir. Bu lokasyon bilgisi sadece ACT Projesi oluşturulduğunda verilebilir.
• Proxy Server Address: Proxy sunucusunun adı verilir. Bu bilgi, web sunucusu proxy kullanıyorsa istek gönderildiğinde gereklidir.
• Proxy Server Port: Proxy sunucusunun kullandığı port numarası belirtilir.
İleri düzeydeki proje özellikleri sadece proje ACT programından açıldığında görünür.

Visual Studio.Net İçinden ACT Testleri Oluşturulması
Visual Studio .NET içinden yeni ACT testi oluşturulabilir.
ACT projesi Visual Studio .NET içinden açılır, proje adı üzerindeykensağ tuş Add New Item seçilir. Burada iki seçenek ile karşılaşırız. Test(.js) veya Test(.vbs) seçeneklerinden istediğimizi seçtikten sonra boş bir dinamik test oluşturulur. Testin kaynak kodu manuel olarak eklenmek zorundadır. Eğer MSInternet Explorer tarayıcı kodunu kaydedeceksek Browser Recorded Test(.vbs)’i seçmek gerekir. Tamamlandığı zaman, kaydedilmiş tarayıcı testi otomatik olarak VBScript dinamik testi için kod oluşturur. Test adı verilir ve Open butonuna basılınca test oluşturulur. Tarayıcı test kaydı için kaydedilme prosedürü başlayacaktır.

Tarayıcı Aktivitelerini Visual Studio .NET içinde Kaydetme
Visual Studio .NET içinden tarayıcı aktivitelerini kaydetme şansımız vardır. Bubun için; Visual Studio .NET içindeki proje adı üzerinde sağ tuş Add New Item seçilir. Browser Recorded Test(.vbs) seçeneği işaretlenir. Sonucunda test dosyası yaratılır. Browser Record penceresinden start tıklanır ve MSInternet Explorer işleme başlar. Test sırasında, URL Internet Explorer’ın Address kutusuna girilebilir. Sayfa üzerindeki link’ler takip edilebilir ve formlar doldurulup gönderilebilir. Request details kutusu kaydedilmiş istek bilgilerini gösterir. Kayıt bittiği zaman Stop ve OK butonuna basmak yeterlidir. Daha kompleks dinamik testler için oluşturulan kaynak kodu isteğinize göre güncelliğebilirsiniz.

Visual Studio .NET içinden Test Özelliklerinin Verilmesi
ACT projelerinin test dosyalarının özelliklerini Visual Studio .NET içinden verebiliriz. Visual Studio .NET içinde test dosyası üzerinde iken Properties penceresinde güncelliğebileceğimiz özellikleri görebilirsiniz. Güncelliğebileceğimiz bu özellikler:
• Connection: test sırasında simule edilecek test bağlantı sayısı verebilir.
• (Namr): Test adını gösterir. Sadece okunabilir değerdir.
• FilePath: test script dosyası yolunu belirtir sadece okunabilir.
• FileType: Test dosyasının dosya tipinigösterir. Sadece okunabilir.
• ModifiedDate: testin son değişim zamanını gösterir. Sadece okunabilir.
• ReadOnly: Test dosyasının özelliğini sadece okunabilir yapabiliriz.
• Size: byte tipinden test dosyasının büyüklüğünü gösterir. Sadece okunabilir.
İleri seviyede özelliklerini değiştirebilmek için test dosyasını ACT programından açmak gerekir.

Visual Studio.NET İçinden ACT Test Sonuçlarının Görünmesi
Output penceresi, test çalışmasının sonuç bilgilerini gösterilmesi içindir. Hata mesajlarını, test çalışırken testin statüsünü ve test bittiğinde test sonuçlarını içerir. Web uygulamalarının analizi ve performansı için genel bilgi sağlar. İçerdiği bazı bilgiler;
Saniyedeki istekler (Requests per Second): ACT tarafından gönderilen HTTP isteklerinde sunucunun verdiği cevapların oranlarını gösterir.
HTTP Hataları (HTTP errors): Gelen cevap kodları arasında 400-499 ve 500-599 arasında olası hata kodlarını gösterir. Bu hataların sebebi birçok neden olabilir. Uygulamadan veya gönderilen isteklerden kaynaklanıyor olabilir. Gönderilen hata kodlarının yerlerini tespit edip gerekli düzenlemeleri yapmak gerekmektedir.
DNS Hataları (DNS errors): Sunucunun adresinden kaynaklanan hataları gösterir. Bu hatanın sebebi, geçersiz sunucu adı veya network konfigürasyon problemleri olabilir.
Ayrıntılı rapor sonuçları için proje ve rapor ACT içerisinden açılmalıdır.

Dinamik Test Bilgileri
Dinamik testlerde en çok kullanılan örnekleri göreceğiz.
Test.SendRequest Metodu İle İstek Gönderimi
Aşağıda gördüğünüz örnek dinamik testin SendRequest metodunu kullanıyor. Bu şekilde sunucuya istek göndermek gerçektende çok kolaydır. Çünkü bir çağrı içinde isteği oluşturur ve gönderir.
Web sunucusunun bağlantısı otomik olarak açılır.
Bağlatntı hataları veya geçersiz istekler, SendRequest metodundan geriye null obje değerinin dönmesine neden olacaktır. Response objesinin özelliklerini kullanmadan önce hatalar için kontrol etmeniz faydalı olacaktır.
Sub IstekGonderimOrnegi
   Dim oResponse
   Set oResponse = Test.SendRequest("http://localhost/default.asp")
   Hatalı bağlantılar veya istekler kontrol ediliyor.
   If (oResponse Is Nothing) Then
      Test.Trace("Hatalı istek veya bağlantı")
   Else
      Response işlemi başlıyor
      If oResponse.ResultCode <> "200" Then
         Call Test.Trace("İstek zamanı: " & CStr(oResponse.TTFB))
      End If
   End If
End Sub

Connection.Send Metodu İle İstek Gönderimi
Bu örnek kompleks istek gönderimlerinin açıklamasını yapmaktadır. Bu metot kullanılarak gönderilen istekler, geliştirmecilere ek kontroller ve HTTP isteklerinin detaylarını verir. Fakat bu işleri gerçekleştirmek için daha fazla kod yazmamız gerekmektedir. Birden fazla istek gönderilmesi gerektiği zaman tek bağlantı objesi daha hızlıdır. Bağlantı hataları, CreateConnection metodundan geçersiz obje dönmesine neden olacaktır. CreateConnection objesini kullanmadan önce oluşabilecek hatalrı kontrol etmeniz önerilir. Test.SendRequest metodu ile geçersiz istekler, Connection.Send metodunun boş obje göndermesine neden olacaktır. Kullanmadan obje Response objesinin boş (Null) olup – olmadığını kontrol etmek yararlı olacaktır.
Sub GonderimOrnegi
   Dim oConnection, oRequest, oResponse, strServer
   strServer = "localhost"
   ‘Web sunucusunda yeni bağlantı açılıyor.
   Set oConnection = Test.CreateConnection(strServer, 80, False)
   bağlantı hataları için kontrol
   If (oConnection Is Nothing) Then
      Test.Trace("Geçersiz bağlantı oluşturulması.")
   Else
      Yeni istek oluşturuluyor
      Set oRequest = Test.CreateRequest
      Request özellikleri veriliyor
      oRequest.Verb = "GET"
      oRequest.Path = "/"
      Varsayılan başlık alanlarının hepsi siliniyor.
      oRequest.Headers.RemoveAll
      yeni başlık alanları atanıyor
      Call oRequest.Headers.Add("Host", strServer)
      Call oRequest.Headers.Add("Connection", "Keep-Alive")
      Call oRequest.Headers.Add("User-Agent", "ACT")
      İstek gönderiliyor
      Set oResponse = oConnection.Send(oRequest)
      Yanlış bağlantı veya istek için kontrol
      If (oResponse Is Nothing) Then
         Test.Trace("Geçersiz istek veya sunucu")
      Else
         Call Test.Trace("İstek statü kodu: " & oResponse.ResultCode)
         Call Test.Trace("İstek zamanı " & oResponse.TTFB)
      End If
   HTTP bağlantıları kapatılıyor
   oConnection.Close
   End If
End Sub

Test’in Kullanıcıları Arasında Bağlantı
Eğer web sunucusu istekleri doğruluğu tanımlanmış ise, kullanıcının adı ve şifresi gönderilir. HTTP çerezleri kullanıcı ile birleştirilir. Testin aktif kullanıcısı, test script’i ile otomatik olarak herbir zamanda arttırılır. Sonraki kullanıcıyı açık olarak yükleyebilirsiniz. Aşağıdaki örnek açık olarak kullanıcının nasıl yükleneceğini göstermektedir:
Dim oAktifKullanici
Set oAktifKullanici = Test.GetCurrentUser Şimdiki aktif kullanıcı alınıyor
Test.Trace(oAktifKullanici.Name & " istek gönderiyor")
Test.SendRequest("http://localhost/") ilk kullanıcının isteği gönderiliyor.
Set oAktifKullanici = Test.GetNextUser Bir sonraki kullanıcı çağrılıyor
Test.Trace(oAktifKullanici.Name & " istek gönderiyor")
Test.SendRequest("http://localhost/") ikinci kullanıcının isteği gönderiliyor.

GetNextUser metodu ile kullanıcılar arasında ilerlemek mümkündür görüldüğü gibi. Döngü içerisinde tüm kullanıcılar için bu işlemi gerçekleştirebilirsiniz.

Test Obje Modeli
Test obje modeli Application Center Test’in HTTP istemcisini web sunucusuna istekler gönderirken kullandığı arayüzüdür.
Diğer HTTP istemcilerine benzemez. Bu obje modeli, testin kontrol detaylarının programsal mantığını içeren script’ler sağlar. Dinamik test, sunucunun istekleri veya sunucunun performansını ölçmeyi sağlayan hareketler verebilir.


Kaynak: http: //msdn.microsoft.com

Yeliz Korkmaz
yeliz.korkmaz@bilisimanadolu.com