RRC Tool'unda yarattığınız requirement'lar RQM üstünde tek bir test case'e denk düşecek şekilde tasarlanmış. En azından RQM grusu David C. böyle söyledi kendisiyle olan çalışmamızda. Bu sayede her bir requirement bir test case'le eşleştirilerek sağlıklık bir test koşulabiliyor.
Normalde test case'leri RQM üstünde yaratıp daha sonra Requirement Link diyerek RRC'deki bir requirement'ı case'e bağlıyorduk. Tesadüf eseri daha kolay bir yolu olduğunu gördüm. Bu işlem RRC üstünden yapılabiliyor. Aşağıda adım adım bunun nasıl yapılacağını gösteriyor olacağım.
Adım 1: RRC'de bir requirement yaratılır ve soldaki tab'dan Links sekmesi açılır. Kırmızı ile işaretli yerdeki Validated By a tıklanır.
Adım2: Eğer projeniz RQM'e bağlı ise(bir önceki makalede anlattığım şekilde) size bir şifre ekranı gelir ve user-pass girilerek RQM'e giriş yaparsınız. Sonuç olarak önünüze resimdeki gibi bir ekran gelir. Bu ekrandaki fieldlar doldurularak bir test case yaratılır. OK'e basarakta save edersiniz. Bu sayede hem test case'i yaratmış hemde requirement'ı kısa yoldan case'e bağlamış olursunuz.
Esen kalın :)
9 Şubat 2011 Çarşamba
Rational Tool'larını birbirine linklemek
Bildiğiniz gibi Rational ürünleri kullanıcıya C\ALM(Collaborative Application Lifecycle Management) ortamı sağlıyor ve bu özelliği düzgün kullanmak için her uygulama birbirine bağlanmalı.
Örnek olarak RRC üstünde Dummy adlı bir Projemiz olduğunu düşünelim. Bu Dummy projesi için RQM üstünde Test Case/Script'ler yaratılacak ve RTC üzerinde task ve defect açılacak.
İlk olarak yapılması gereken RRC ve RQM'in birbirine bağlanması.
İkinci adım RTC ve RQM'in birbirine bağlanması.
Bu sayede RRC ve RTC dolaylı yoldan birbirine bağlanmış oluyorlar.
RRC-RQM bağlantısı:
Adım 1: Admin sayfasında proje ekranına gelinir ve en aşağıdaki Links tabındaki Add'e tıklanır.
Adım2: RQM Seçeneği seçilir.
Adım 3: Proje seçilir ve Finish'e basılır.

