<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TestRoot &#187; Stress</title>
	<atom:link href="http://www.testroot.com/tag/stress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.testroot.com</link>
	<description>Yazılım Test &#38; Kalite</description>
	<lastBuildDate>Wed, 24 Aug 2011 08:05:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Performans Test Nedir?</title>
		<link>http://www.testroot.com/2009/01/05/performans-test-nedir/</link>
		<comments>http://www.testroot.com/2009/01/05/performans-test-nedir/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 14:33:04 +0000</pubDate>
		<dc:creator>Kenan Yaylıcıoğlu</dc:creator>
				<category><![CDATA[Yazılım Test]]></category>
		<category><![CDATA[Load]]></category>
		<category><![CDATA[Performans]]></category>
		<category><![CDATA[Stress]]></category>

		<guid isPermaLink="false">http://www.testroot.com/?p=11</guid>
		<description><![CDATA[1 Performans Testi Nedir? Çoğu web uygulamasında performans öncelikli bir sorundur. Havale yapmak için oldukca uzun uğraşlar verdiğiniz bir internet bankacılığı sitesi itibar kaybına, müşteri memnuniyetsizliğine ve mali kayıplara neden olabilr. Bu nedenle ürünün lansmanı yapılmadan ,kurulan sistemin maksimum sayıda kulanıcı işlem yaptığında dahi işlemlerin her birinin hedeflenen zaman biriminde, eksiksiz bir şekilde gerçekleştirildiğinin ispatlanması [...]]]></description>
			<content:encoded><![CDATA[<p>1 Performans Testi Nedir?<br />
       Çoğu web uygulamasında performans öncelikli bir sorundur. Havale yapmak için oldukca uzun uğraşlar verdiğiniz bir internet bankacılığı sitesi itibar kaybına, müşteri memnuniyetsizliğine ve mali kayıplara neden olabilr. Bu nedenle ürünün lansmanı yapılmadan ,kurulan sistemin maksimum sayıda kulanıcı işlem yaptığında dahi işlemlerin her birinin hedeflenen zaman biriminde, eksiksiz bir şekilde gerçekleştirildiğinin ispatlanması gerekmekdedir. Bu isbatı ancak performans testi sonuçları ile müşterinize garanti edebilirsiniz.<br />
    Performans testi yararlarını şu şekilde sıralayabiliriz;<br />
•	Sistem gereksinimleri karşılıyormu<br />
•	Normal şartlar altında sistem nasıl davranıyor<br />
•	Sistem trafiğindeki artışlar işlem süresi,fonksiyonalite ve güvenlikmaçısından nasıl etkiler<br />
•	Hangi kullanıcı seviyesinde performans problemleri yaşanır<br />
•	Performans seviyelerindeki düşüş sistemin hangi bileşeninden kaynaklanır<br />
2 Performans Testi Çeşitleri<br />
Temel olarak 3 çeit performas testi gerçekleştirilebilir. Bunlar;<br />
Normal Performans Testi: Web uygulamalarının normal şartlar altındaki performans seviyelerini belerlenmesi.<br />
<span id="more-11"></span><br />
Load Testi: Web uygulamasının giderek artan sayıda(sistem çökene kadar) virtual user la yüklenilerek sistemin sınırlarının ölülmesi.<br />
Stress Testi: Maksimum sayıdaki kullanıcı ile periyodik bir şekilde sisteme yüklenilmesi.<br />
________________________________________<br />
3 Performans Testi Nasıl Yapılır?<br />
3.1 Temel süreç<br />
    Performans testi temel süreci aşağıda belirtilmişdir. İlerleyen bölümlerde detaylı olarak incelenecektir.<br />
•	Test edilecek sistemin yapısının belirlenmesi<br />
•	Normal ve Maksimum yük seviyelerinin belirlenmesi<br />
o<br />
	Senaryoların ve Sanal Kullanıcıların yaratılması<br />
	Kulanılacak toolun seçiminin yapılması<br />
	Testin execute edilmesi<br />
	Test sonuçlarının incelenmes ve yorumlanmasıi</p>
<p>3.1.1 Test edilecek sistemin yapısının belirlenmesi<br />
     Test başlamadan önce test yapılacak oratmın ve Production ortamının donanımsal özellikleri belirlenmelidir. Test ortamı production ortamına ne kadar yakınsa(production ortaında lansmana çıkmadan bu testin gerçekleştirilmesi daha doğru sonuçlar verir) değerlendirme aşamasında sonuçlar o kadar doru değerlendirilebilir. Bu örnek olarak şöyle bir cümle kurmanıza yarar ,su özelliklerdeki test ortamında sistem istenen performansı sağlıyorsa su özelliklerdeki production ortamında soruunsuz çalışır. Bir tablo hazırlamakda fayda vardır raporlama içinde işinize yarar. örnk;<br />
 	Test Ortamı	Production Ortamı<br />
Web server	Features1	Features1<br />
	Features2	Features2<br />
	Features3	Features3<br />
	Features..	Features..<br />
	Features..	Features..<br />
	Features..	Features..<br />
	Features..	Features..<br />
	Features..	Features..<br />
Database server	Features1	Features1<br />
	Features2	Features2<br />
	Features3	Features3<br />
	Features..	Features..<br />
	Features..	Features..<br />
	Features..	Features..<br />
	Features..	Features..<br />
	Features..	Features..<br />
Network bağlantısı	Features1	Features1<br />
	Features2	Features2<br />
	Features3	Features3<br />
	Features..	Features..<br />
	Features..	Features..<br />
	Features..	Features..<br />
	Features..	Features..<br />
	Features..	Features..</p>
<p> 3.1.2 Normal ve Maksimum yük seviyelerinin belirlenmesi<br />
        Bu kısımda açıkcası çok fazla yardımcı olamıyacağım çünki bu konu sizin müşterinizle oturup çıkartmanız gereken bir konu, sitemin ne kadar kullanıcıyı kaldırması gerektiğini müşterinizin belirtmesi gerekli. Söz gelimi müşteri size bu programı kullanıcak 650 kişi var diyebilir. Bunu belirttikden sonra oturup münazara yapmaya başlamanız gerkli. Sistemi 650 kişi kulanıcak olabilr ama aynı anda 650 si birden kulanıcak ve 650 si birden aynı anda işlem yapıcak anlamında değildir bu. Sistemin 650 kişi aynı anda kullanıcakmış gibi test edilmesi(worst case) en doğrusudur ama maliyetlendirme açısından müşteriniz sizinle ters bir şekilde düşüne bilir bu yüzden   oturup belirli bir sayıda anlaşmanız gerekli(su kadar kullanıcıyı aynı anda kaldırabilmeli gibi)&#8230;.</p>
<p>3.1.3 Senaryoların ve Sanal Kullanıcıların yaratılması<br />
      Senaryoların ürünün yapısına göre tasarlanması gerekmekdedir. Özellikle anliz aşamasında belirlenen iş prosesleri benim tercihimdir. Duruma göre en sık kullanılan veya en önemli process leri alıp her adımı ayrı bi case olarak parçalamak en uygunu olduğunu düşünüyorum. Örneğin bir net üzerinden satış işlemi gercekleştirilen B2C site için ürün sorgulama, sanal pos üzerindeki işlemler en cok kullanılan ve en önemli bileşenlerdir. Sizde sisteminizde bu gibi bileşenleri çıkarıp case lerinizi bu doğrultuda hazırlamanız gerekmekte. Bunu dışın bazı spesifik case ler hazırlamanız lazım. Bunlar bazı check pointleri sınamamız için gerekli bazı caselerdir . Örneğin request &#8211; response time mı değerlendirmek ve band genişliğini sınamak için sadece ana sayfayı yüklediğiniz bir case, database server ı ve web serverla arasındaki bağlantıyı sınamak için sistemde en cok zorlıycak sql casi( web serverın memory sini sınamak için , cpu yu sınamak için , &#8230;.etc) gibi proje için önemli olduğunu düşündüğünüz check pointleri case haline getirmeniz gereklidir.<br />
3.1.4 Kulanılacak toolun seçiminin yapılması<br />
        Performans testlerinde önemli bir sorundur tool seçimi. Şöyleki değişik ortamlarda değişik toolar kullanmanız gerekicek. .net uygulamar için  visual studio team suit in içindeki performans atoolları en uygun çözümdür. Java uygulamaları içinse tonlarca open source tool var ama acıkcası hemen hemen hiçbiri pek kullanışlı değildir. Ben java uygulamalar için OPENSTA adlı bir tool kullanıyorum(bulabildiğimin en iyisi oydu) bunu dışında ibm rational ın içindede bir tool warmış diye duydum ama hiç kullanma fırsatına erişemedim. Bu toollar yazının devamında ayrıntılı olarak işlenecektir.<br />
3.1.5 Testin execute edilmesi<br />
        Gerekli senaryoları ve toolu seçtikden sonra execute bu sürecin en kolay bölümlerinden biridir. Belirlediğiniz senaryoları toolunuz da bulunan kayıt bölümünden bir kere yaparak kayıt edebilirsiniz(örnek tool lar açıklanırken bu bölüm detaylı bir şekilde anlatılacaktır).  Daha sonra sonuç verilerini alabilmek için test ortamına gerekli collectorları bağlamanız gerekmektedir. Bu işelemide gercekleştirdikten sonra bir case inizi test amaclı bir kere run edin   dataları alabildiğinizi gördükden sonra ,belirlediğiniz kullanıcı sayılarını toola girip caselerinizi sadece run tusuna basarak execute edebilirsiniz.<br />
3.1.6 Test sonuçlarının incelenmes ve yorumlanması<br />
       Bu konuda hiç bir yerde hiç bir kaynak bulamazsınız , bu test sürecinde ençok zorlanılan yerdir. Çünki hiç kimse size belirlenen durumun yeterli veya yetersiz olduğunu, yetersizse ne kadar performansı arttırmanız gerektiğini söyliyemez, tamamen case spesific bir durumdur. Topladığınız datalar size hangi bileşenlerin zayıf olduğunu göstericekdir, ama sizene kadar arttırmanız veya kabul edilebilir değerdemi olduğunu göstermez. Benim önerim bir analist bir yazılımcı birde sistemci ile sonuclar üzerinde bir değerlendirme yapmanız. Yeni düzenlemeyi gerçekleşdirtikten sonra testi tekrarlıyabilirsiniz istenilen durum elde edilene kadar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.testroot.com/2009/01/05/performans-test-nedir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.465 seconds -->

