<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="tr">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Kullanıcı Arayüzü Yazılımı Test Otomasyonundan Beklentiler ve Riskler</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Ömer</forename><surname>Bđlgđn</surname></persName>
							<email>omerbilgin@aselsan.com.tr</email>
							<affiliation key="aff0">
								<orgName type="department">Radar Elektronik Harp ve Đstihbarat Sistemleri (REHĐS) Sektör Başkanlığı</orgName>
								<orgName type="institution">ASELSAN A.Ş</orgName>
								<address>
									<settlement>Ankara</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Mustafa</forename><surname>Kasapoğlu</surname></persName>
							<email>mkasapoglu@aselsan.com.tr</email>
							<affiliation key="aff0">
								<orgName type="department">Radar Elektronik Harp ve Đstihbarat Sistemleri (REHĐS) Sektör Başkanlığı</orgName>
								<orgName type="institution">ASELSAN A.Ş</orgName>
								<address>
									<settlement>Ankara</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Yazılım</forename><surname>Kalite</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Radar Elektronik Harp ve Đstihbarat Sistemleri (REHĐS) Sektör Başkanlığı</orgName>
								<orgName type="institution">ASELSAN A.Ş</orgName>
								<address>
									<settlement>Ankara</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Yazılım</forename><forename type="middle">Test</forename><surname>Otomasyonu</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Radar Elektronik Harp ve Đstihbarat Sistemleri (REHĐS) Sektör Başkanlığı</orgName>
								<orgName type="institution">ASELSAN A.Ş</orgName>
								<address>
									<settlement>Ankara</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Arayüzü</forename><surname>Kullanıcı</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Radar Elektronik Harp ve Đstihbarat Sistemleri (REHĐS) Sektör Başkanlığı</orgName>
								<orgName type="institution">ASELSAN A.Ş</orgName>
								<address>
									<settlement>Ankara</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Yazılım</forename><surname>Testi</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Radar Elektronik Harp ve Đstihbarat Sistemleri (REHĐS) Sektör Başkanlığı</orgName>
								<orgName type="institution">ASELSAN A.Ş</orgName>
								<address>
									<settlement>Ankara</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Süreç</forename><surname>Geliştirme</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Radar Elektronik Harp ve Đstihbarat Sistemleri (REHĐS) Sektör Başkanlığı</orgName>
								<orgName type="institution">ASELSAN A.Ş</orgName>
								<address>
									<settlement>Ankara</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><surname>Đyileştirmesi</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Radar Elektronik Harp ve Đstihbarat Sistemleri (REHĐS) Sektör Başkanlığı</orgName>
								<orgName type="institution">ASELSAN A.Ş</orgName>
								<address>
									<settlement>Ankara</settlement>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Kullanıcı Arayüzü Yazılımı Test Otomasyonundan Beklentiler ve Riskler</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">263B7A3DB06A45E9290D33A39A4801A7</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T19:45+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Software Quality</term>
					<term>Software Test Automation</term>
					<term>GUI Test</term>
					<term>Software Development Process Improvement</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Günümüz yazılım dünyasında, kaliteli yazılım beklentisinin artmasının yanı sıra, yetkin personel, zaman ve maliyet kısıtları nedeniyle yazılım test otomasyonu da gittikçe önem kazanmaktadır. Özellikle kullanıcı arayüzü, yazılımların son kullanıcıyla etkileşimde olan kısım olduğu için yazılım testlerinin daha detaylı ve hızlı yapılması beklenmektedir. Artan kalite ihtiyacına cevap verebilmek için yazılım otomasyon faaliyetlerine başlanmadan önce beklentilerin, hangi yaklaşım ve araçların kullanılacağının belirlenmesi önemlidir. Bu makalede; bir kullanıcı arayüzü yazılımının test otomasyonuna karar verilmesi, otomasyonun geliştirilmesi ve süreçlere uyarlanması üzerine yapılan çalışmada elde edilen deneyimler aktarılmıştır.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="tr">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Giriş</head><p>Yazılım test otomasyonu bir zorunluluk değil ihtiyaçtır. Bu makalede test otomasyonuna duyulan ihtiyacın nasıl belirleneceği ve sonrasında yapılması gerekenler yaşanılan tecrübeler doğrultusunda anlatılmıştır.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Test Otomasyonuna Duyulan Đhtiyacın Belirlenmesi ve Test Otomasyonundan Beklentiler</head><p>Yazılım test otomasyonu ile temelde tekrarlı iş kalemlerinin minimuma indirilmesi, daha kararlı ve tekrar edebilen test senaryolarının oluşturulması/koşturulması ve bu işlemler esnasında harcanan işçiliğin düşürülmesi beklenmektedir. Ayrıca manuel test ile yapılamayacak bazı test senaryoları test otomasyonu ile gerçekleştirilebilir. Örneğin kullanıcı arayüzünde bir insanın verebileceği tepkiden daha hızlı bir tepki gerek olduğu durumlarda bu ancak yardımcı bir yazılım veya test otomasyonu ile testleri koşturmak mümkün olabilir. Test otomasyonu aynı zamanda çok fazla test girdisi ile yapılan tekrarlı testler için sıklıkla kullanılır. Yazılım test otomasyon faaliyetleri uzun vadede zaman ve iş gücü kazancı sağlaması gerekirken otomasyon faaliyetlerine başlamadan önce yapılan yetersiz ölçüm ve ön çalışmalar nedeniyle zaman, iş gücü ve hatta ilgili ekibin motivasyon ve itibar kaybına neden olmaktadır. Yazılım test otomasyonu zaman, sabır ve bilinçli bir ekip isteyen zorlu bir süreçtir. Bu süreç içinde atılan adımların titizlikle seçilmesi başarıya giden yolda en büyük etkendir.</p><p>Yazılım test aracından doğru beklentiler ile sıkça düşülen hatalı beklentiler aşağıda belirtilmiştir.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Yazılım test otomasyonundan başlıca beklentiler:</head><p>• Regresyon testlerinin tekrar tekrar yapılabilmesi • Testlerin daha sık koşturulabilmesi • Manuel olarak yapılması zor ya da imkânsız testlerin yapılabilmesi </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Yazılım Test Otomasyonu Maliyet ve Fayda Analizi</head><p>Yazılım test otomasyonu maliyetli bir süreçtir. Toplam maliyete kullanılacak test aracının lisans maliyeti, testlerin otomasyonu için harcanan işgücü(test aracının kullanımının öğrenilmesi ve testlerin otomasyona aktarılması için gereken işgücü) maliyeti ve otomasyona aktarılan testlerin bakımı için gereken işgücü maliyeti sayılabilir. Maliyet hesaplanmasında birçok bilimsel çalışma yapılmıştır. Aşağıda örneğini verdiğimiz hesaplama yöntemi yazılım test alanında yer etmiş "evrensel formül" olarak kabul edilir <ref type="bibr" target="#b4">[5]</ref>. Bu formülün amacı manuel testlerin yapılması için gerekli maliyet ile otomasyona aktarılmış testlerin yapılması için gerekli maliyetin karşılaştırılmasıdır. Bu karşılaştırma sonucu test otomasyonu sürecinde en başta harcanan yüksek maliyetin kaç test tekrarı sonrasında karşılandığı ve her test tekrarında kar edilmesi tahmin edilen maliyet hesaplanır(Şekil 1). </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Şekil 1 Test Maliyeti Koşum Sayısı Grafiği</head><p>Bu iki formül kullanılarak başa baş noktası hesaplanır. Başa baş noktası testlerin otomasyona geçirilmesi kararının verilmesi esnasında maliyet açısından yapılması gereken en az koşum sayısını belirlemeyi sağlar. Böylece bulunan koşum sayısının altında kalınıyorsa ve maliyet dışında başka bir kıstas yoksa testlerin otomasyona geçirilmesi maliyet açısından mantıklı değildir.</p><p>Seçilmiş bir projede yapılan ölçümlerde; manuel test tasarımı yapılması ve testlerin tanımlanması 10 adam saat, her bir koşum maliyeti de 30 adam saattir. Otomasyon ile testlerin koşturulması için test tasarım ve tanımlama maliyeti 70 adam saat ve her bir koşum maliyeti de 10 adam saattir. Şekil 1'de gösterilen maliyet hesabı formülü kullanılarak yapılan hesaplamada Tablo 1 elde edilir. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Testlerin Otomasyon Aracına Aktarılması</head><p>Hazırlanan ya da daha önce hazırlanmış olan test tanımlarının test aracına aktarılması işlemidir. Daha önce ön çalışması yapılarak tecrübeler kazanılmış test aracı ile ekip olarak çalışmalara başlanır. Testlerin tamamının aktarılması için planlama yapılmamalı, her sürümde koşturulacağı düşünülen testlere öncelik verilmelidir. Ayrıca yine karmaşık senaryoları olan testlerden başlamak yerine daha basit ve tekrarlı testleri ilk başlarda aktararak hem ekibin test aracını ve test metodolojilerini öğrenmesi sağlanır aracına olan yabancılığı giderilir hem de testlerin hazırlanması ve koşturulması planlanan tarihlerden sapmadığı için ekibin motivasyon kaybı yaşamaması sağlanır.</p><p>Özellikle kullanıcı arayüzü yazılımlarının testlerinin otomasyona aktarılmasında unutulmaması gereken noktalardan bir tanesi, test otomasyonunun hiç bir zaman manuel testlerin yerini almayacağıdır. Test otomasyonu son kullanıcının uygulamayı kullanırken yaşadığı gerçek deneyimin, kullanım kolaylığı gibi müşteri memnuniyetini etkileyebilecek detayların ölçülmesinde kullanılamaz. Bu sebeple test otomasyonu yanında manuel testler de kaliteyi doğrudan ilgilendirdiği için gereklidir ve yapılmalıdır.</p><p>Ayrıca testler esnasında kullanıcı etkileşimli işlemler yapılacaksa bu gibi testlerin de test aracına aktarılmaması gerekir. Örneğin yazıcı çıktısının karşılaştırıldığı bir testi ya da harici bellek takılması/çıkarılması işlemlerinin yapıldığı testler ya da bazı donanımların fiziksel olarak çıkarılıp takılması ile ilgili olan testler otomasyon aracına aktarılmamalıdır. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="8">Test Otomasyonuna Geçirilen Testlerin Konfigürasyon Kontrolü Altına Alınması</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Teşekkür</head><p>Bu makaleye tavsiyeleri ve yorumları ile katkı sağlayan Ergün Doğan'a katkılarından dolayı teşekkür ederiz.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Formülün</head><label></label><figDesc>detayları şöyledir: V = Test tasarımı yapılması ve testlerin tanımlanması maliyeti D = Bir testin koşturulması maliyeti n = Test koşum sayısı Buna göre, otomasyona geçirilen testin toplam maliyeti: Aa = Va + n * Da Burada Va test otomasyonu tasarımı ve tanımlaması maliyeti, Da tek bir otomasyon testi koşum maliyetidir. Aynı şekilde manuel test toplam maliyeti: Am = Vm + n * Dm Burada Vm manuel test tasarımı ve tanımlaması maliyeti, Dm tek bir manuel test koşum maliyetidir.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0"><head></head><label></label><figDesc></figDesc><graphic coords="4,154.56,147.41,297.60,189.84" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Tablo 1 Maliyetler</head><label></label><figDesc>Testler 3 koşumdan az yapıldığında testlerin maliyet açısından manuel yapılması anlamlı iken 3 koşum yapıldığında başa baş noktasına erişilir. 4 ve üzeri koşum sayısında test otomasyonunun daha az maliyetli olduğu görülmektedir. Koşum sayısı arttıkça test otomasyonunun maliyet açısından sağladığı faydanın daha fazla olduğu görülmektedir.</figDesc><table><row><cell>5</cell><cell></cell><cell></cell></row><row><cell>Koşum Sayısı</cell><cell>Manuel Maliyet</cell><cell>Otomasyon Maliyet</cell></row><row><cell>1</cell><cell>40</cell><cell>80</cell></row><row><cell>2</cell><cell>70</cell><cell>90</cell></row><row><cell>3</cell><cell>100</cell><cell>100</cell></row><row><cell>10</cell><cell>310</cell><cell>170</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Đhtiyacı Karşılayacak Test Aracının Araştırılması Sektörde</head><label></label><figDesc>yazılım test otomasyon aracı olarak hem ücretli hem de ücretsiz oldukça fazla test aracı bulunmaktadır. Ücretsiz uygulamaların birçoğu web sitelerinin kullanıcı arayüzlerini test etmeyi hedeflemektedir. Bu aşamada dikkatle belirlenen ihtiyaçları karşılayacak en uygun araç seçilmelidir. Örneğin testlerini otomatize edeceğimiz yazılım Java ortamında geliştirilmişken Java grafik arayüz nesnelerini tanımayan bir araç seçilmemelidir. Organizasyon içi diğer geliştirme araçları ile uyumsuz bir aracı seçmektense uyumlu olan bir araç tercih edilmelidir. Benzer kıstaslar, yazılım test ekip üyeleri ile yapılacak çalışma sonucunda belirlenerek liste haline getirilir [Tablo 2] ve aday test araçlarının bu kıstasları sağlayıp sağlamadığı belirlenir. Yazılım test otomasyonu için ayrılan bütçe de önemli bir kıstastır fakat ön araştırma yapılırken daha çok test aracının yeteneklerine odaklanmak ihtiyacı karşılayacak test aracını belirlemede daha doğru karar verilmesini sağlayacaktır. Seçim kıstaslarının belirlenmesinde genel kıstasların yanında seçilen projenin ve otomasyona dahil edilmesi düşünülen diğer projelerin özellikleri, organizasyonda kullanılan diğer yazılımlar, test ortamı vb. gibi daha özel kriterlerin eklenmesi seçim sonunda daha sağlıklı kararlar verilmesini kolaylaştıracaktır. Kıstaslar belirlendikten sonra ekip üyeleri belirlenen kıstasların ağırlıklarını oylayarak kıstasların genel ağırlığını belirlerler. Genel ağırlık ekip üyelerinin verdiği ağırlık değerlerinin aritmetik ortalaması ile hesaplanır. Tablo 3'te üç kişilik değerlendirme ekibi ve test aracı değerlendirme kartının bir bölümü ile yapılan ağırlık hesaplaması verilmiştir. Sonraki adımda her ekip üyesi değerlendirdiği test aracı için belirlenen tüm kıstasları ayrı ayrı puanlar. Tablo 4'te üç kişilik değerlendirme ekibi ve test aracı değerlendirme kartının bir bölümü ile yapılan puan hesaplaması verilmiştir. Her bir kıstas için ekip üyelerinin verdiği ortalama ağırlık ve ortalama puan çarpılarak o kıstasa denk gelen değer hesaplanır. Tüm kıstaslar için bu işlem tekrarlanır. Elde edilen kıstas değerleri toplanarak değerlendirilen test aracının genel puanı hesaplanır. Bu değerlendirme aday her bir test aracı için tekrarlanır. Genel puanlamada en yüksek puanı alan test araçları yazılım test ekip üyeleri tarafından ortak bir takım test senaryoları seçilerek deneme amaçlı kullanılır. Amaç kontrol listesi üzerinden yapılan değerlendirmeden sonra uygulamada çıkabilecek problemleri nihai kararı vermeden önce tespit etmektir. Deneme amaçlı kullanılması düşünülen test aracı sayısı ekibin büyüklüğü ve takvim genişliği doğrultusunda arttırılabilir. Ücretli uygulamaların birçoğu bu sebepten ücretsiz sınırlı süreli lisans sağlamaktadır. Süreli lisans kullanılarak ücretsiz uygulamaların yanında ücretli uygulamalar da denenmelidir. Deneme süreci sonunda yazılım test ekip üyelerinden gelen geri bildirimler doğrultusunda belirlenen kıstasların gerçekten sağlandığına karar verilebilir. Test ekip üyelerinin bu süreçteki deneyimlerini ekibin diğer üyeleri ile paylaşması karar vermeyi kolaylaştırabilir. Böylece yazılım test ekibinin üzerinde hemfikir olduğu bir test aracı seçilir. Seçilen test aracı, belirlenen seçim kıstasları ve sonuçlarını içeren bir rapor hazırlanarak üst yönetimin onayına sunulur. Seçilen test aracı ücretli bir uygulama ise yönetim onayı sonrasında uygun lisans için satın alımı iş emri verilir. Yazılım test otomasyonu için kullanılacak araç seçimi ve varsa lisanslama yapıldıktan sonra süreçte önceden belirlenmiş olan otomasyona geçirilecek yazılım için hazırlanmış ya da hazırlanacak dokümanların şablonları otomasyona uygun hale getirilmelidir. Bu aşamada yazılım gereksinim özelliklerini belirten dokümanlardan test tanımlarının yapıldığı dokümanlara kadar bütün dokümanlar taranıp test aracının seçiminde elde edilen bilgiler kullanılarak test otomasyonuna hazır hale getirilmelidir. Özellikle manuel test için hazırlanan test tanımları ve test raporları bu süreç boyunca değişikliğe ihtiyaç duyacaktır. Örneğin test otomasyon aracında oluşturulan senaryolar yazılım test tanımı dokümanı olarak ve testler koşturulduktan sonra oluşan test aracının çıktıları da test raporu dokümanı olarak kullanılabilir. Böylece konfigürasyon kontrolü altına alınan yazılımın ilgili dokümanlarını(test tanımları dokümanı, test raporu, test girdileri vb.) tekrar hazırlamak için işgücü kaybının önüne geçilmiş olur. Ayrıca test aracının yetenekleri de göz önünde bulundurularak bazı senaryolardaki işlem yüklerinin kullanılan test yazılımına aktarılması ile test otomasyon aracı ve test yazılımı arasında yapılacak işlemlerin paylaştırılması söz konusu olabilir. Bu tip durumlar da değerlendirilerek testlerin otomasyona aktarılma süresini kısaltmak için test yazılımlarına ilave yetenekler eklenmelidir. Örneğin bir test senaryosunun koşturulması için test otomasyon aracı üzerinde yapılması gerekiyorsa ve o senaryonun test yazılımında kodlanması daha az işgücü gerektiriyorsa tercih test yazılımına senaryonun kodlanması yönünde olmalıdır.</figDesc><table><row><cell></cell><cell cols="2">özelleştirilebilir olması 3.1 "Test koşturma yardımcısı" yeteneği</cell><cell></cell><cell>8</cell><cell>8</cell><cell>7</cell><cell>9</cell></row><row><cell>2.3</cell><cell cols="3">"Scheduling server" yeteneği 3.2 "Konfigürasyon kontrol" plug-in desteği</cell><cell>9</cell><cell>10</cell><cell>9</cell><cell>8</cell></row><row><cell>2.4 2.5</cell><cell cols="3">Hazırlanan test tanımlarının belirli bir formatta 3.3 Test tanımları tekrar kullanılabilirlik desteği ihraç edilebilmesi Test geçmişi bilgisi tutabilme yeteneği 3.4 Kullanıcı tanımlı arayüz objelerini tanıma yeteneği</cell><cell>7 10</cell><cell>8 10</cell><cell>7 10</cell><cell>6 10</cell></row><row><cell>3</cell><cell cols="4">Esneklik ve Genişletilebilirlik 6 Alt Yapıların Otomasyona Uyarlanması</cell><cell></cell><cell></cell></row><row><cell>3.1 3.2</cell><cell cols="2">"Test koşturma yardımcısı" yeteneği "Konfigürasyon kontrol" plug-in desteği Tablo 4 Örnek test aracı puan hesaplama kartı</cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>3.3</cell><cell cols="2">Test tanımları tekrar kullanılabilirlik desteği KISTASLAR</cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>3.4</cell><cell cols="2">Kullanıcı tanımlı arayüz objelerini tanıma yeteneği 3 Esneklik ve Genişletilebilirlik</cell><cell></cell><cell>Puan (1-10)</cell><cell cols="3">Üye 1 Üye 2 Üye 3</cell></row><row><cell>4</cell><cell>Bakım 3.1</cell><cell>"Test koşturma yardımcısı" yeteneği</cell><cell></cell><cell>8</cell><cell>7</cell><cell>7</cell><cell>10</cell></row><row><cell>4.1</cell><cell cols="3">Test aracına verilen destek 3.2 "Konfigürasyon kontrol" plug-in desteği</cell><cell>7</cell><cell>6</cell><cell>6</cell><cell>9</cell></row><row><cell>5</cell><cell cols="3">Adaptasyon Kolaylığı 3.3 Test tanımları tekrar kullanılabilirlik desteği</cell><cell>8</cell><cell>7</cell><cell>10</cell><cell>7</cell></row><row><cell>5.1 5.2</cell><cell cols="3">Tablo 2 Test aracı değerlendirme kartı KISTASLAR Kolay kullanılabilirlik yeterliliği Test araç dokümantasyonu ve eğitim materyali 3.4 Kullanıcı tanımlı arayüz objelerini tanıma yeteneği</cell><cell>7</cell><cell>8</cell><cell>6</cell><cell>7</cell></row><row><cell>1 5.3 6</cell><cell cols="2">Uygunluk Test tanımı hazırlama kolaylığı Lisans ve Maliyet Tablo 5 Örnek test aracı değerlendirme kartı</cell><cell>Puan (0-10)</cell><cell>Ağırlık (1-10)</cell><cell>Puan* Ağırlık</cell><cell cols="2">Üye 1 Üye 2 Üye n</cell></row><row><cell>1.1 6.1</cell><cell cols="2">Masaüstü uygulama desteği (.NET, Java vb.) Lisans çeşitliliği KISTASLAR</cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16</cell><cell cols="7">Windows 32-bit ve 64-bit desteği Windows dışındaki diğer işletim sistemleri Test aracının seçimi için verilen örnekte [Tablo 5] "Kepner-Tregoe" yöntemi 3 Ağırlık Puan Ağırlık* Esneklik ve Genişletilebilirlik (1-10) (1-10) Puan desteği "Data-driven" test geliştirme desteği "Recorded" test geliştirme desteği "Scripted" test geliştirme desteği "Debug-Breakpoint" desteği Karşılaştırma (dosya, görüntü, tablo) yeteneği "Conditional check point" yeteneği "Performance test" yeteneği "Load test" yeteneği "Explaratory test" yeteneği "Manuel Test" sonuçlarını test raporuna ekleme özelliği "Dynamic Test List" yeteneği "DOORS" plug-in desteği "JIRA" plug-in desteği 3.1 "Test koşturma yardımcısı" yeteneği 8 8 64 3.2 "Konfigürasyon kontrol" plug-in desteği 9 7 63 3.3 Test tanımları tekrar kullanılabilirlik desteği 7 8 56 3.4 Kullanıcı tanımlı arayüz objelerini tanıma yeteneği 10 7 70 kullanılarak test aracı değerlendirmesi yapılmıştır. Tablo 3 Örnek test aracı ağırlık hesaplama kartı Toplam 253</cell></row><row><cell>1.17</cell><cell cols="2">"JENKINS" plug-in desteği</cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>2</cell><cell cols="2">Bilgiye Erişebilirlik KISTASLAR</cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>2.1 2.2</cell><cell cols="2">"Email notification" yeteneği Test Raporunun açık, okunabilir ve 3 Esneklik ve Genişletilebilirlik</cell><cell></cell><cell>Ağırlık (1-10)</cell><cell cols="3">Üye 1 Üye 2 Üye 3</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head>9 Yazılım Test Otomasyonu ve Sürekli Entegrasyon Sürekli</head><label></label><figDesc>Testler, test otomasyon aracına aktarıldıktan sonra mutlaka konfigürasyon kontrolü altına alınmalıdır. Geliştirilen testler dışında test edilen yazılım, yazılım gerekleri, test tanımları ve oluşturulan dokümanların konfigürasyon kontrolü altına alınması versiyondan versiyona yapılan değişikliklerin ölçülebilmesini ve versiyon kontrolü altına alınan test tanımlarının gerektiğinde tekrardan koşturulabilmesini sağlar. Versiyon kontrolü özellikle test konfigürasyonunun korunmasını sağlamaktadır. Test edilen yazılım ile test aracında oluşturulmuş test dosyalarının aynı konfigürasyon kontrol aracı altında tutulması ile yazılımın istenen sürümü için tekrar test yapılması istendiğinde ilgili yazılım sürümüne karşılık gelen test aracı dosyalarını kullanarak testler tekrar edilebilir. entegrasyon bir yazılım geliştirme ekibinin geliştirdiği kod parçacıklarının sürekli ve belirli bir sıklıkla birleştirilmesiyle gerçekleştirilen bir yazılım geliştirme yöntemidir. Çevik yöntemler genellikle bir veya iki haftalık kısa iterasyonlara dayanır. Sürekli entegrasyon bu tekrarlarda koşturulan otomatik testler ile sonuçları hızlıca yazılım geliştirme ekibine bildirebilir. Sürekli entegrasyona uygun şekilde tasarlanan otomatik testler genelde yazılımın test edilmesi gereken kısmının büyük bir bölümünü kapsar. Böylece her bir tekrarlamada yazılıma eklenen/değiştirilen kod parçacığının etkisi kaliteden ödün verilmeden, manuel test için harcanan sürenin çok altında bir sürede gözlemlenebilir ve ilgili paydaşlara raporlanabilir. Yazılım test otomasyonu sürekli entegrasyona dahil edilmiş bir yazılım projesinde kullanıldığında maksimum faydayı sağlayabilecektir. Ayrıca yapılan test tekrarları sağlanan faydayı arttıracaktır. Test verimliliğini ölçmeye yarayan metriklerden biridir. Ancak dikkat edilmesi gereken iki husus vardır: a. Yazılımda mevcut olan sorun sayısı (bulunmuş ya da bulunmamış) "Bulunan Hata Sayısı" nı etkiler. b. Tüm sorunlar eşit önemde değildir, sorunlara "önem seviyesi" verilerek doğru yazılım kalite ölçümü yapılır. • Sorun Bulma Verimliliği (SBV): Test verimliliğini ölçmeye yarayan kuvvetli bir metriktir. Sorunu yazılım geliştirme sürecinin erken safhalarında bulmak çok önemlidir. Sorun Yaşı ve Bozulmuşluk metrikleri aynı temel ile çalışır, hatanın ne kadar geç bulunduğunu bulmaya yarar. Sorun Yaşı aşağıdaki gibi bulunur [Tablo 6]: Yazılım test otomasyonuna geçme kararı vermeden önce ihtiyaçlar ve beklentiler belirlenmeli, yazılım test aracı olarak kullanılması düşünülen yazılım araştırılmalıdır. Planlama yaparken süreçte zaman ve iyi bir ekibe ihtiyaç duyulacağı unutulmamalıdır. Test otomasyonu sürekli gelişmeye açık bir süreç olduğundan yapılacak ölçümler ile eksik ve ya hatalı bulunan yönleri düzeltilebilir. Sürecin ilk başında test otomasyonuna karar verilmesi aşamasında yapılan maliyet ve fayda analizi süreç boyunca tekrarlanabilir ve her tekrarda artan tecrübe ve birikim ile gerçeğe daha yakın sonuçlar elde edilebilir.</figDesc><table><row><cell>yapılması gerektiği hakkında bizlere bilgi verecektir. Bu bilgiler ışığında testlere yeni Tablo 6 Sorun yaşı*</cell></row><row><cell>senaryolar eklenmeli, bir sonraki koşumlarda tekrar ölçümler yapılarak sürekli</cell></row><row><cell>iyileşme sağlanmalıdır. Ayrıca test metrikleri, test edilen yazılımın hedeflenen kalite</cell></row><row><cell>seviyesine ne kadar ulaştığını ve yazılımın dağıtıma hazır olup olmadığını</cell></row><row><cell>belirlemeye yarayan objektif ölçümlerdir.</cell></row><row><cell>Temel test metrikleri;</cell></row><row><cell>• Bulunan Sorun Sayısı: Bozulmuşluk = (Σ (A * B)) / Σ A 11 Sonuç</cell></row><row><cell>A: Bir fazda bulunan hata sayısı</cell></row><row><cell>B: Sorun Yaşı</cell></row><row><cell>10 Test Sürecinde Ölçüm</cell></row><row><cell>Testlerin manuel ya da otomatik olarak yapılmasından bağımsız olarak test</cell></row><row><cell>süreçlerinin ölçülmesinde test metrikleri kullanılmalıdır. Test metrikleri ile yapılan</cell></row><row><cell>ölçümler, otomasyona aktarılan testlerin bakım sürecinde ne gibi güncellemeler</cell></row></table><note>SBV = A / (A + B)A= Testler sırasında bulunan sorun sayısı B = Son Kullanıcı tarafından bulunan sorun sayısı SBV'nin başarısı bazı faktörlere bağlıdır. a. Bulunan hataların önem derecesi dikkate alınmalıdır. b. Son Kullanıcının etkisi önemlidir. • Sorun Yaşı ve Bozulmuşluk:</note></figure>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0" />			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">Software Test Automation Effective Use of Test Execution Tools</title>
		<author>
			<persName><forename type="first">M</forename><surname>Fewster</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Graham</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1999">1999</date>
			<publisher>Addison-Wesley</publisher>
			<pubPlace>New York</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<author>
			<persName><forename type="first">C</forename><surname>Kaner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Bach</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Pettichord</surname></persName>
		</author>
		<title level="m">Lessons Learned in Software Testing</title>
				<meeting><address><addrLine>New York</addrLine></address></meeting>
		<imprint>
			<publisher>Wiley Computer Publishing</publisher>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Software Testing Tips Experiences and Realities</title>
		<author>
			<persName><forename type="first">B</forename><surname>Sarıalioğlu</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2014">2014</date>
			<publisher>Barış Sarıalioğlu</publisher>
			<pubPlace>Đstanbul</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Yazılım Test Mühendisliği</title>
		<author>
			<persName><forename type="first">A</forename><surname>Gürbüz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Papatya Yayıncılık Eğitim</title>
				<meeting><address><addrLine>Đstanbul</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Economic Perspective in Test Automation: Balancing Automated and Manual Testing with Oppurtunity Cost</title>
		<author>
			<persName><forename type="first">R</forename><surname>Ramler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Wolfmaier</surname></persName>
		</author>
		<imprint>
			<biblScope unit="page" from="85" to="91" />
			<pubPlace>Austria</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">The Automated Testing Handbook</title>
		<author>
			<persName><forename type="first">L</forename><surname>Hayes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename></persName>
		</author>
		<imprint>
			<date type="published" when="1996">1996</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