Artık Links tab'ı aşağıdaki gibidir.
Aynı işlemler RTC ve RQM projeleri içinde yapılmalıdır. Bu sayede Analiz aşamasından teste, testten geliştirmeye her adım tek bir platform altında toplanır.
Örnek olarak RRC üstünde Dummy adlı bir Projemiz olduğunu düşünelim. Bu Dummy projesi için RQM üstünde Test Case/Script'ler yaratılacak ve RTC üzerinde task ve defect açılacak.
İlk olarak yapılması gereken RRC ve RQM'in birbirine bağlanması.
İkinci adım RTC ve RQM'in birbirine bağlanması.
Bu sayede RRC ve RTC dolaylı yoldan birbirine bağlanmış oluyorlar.
RRC-RQM bağlantısı:
Adım 1: Admin sayfasında proje ekranına gelinir ve en aşağıdaki Links tabındaki Add'e tıklanır.
Adım2: RQM Seçeneği seçilir.
Adım 3: Proje seçilir ve Finish'e basılır.
Artık Links tab'ı aşağıdaki gibidir.
Aynı işlemler RTC ve RQM projeleri içinde yapılmalıdır. Bu sayede Analiz aşamasından teste, testten geliştirmeye her adım tek bir platform altında toplanır.
11 Ocak 2011 Salı
Rational Performance Tester Nedir?
Rational Performance Tester yani kısa adıyla RPT HTTP protokolü,web servis,citrix,SAP ayırt etmeden yazılım projelerinizin performans testini yapabileceğiniz bir tool. Daha önce Performance Test Aracı kullanmadığım için başka bir tool'la karşılaştırma şansım yok ama elimden geldiğincekısaca nasıl kullanacağını anlatmaya çalışayım.
RPT'nin 5 temel objesi var:
Data Pool: Kaydedilen scriptlerinde girilen user inputları çoğullamaya yarayan objedir. Eğer Internet Bankacılığında havale işlemi deniyorsanız hem userid,hem şifre hemde para miktarı datapool olarak proje eklenmelidir ki her işlemde farklı user ile farklı miktarda işlem yapabilelim. Bu datapool bir CSV dosyasından eklenebilir projeye.
Data pool'a üç data girilmiştir.
Scenario: Kaydedilen scripttir. Yanlız bu scriptin ilk kaydedilen parametreler ile çalışacağını unutmamalıyız. Bu yüzden dışarıdan bir datapool eklenmesi gerekmektedir. Datapool'u script ile eşlemek için senaryo adım adım gezilmeli ve input'un girildiği yer bulunup datapool'un gerekli kolonu bu field ile ilişkilendirilmelidir.
User Group: User group farklı senaryoları farklı kullanıcı sayısındaki gruplara bağlamak için kullandığımız test objesidir.
Random Selector: User Group altına yada Scenario yada Random Selector eklenebilir. Eğer ki bir test eklenirse o kullanıcı grubu sadece belirlenen testi koşar. Ama eğer ki User Group altına birden fazla random selector eklenir ve bu random selectorlara belli ağırlık oranı verilirse o kullanıcı grubuna farklı testleri farklı anlarda koşturabilirsiniz. Mesela birinci testin ağırlığını %35, ikinci testi %55, üçüncüyü ise %10 yaparsanız ve bunların altına farlı senaryolar bağlarsanız koşulacak testler yukarıdaki oranlara göre farklı sıra ile çalıştırılır. Ama mutlaka yüzde tuturulur.
Agent: Önemli objelerden birisi de Agent'lar. Bu agent'lar esas yükü yaratan şeydir. Agent'i kendi localinizde servis olarakta çalıştırabilirsiniz ama 1000 kişilik bir test koşacaksanız PC'nizin çakılması olasıdır ve beklenen sonucu asla elde edemezsiniz. Bu yüzden tavsiyem Linux, o olmadı Windows server kullanılması. Şunu unutmamalısınız ki Linux server'da bir load 4MB ise Windows'da 8MB yer kaplıyor. Bu yüzden isterseniz 2 farklı performans server'ınızı olabilir.
Bütün bu ayarları yaptınız ve testi koştunuz. Sonuç olarak size built-in gelen raporlar yaratılacaktır ve custom raporlar bile işinize fazlasıyla yarayacaktır. Server Health'den page element health'lere kadar bir sürü farklı durumu rapor olarak alabilirsiniz.
Sonuç olarak IBM'in stabil tool'ların biri RPT. Kullanımına alışmak gerekli ama alıştığınızda da sizin hayatınızı baya bir kolaylaştıracağı kesin.
RPT'nin 5 temel objesi var:
- Schedule
- Scenario
- User Group
- Data Pool
- Agent
- Random Selector
Data Pool: Kaydedilen scriptlerinde girilen user inputları çoğullamaya yarayan objedir. Eğer Internet Bankacılığında havale işlemi deniyorsanız hem userid,hem şifre hemde para miktarı datapool olarak proje eklenmelidir ki her işlemde farklı user ile farklı miktarda işlem yapabilelim. Bu datapool bir CSV dosyasından eklenebilir projeye.

Data pool'a üç data girilmiştir.
Scenario: Kaydedilen scripttir. Yanlız bu scriptin ilk kaydedilen parametreler ile çalışacağını unutmamalıyız. Bu yüzden dışarıdan bir datapool eklenmesi gerekmektedir. Datapool'u script ile eşlemek için senaryo adım adım gezilmeli ve input'un girildiği yer bulunup datapool'un gerekli kolonu bu field ile ilişkilendirilmelidir.
Deneme1 yazılan yere Datapool bağlanarak ileride kullanılacakDatapool içindeki Deneme2,Deneme3 verileri ilişkilendirilir.
User Group: User group farklı senaryoları farklı kullanıcı sayısındaki gruplara bağlamak için kullandığımız test objesidir.
Random Selector: User Group altına yada Scenario yada Random Selector eklenebilir. Eğer ki bir test eklenirse o kullanıcı grubu sadece belirlenen testi koşar. Ama eğer ki User Group altına birden fazla random selector eklenir ve bu random selectorlara belli ağırlık oranı verilirse o kullanıcı grubuna farklı testleri farklı anlarda koşturabilirsiniz. Mesela birinci testin ağırlığını %35, ikinci testi %55, üçüncüyü ise %10 yaparsanız ve bunların altına farlı senaryolar bağlarsanız koşulacak testler yukarıdaki oranlara göre farklı sıra ile çalıştırılır. Ama mutlaka yüzde tuturulur.
Agent: Önemli objelerden birisi de Agent'lar. Bu agent'lar esas yükü yaratan şeydir. Agent'i kendi localinizde servis olarakta çalıştırabilirsiniz ama 1000 kişilik bir test koşacaksanız PC'nizin çakılması olasıdır ve beklenen sonucu asla elde edemezsiniz. Bu yüzden tavsiyem Linux, o olmadı Windows server kullanılması. Şunu unutmamalısınız ki Linux server'da bir load 4MB ise Windows'da 8MB yer kaplıyor. Bu yüzden isterseniz 2 farklı performans server'ınızı olabilir.
Bütün bu ayarları yaptınız ve testi koştunuz. Sonuç olarak size built-in gelen raporlar yaratılacaktır ve custom raporlar bile işinize fazlasıyla yarayacaktır. Server Health'den page element health'lere kadar bir sürü farklı durumu rapor olarak alabilirsiniz.
Sonuç olarak IBM'in stabil tool'ların biri RPT. Kullanımına alışmak gerekli ama alıştığınızda da sizin hayatınızı baya bir kolaylaştıracağı kesin.
10 Ocak 2011 Pazartesi
RRC.ini dosyası ne işe yarar?
Daha önceki RRC Nedir? makalesinde bahsettiğim gibi RRC bir Eclipse clienti olarak çalışıyor. Bu yüzden development ortamınızda JVM'e nasıl ENG parametrelerini geçiriyorsanız RRC'de de bu işlemi yapmanız gerekli. RRC'de ki JVM parametrelerini uygulamaya geçireceğiniz dosya C:\..\IBM\RRCC20 altında bulunan rrc.ini dosyası.
Bu dosya installation ile birlikte standart olarak gelir ve içeriği aşağıdaki gibidir.
-vm
C:\Program Files\IBM\RRCC20\jdk\jre\bin\javaw.exe
--launcher.library
C:\Program Files\IBM\RRCC20
Bizim RRC ile rahat çalışmak(Heap size arttırmak,regional ayarlar yapmak,vs..) için bu dosyayı değiştirmemiz gerekli. Eklemek istediğiniz parametreleri yukarıdaki 4 satırdan sonra eklerseniz sorunsuz bir şekilde RRC clientini konfigüre etmiş olursunuz. Aşağıda da kendi kullandığım konfigürasyonu bulabilirsiniz.
-clean (Eclipse workspace'ini temizler,mutlaka bunu kullanın,hayat kurtarıyor,vmargs'dan önce yazılmalı)
-vmargs (vmargs'ları yazmakdan bunu mutlaka eklemeniz gerekli,olmazsa olmaz)
-Duser.language=en (bu iki satır regional settingsleri sadece RRC process'i için ENG yapar)
-Duser.region=en
-Xms768m (Başlangıçtaki minimum memory allocation'ı ayaralar)
-Xmx1024m (Client'in çıkacağı maksimum memory allocation'ı ayaralar)
Sonuç olarak elimizdeki rrc.ini dosyası aşağıdaki gibi olur.
-vm
C:\Program Files\IBM\RRCC20\jdk\jre\bin\javaw.exe
--launcher.library
C:\Program Files\IBM\RRCC20
-clean
-vmargs
-Duser.language=en
-Duser.region=en
-Xms768m
-Xmx1024m
Bu gibi değişikliklerle RRC Clientinizi konfigüre edebilirsiniz.
not:
Bu dosya installation ile birlikte standart olarak gelir ve içeriği aşağıdaki gibidir.
-vm
C:\Program Files\IBM\RRCC20\jdk\jre\bin\javaw.exe
--launcher.library
C:\Program Files\IBM\RRCC20
Bizim RRC ile rahat çalışmak(Heap size arttırmak,regional ayarlar yapmak,vs..) için bu dosyayı değiştirmemiz gerekli. Eklemek istediğiniz parametreleri yukarıdaki 4 satırdan sonra eklerseniz sorunsuz bir şekilde RRC clientini konfigüre etmiş olursunuz. Aşağıda da kendi kullandığım konfigürasyonu bulabilirsiniz.
-clean (Eclipse workspace'ini temizler,mutlaka bunu kullanın,hayat kurtarıyor,vmargs'dan önce yazılmalı)
-vmargs (vmargs'ları yazmakdan bunu mutlaka eklemeniz gerekli,olmazsa olmaz)
-Duser.language=en (bu iki satır regional settingsleri sadece RRC process'i için ENG yapar)
-Duser.region=en
-Xms768m (Başlangıçtaki minimum memory allocation'ı ayaralar)
-Xmx1024m (Client'in çıkacağı maksimum memory allocation'ı ayaralar)
Sonuç olarak elimizdeki rrc.ini dosyası aşağıdaki gibi olur.
-vm
C:\Program Files\IBM\RRCC20\jdk\jre\bin\javaw.exe
--launcher.library
C:\Program Files\IBM\RRCC20
-clean
-vmargs
-Duser.language=en
-Duser.region=en
-Xms768m
-Xmx1024m
Bu gibi değişikliklerle RRC Clientinizi konfigüre edebilirsiniz.
not:
-Dcom.sun.management.jmxremote.port=9003
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=falsekomutunu kullanıp eğer gerekliyse RRC Client'ini inceleyebilirsiniz... Bu gibi ayarların hepsi Rational Team Concert içinde geçerlidir,Rational Application Developer için geçerli olduğu gibi...
9 Ocak 2011 Pazar
Tool'ları yüklerken dikkat edilecek noktalar
IBM Tool'larının her zaman en sorunsuz çalıştığı ortamlar Bölgesel ve Dil Ayarlarının INGILIZCE olduğu ortamlar olduğunu unutmayın. En azından hem server hem client installation'ları sırasında bölgesel ayarlınızı ve dili INGIZLICE'ye çekin. Sonra başınız ağrımasın.5 saat uğraşıp RRC'de açılmayan bir Use-Case'in açılmamasının tek sebebinin encoding olduğunu farkedip(JMX konsol ile bağlantı yapıp çıldırmak) kafa yemeyin.
Eğer başka tool'lar ile bölgesel ayarlarınız çakışıyor ve kullanılamaz hale geliyorsa elinizdeki tool'un bir eclipse uzantısı olduğunu unutmayın. JVM ayaları ile oynayın ve process'i ENG olarak başlatın. Bu konuya rrc.ini ve rtc.ini dosyaları neye yarar makalesinde değineceğim.
Eğer başka tool'lar ile bölgesel ayarlarınız çakışıyor ve kullanılamaz hale geliyorsa elinizdeki tool'un bir eclipse uzantısı olduğunu unutmayın. JVM ayaları ile oynayın ve process'i ENG olarak başlatın. Bu konuya rrc.ini ve rtc.ini dosyaları neye yarar makalesinde değineceğim.
Rational Team Concert(RTC) Nedir?
En basit haliyle bir Issue Tracking aracı,bir Source kontrol aracı hatta Continous Integration aracıda diyebiliriz. Rational Team Concert(RTC) bir Eclipse plug-ini olarak işliyor. Standart bir Eclipse kurulumu üzerine basitçe kurulabilir ama server taraftında işler böyle değil. Büyük bir DB ve güçlü bir server'a ihtiyacınız var.
RTC ile proje bazlı task takibi,task bazlı raporlama(hangi projede kaç defect,enhancement var,vs...) yapabilirsiniz. Eğer Atlassian Tool'u olan JIRA'yı kullandıysanız bu kısımlar sizin için hiç yabancı gelmeyecektir. En az JIRA kadar kullanışlı bu kısımlarda.
Task yönetimi dışında gerekli konfigürasyonu yaptığınız takdirde(hatta isterseniz Build-forge ile entegre ederek) kod built eder(Continous Integration) ve istediğiniz yere deploy edebilirsiniz. Biz şirketimizde bu işlemi kendi built sistemimizi kodlayarak yaptık. Bu sayede zaman ayarlı builtten, anlık built'lere kadar bir sürü işi kendi yolumuzla çözdğk ve işleyen İş Akış sistemimizi buraya implemente ettik.
RTC diğer Rational Tool'ları olan RQM ve RRC gibi çok yeni olmadığınından kullanımı sırasında onlar kadar sorun çıkarmayacaktır. Evet toollar yeni olduğundan bazen sorunlar çıkarıyorlar ama emekleme aşamasında olan her tool'da olan şeyler bunlar.
RTC ile proje bazlı task takibi,task bazlı raporlama(hangi projede kaç defect,enhancement var,vs...) yapabilirsiniz. Eğer Atlassian Tool'u olan JIRA'yı kullandıysanız bu kısımlar sizin için hiç yabancı gelmeyecektir. En az JIRA kadar kullanışlı bu kısımlarda.
Task yönetimi dışında gerekli konfigürasyonu yaptığınız takdirde(hatta isterseniz Build-forge ile entegre ederek) kod built eder(Continous Integration) ve istediğiniz yere deploy edebilirsiniz. Biz şirketimizde bu işlemi kendi built sistemimizi kodlayarak yaptık. Bu sayede zaman ayarlı builtten, anlık built'lere kadar bir sürü işi kendi yolumuzla çözdğk ve işleyen İş Akış sistemimizi buraya implemente ettik.
RTC diğer Rational Tool'ları olan RQM ve RRC gibi çok yeni olmadığınından kullanımı sırasında onlar kadar sorun çıkarmayacaktır. Evet toollar yeni olduğundan bazen sorunlar çıkarıyorlar ama emekleme aşamasında olan her tool'da olan şeyler bunlar.
8 Ocak 2011 Cumartesi
Rational Quality Manager Nedir?
Analiziniz bitti ama analiz aşamasında yapmanız gereken birşey daha kaldı. Testleri hazırlamak. İşte burada devreye Rational Quality Manager(RQM) giriyor. RQM sayesinde Test Senaryoları, Test Case'leri ve Scriptleri oluşturabilirsiniz. Bu arada script derken sakın automated script olarak düşünmeyin. Manuel Scriptler yazıyorsunuz.(Butona baş,sonuç bu olmalı vs...) RQM'in jargonu uluslar arası Test Jargonunun biraz dışında seyrediyor ama kend içinde güzel sonuçlar veriyor.
RQM'de rastlayacağınız temel artifactler:
RQM'de rastlayacağınız temel artifactler:
- Test Plan
- Test Case
- Test Script
- Test Execution Result
- Defect
En basitinden en üst seviyeye anlatmaya başlayabilirim.
Test Script: En alt seviye artifact bu. Temel olarak tek bir testte koşulacak adımları yazdığınız yer. İçinde yapılacak aksiyon(Step),beklenen sonuç(Expected Result) ve güncel sonuç(Actual Result) kısımları mevcut. Bu sayede kişi testi koşarken güncel sonuçla karşısına gelen sonucu karşılaştırabilir ve hata olup olmadığını görebiliyor. Test Script'te CVS yda Excel üzerinden datada eklenebiliyor ve bu sayede script her seferinden size farklı data ile test koşturabiliyor.
Test Case: RQM'de Test Case ve Script aynı seviyede ama Case'ler Scriptleri kapsıyor. Best practice olarak 1-1 bir ilişki kurulması gerektiğini söyleniyor IBM tarafından ama her testin bir manuel bir de automated scripti olabileceğinden bu ilişki 1-2 de olabilir.
Test Plan: Bu artifact'de Test Case'leri kapsıyor ve case'leri farklı sıralar ve sayılarda gruplayarak farklı senaryolar yaratılmasın sağlıyor.
Test Execution Result: RET'ler yarattığınız Test Case'lerin koşulmasını ve bunların sonucunun tutulmasına imkan veriyor. Test Case'lerinizinden RET'ler yaratmadan da testi koşabilirsiniz ama bu testten çıkan sonuçlar sadece size gözükür. Eğer ki yapılan testin sonuçlarını görmek istiyorsanız mutlaka RET yaratmalısınız.
Defect: Adı üstünde hata. Testi koşarken mutlaka bir yerlerde hata ile karşılaşacaksınızdır ve böyle bir durumla karşılaştığınızda hata kaydı açmanız ve bunu yazılımcıya yollamanız gerekmekte. İşte tam burada Defect artifact'i devreye giriyor. Defect artifact'ine hatanın nasıl elde edldiğini, hangi case'de hataya rastlandığını, kaç günde çözülmesi gerektiğini vs... her türlü bilgiyi girebileceğiniz bir form olarakta düşünebilirsiniz. Defect'in yazılımcıya gitmesi ve bunların takibini Rational Team Concert TooL'unun tanıtımında bulabilrsiniz.
Şimdilik RQM'le ilgili bahsedeceklerim bu kadar. Daha sonra kullanımı sırasında karşılaştığımız bulgularıda size tanıtacağız.
Rational Requirement Composer(RRC) Nedir?
Bildiğiniz gibi yazılıma başlamadan önce iyi bir analiz yapmamız gerekli. Jazz ailesinde bu ihtiyacı karşılayan Rational Requrement Composer(RRC) tool'u bulunmakta. Bu tool Eclipse clienti üstüne geliştirilmiş bir rich client'a hem de webden erişebileceğiniz bir arayüze sahip. Aralarındaki tek fark web tabanlı olanın read-only olması.
RRC tool'u ile size yapacağınız analizde kullanmanız için sunulan bir sürü artifact mevcut. Bunların en temel olanları:
- Requirement
- Use-Case
- Business Process Diagram
- GUI Sketch
- Actor
- Screen Flow
- Document
- Collection
Requirement: Adından da anlaşılacağı gibi low level ve high level requirement'larınızı girmenize yarayan artifactler.
Use-Case: Business Case'lerinizi yaratacağınız içinde process ve actor'leri bulunduran artifactler.
Business Process Diagram(BPD): İş akış diyagramı diyebiliriz. Bu diyagram sayesinde process'lerinizi baştan sona tanımlamanız mümkün.
GUI Sketch: Ekran çizimi yapmanıza yarayan artifactler burada bulunuyor.
Actor: Kurumunuzdaki her türlü birim bu sınıfa girebilir. Use-Case'lerde kullanılan aktörler bu artifactten oluşturuluyor.
Screen Flow: Ekran akışlarınızı çizebileceğiniz bir artifact.
Bunların haricinde text editor görevi gören Document denen artifactlerde mevcut. Bu artifact bir nevi word görevi görüyor ve yukarıda saydığım her artifacti içerisine ekleyebiliyorsunuz.
Gelelim en önemli artifact olan Collection'a. Analiziniz bitti ve birisinin bu analizi gözder geçirip onaylaması gerekiyor. Peki nasıl yapacak? Bir şekilde kişinin dökümanlara resmi onayı vermesi lazım. İşte burada Collection objesi devreye giriyor. Bu artifact'i bir nevi alışveriş sepeti olarak düşünebilirsiniz. Bu artifact'in içine istediğiniz her türlü objeyi ekleyebilirsiniz ve daha sonra projeye dahil olan kişileride buraya kaydederek Pojenizin Detaylarını ONAY'a sunabilirsiniz. Bu onay aşamasına ileride daha detaylı şekilde gireceğiz.
Kaydol:
Kayıtlar (Atom)