<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Kullanım Modeli Bazlı Otomatik Test Tasarımı</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ceren Şahin Gebizli</string-name>
          <email>ceren.sahin@vestel.com.tr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Duygu Metin</string-name>
          <email>duygu.metin@vestel.com.tr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Vestel AR-GE Tasarım Doğrulama ve Test Bölümü, Vestel Elektronik San ve Tic. A.Ş.</institution>
          ,
          <addr-line>Manisa</addr-line>
          ,
          <country country="TR">Türkiye</country>
        </aff>
      </contrib-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Özet. TV ve STB‟lar (Uydu Alıcıları), kullanıcılara sundukları yeni
teknolojiler ile tüketici elektroniği pazarında önemli bir yere sahiptir.</p>
      <p>Bu pazarda müşterilerin temel beklentisi:</p>
      <p>Aldıkları ürünlerin son teknolojileri içermesi,
Üründeki özelliklerin sorunsuz çalışması ve
Bu son teknoloji ürünler markete çıkar çıkmaz uygun fiyata o ürünlere
sahip olabilmek yönündedir.</p>
      <p>Bu bağlamda, üreticinin, son teknolojilerin bulunduğu ürününü, pazara aynı
alandaki rakiplerine göre daha hızlı ve daha kaliteli şekilde çıkarabilmesi
önemli bir kriterdir.</p>
      <p>Son yıllarda televizyonlar eski elektro-mekanik yapılarından uzaklaşıp hızla
karmaşık yazılım sistemleri haline dönüşmektedir. Bu nedenle ürünün kalitesi,
sadece donanımsal güvenilirliğe değil, üründe kullanılan yazılımın
güvenilirliğine de önemli derecede bağlıdır. Markete daha hızlı ve hatasız çıkabilmek
adına Vestel Ar-Ge Tasarım Doğrulama ve Test Grubu olarak bu karmaşık
sistemlerin testini hızlandırmak ve daha verimli hale getirmek için sürekli yeni
yöntemler araştırmaktayız.</p>
      <p>Bu süreçte testin tasarımı ve çalıştırılmasının birbiriyle doğrudan ilişkili ve
önemli iki parça olduğunu gördük. Doğru tasarlanmış bir testin otomatik olarak
çalıştırılması, maliyetlerin azaltılmasını, ürün kalitesinin yükseltilmesini,
kaynak ve zamanın daha etkin kullanılmasını sağlar. Otomatik test sayesinde
sınırlı bir süre içinde, önemli test senaryolarının kapsandığı testler yapılabilir.</p>
      <p>Ancak verimli testin temelinde otomasyon değil önemli test senaryolarının
kapsandığı testin tasarımı yatar. Hatayı bulan otomasyon sistemi değil tasarımı
iyi yapılmış testtir.</p>
      <p>Tasarımı iyi yapılmamış test senaryosu manual koşulduğunda hata
bulunmuyorsa otomatik koşulduğunda da hata bulunmayacaktır. Otomasyonun hedefi
manual testte bulunmayan hataları bulmak olmamalıdır.</p>
      <p>Verimli test stratejileri de sadece hata bulmaya odaklanmaz. Kullanım
sıklığı daha yüksek olan kısımlar test edilerek, testler daha verimli hale getirilebilir.
Kullanım profilini baz alan test senaryolarını kullanmak, bu noktada daha
anlamlı olacaktır.</p>
      <p>Vestel Ar-Ge Tasarım Doğrulama ve Test Grubu tarafından yapılan bu
çalışmada, TV‟ler son kullanıcıya ulaşmadan önce, AR-GE aşamasında iken
yayınlanan tüm yazılımlar ile, kullanım profili baz alınarak, testler için
kullanılacak test senaryoları ve test datasının otomatik hazırlanması, Vestel Test
Yönetim ve Otomasyon Sistemi VesTA üzerinden bu test senaryolarının otomatik
çalıştırılması ve sonuçlarının yine bu sistemde saklanıp zaman içinde gerekli
olduğu durumlarda çeşitli raporlar oluşturulabilmesi için belirlenen yöntem
anlatılmıştır.</p>
      <p>Bu çalışma ile daha etkin, daha kapsamlı, daha spesifik test senaryoları
oluşturmak ve testleri otomatik olarak çalıştırıp zamanı verimli kullanmak mümkün
olmuştur.</p>
      <p>İlerleyen bölümlerde Vestel Test Yönetimi ve Otomasyon sistemi
VesTA‟dan, VesTA üzerinde koşturulmak üzere kullanım modeli baz alınarak
hazırlanan test senaryolarından ve kullanılan bu sistemin getirilerinden
bahsedilecektir.</p>
      <p>Anahtar Kelimeler. Tasarım Doğrulama, Yazılım Sınama ve Doğrulama,
Manual test, Otomatik test, Kullanım Modeli Bazlı Test, Test otomasyonu, Verimli
test, kullanım profili, Kullanım olasılıkları, Test Senaryosu.
1</p>
    </sec>
    <sec id="sec-2">
      <title>Giriş</title>
      <p>Tüketici elektroniği alanında düşük fiyatlı, yüksek kaliteli ürün beklentisi giderek
artmaktadır. Müşterilerin temel beklentisi:</p>
      <p>Aldıkları ürünlerin son teknolojileri içermesi
Üründeki özelliklerin sorunsuz çalışması ve
Bu son teknoloji ürünler markete çıkar çıkmaz uygun fiyata o ürünlere sahip
olabilmek yönündedir.</p>
      <p>
        Son teknolojilerin bulunduğu ürünün, pazara aynı alandaki rakiplerine göre daha
hızlı ve daha kaliteli şekilde çıkarılabilmesi için, ürün AR-GE aşamasında birçok
testten geçirilir. TV ve STB(Set Top Box) projelerinde ömür testleri, stres testleri,
elektriksel testler gibi donanımsal testlerin yanı sıra ağırlıklı olarak yazılım testleri
yapılır. Gelişen teknolojiler ile televizyonların akıllı televizyonlar haline getirilmesi
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], gelişmiş multimedya servisleri gibi geniş kapsamlı birçok interaktif servisler ve
uygulamaları içermesi [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] (örnek; IPTV, Interaktif TV, Hybrid Broadcast Broadband
TV, Pay TV ve daha birçok internet uygulamaları) sebebiyle, sistemsel yapıları daha
karmaşık bir hal almıştır.
      </p>
      <p>Bu uygulamaların her geçen gün artması yeni ürünlerin yazılım sürümlerinin de
sürekli güncellenmesi anlamına gelmektedir.</p>
      <p>Bu gibi karmaşık sistemlerin detaylı test edilmesi uzun süre gerektirir. Ürün
geliştirme sürecinde test aktiviteleri toplam ürün geliştirme süresinin yaklaşık yüzde
30‟unu kapsamaktadır.</p>
      <p>Ürün yaşam döngüsü boyunca testin büyük önemi vardır. Genel hatları ile ürün
tasarım ve test yaşam döngüsü ürün yönetim ekibinin müşteri taleplerini içeren
gereksinim dökümanı yayınlaması ile başlamış olur. AR-GE aşamasında TV ile yapılan ilk
test, tasarım grupları tarafından yayınlanan ürün teknik detaylarının belirtildiği
döküman üzerinden yapılır. AR-GE test aşamasında belirli sayıda ürün üzerinde detaylı
fonksiyonel test yapılır. Artan ürün karmaşıklığı ve proje için öngörülen zaman kısıtı
nedeni ile testlerin çalıştırılma tipini manual ya da otomatik olarak ayrımlaştırma ve
testlerin bir kısmını otomatik koşma gerekliliği artmaktadır. Testleri otomatik
çalıştırmak zaman ve kaynak kullanımında verimliliği sağladığı gibi, bazı testlerde de aynı
sürede manual teste göre çok daha kapsamlı bir testi bitirebilmeyi sağlar. Manual test
olarak uygulandığında uzun zaman alacak birçok test senaryosu kısaltılır ya da atlanır.
Bu da birçok hatanın AR-GE aşamasında görülmeden TV‟nin üretime girmesine
neden olabilir.</p>
      <p>
        Otomatik test prosedürlerine geçiş sadece işgücünün etkin kullanılmasını
sağlamakla kalmaz, ürünün pazara giriş süresini kısaltır, maliyetini düşürür ve kaliteyi
yükseltir. Bu nedenle, test otomasyonu ve yönetimi giderek kritik ve stratejik bir
zorunluluk haline gelmiştir.[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
      </p>
      <p>Testlerin otomatize edilmesi hem zaman hem de kaynak kullanımında verim
sağlar. Ancak esas önemli nokta testin nasıl tasarlandığıdır. Otomasyon araçları kendi
başlarına hata bulamazlar. Otomayon araçları, o araca verdiğiniz test senaryolarını
otomatik olarak çalıştırmanızı sağlar. Sistemdeki kritik hataların bulunması ancak iyi
bir test tasarımı ile mümkündür. Kullanım profilini ve olasılıklarını çıkarmak da, bize
TV‟de hangi bölümlerin daha fazla kontrol edilmesi gerektiği konusunda fikir
vermektedir. Test tasarımını yaparken kullanım profilini ve olasılıklarını baz almak, bizi
karmaşık bir sistemde daha spesifik test alanlarına götürür. Böylece müşterilerin
kullanım alışkanlıklarına göre bir test tasarımı yapmış oluruz ve müşteriler tarafından
görülmesi olası hataların önceden önüne geçerek, daha kaliteli ürünler üretebiliriz.</p>
      <p>
        Test senaryolarının kullanım profiline göre çıkarılması, model bazlı test tekniği
kullanılarak sağlanmıştır [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Bu şekilde kullanıcının daha çok kullandığı televizyon
özellikleri için daha fazla test senaryosu elde etmiş oluruz. Bu senaryoları da mümkün
olduğunca otomatize ederek test süresini ve kaynak kullanımını azaltırız [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>Bu çalışmada, kullanım profili temel alınarak hazırlanan model ile otomatik test
senaryolarının oluşturulması, yazılımın işlevselliğini doğrulamaya olanak sağlayan
kara kutu test yöntemi kullanılarak test senaryolarının çalıştırılması ve tüm bu
işlemlerin Vestelde tasarlanan test yönetim ve otomasyon sistemi üzerine nasıl
gerçekleştiği incelenmiştir.</p>
      <p>İlerleyen bölümlerde aşağıdaki konular açıklanacaktır;</p>
      <p>
        Gerçek kullanıcılar kullanılarak kullanım olasılıklarının belirlenmesi
Kullanım profilinden olasılık ve olayların çıkartılarak kullanım modelinin
oluşturulması. Kullanım modelinin MaTeLo [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] aracı kullanılarak tasarlanması.
MaTeLo‟da tasarlanan model üzerinden otomatik test senaryolarının
oluşturulması
Oluşturulan otomatik test senaryolarının Vestel Test Yönetim ve Otomasyon
Sistemi (VesTA) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] üzerinde çalıştırılması.
      </p>
      <p>VesTA üzerinden test sonuçlarının değerlendirilmesi
Kullanım profili temel alınarak tasarlanan test süreci aşağıdaki bölümlere ayrılır:
Gereksinimlerin belirlenmesi.</p>
      <p>Bu gereksinimleri test etmek üzere gerekli test başlıklarının belirlenmesi.
Yazılım durum geçiş diyagramının çıkarılıp, olasılık bilgilerinden de
faydalanılarak TV kullanım modelinin oluşturulması.</p>
      <p>Test senaryoların oluşturulması:
o Girişlerin belirlenmesi;
o Olasılık dağılımına göre otomatik olarak test adımlarının belirlenmesi;
o Beklenen sonuçların tanımlanması.</p>
      <p>Test senaryolarının çalıştırılması.</p>
      <p>Test çıktılarının beklenen sonuçlar ile karşılaştırılması .</p>
      <p>TV test süreci, MaTeLo aracında modellenen bir testin, test sonuçları elde
edilmesine kadar hangi süreçlerden geçtiğini gösteren genel bir diyagram, aşağıdaki şekil
(Şekil 1) ile ifade edilebilir.</p>
      <p>Şekil 1. TV Test süreci diyagramı
2</p>
    </sec>
    <sec id="sec-3">
      <title>Kullanım Profili ve Kullanım Olasılıkları Belirlenmesi</title>
      <p>TV uygulaması ile kullanıcıların etkileşimi sistemsel olarak durum-geçiş diyagramı
olarak modellenebilir. Bu diyagramda aktif kullanıcı ara yüzünü ya da o anki
fonksiyonel durumu “durum” olarak tanımlanır. Kumanda ya da ön panel tuşları ile
gönderilen komutlar ise “geçiş”leri ifade eder.</p>
      <p>Özel yazılımlar aracılığı ile TV-kullanıcı etkileşimini otomatik olarak çıkarmak
mümkündür. Gerçek kullanıcılardan alınan kullanım bilgileri bir takım olasılık
bilgisini de barındırması açısından büyük önem taşır. Bu veriler ile gerçek hayata yönelik
yüksek olasılıklı koşulların öncelikli olarak kontrol edilmesi ve ürünler seri üretim
aşamasına gelmeden önce olası hataların bulunması müşteri memnuniyeti açısından
büyük önem taşır.</p>
      <p>
        Kullanım profili ve olasılıkların belirlenmesi 2 aşamadan oluşur [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>İlk aşamada kullanıcıların televizyon ile etkileşimleri (Televizyona belli
durumlarda kumanda ya da ön panel tuşları ile gönerdikleri komutlar) televizyonlarına takılan
boş USB‟lere kaydedilir. Kaydedilen dosyalar içinde “durum” ve “geçiş”ler
bulunmaktadır. Bu durumlar kullanıcının girdiği herhangi bir menünün ya da kaynağın
bilgisini içerir. Geçişler ise o menülere nasıl girildiğinin bilgisini verir (hangi
kumanda komutu ya ön panel tuşu ile girildiğinin bilgisi).</p>
      <p>İkinci aşamada ise kullanıcılardan alınan dosyalar incelenerek ve ayrıştırılarak
kullanım profili ve kullanım olasılıkları çıkartılmış olur.</p>
      <p>Yapılan çalışmalarda kullanıcı profili parametresi bulunmamaktadır. İleride
yapılacak çalışmalarda farklı kullanıcı kategorisi belirlenip(yaş aralığı, meslek grubu vs.) bu
kategorilere göre kullanım profili oluşturulması ve modelin kullanıcı profiline göre
nasıl farklılık gösterdiği belirlenebilir.
3</p>
    </sec>
    <sec id="sec-4">
      <title>Kullanım Profili ve Olasılıkları Kullanılarak Kullanım</title>
    </sec>
    <sec id="sec-5">
      <title>Modelinin Oluşturulması</title>
      <p>
        Kullanım modeli, kullanıcıların sistemi nasıl kullandığını gösterir [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ][
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] ve bu
model kullanım profili olarak da adlandırılabilir. Kullanım profilleri, kullanım
olasılıklarınının durumlar arasındaki geçişlerde kullanıldığı, sonlu durum makinaları olarak
tanımlanabilir.
      </p>
      <p>Kullanım profili için basit bir örnek verme amacıyla hazırlanan model aşağıdaki
gibidir.(Şekil 2) Verilen kullanım profili, 3 durum (Picture, Sound ve Settings) ve 6
geçiş (Picture_Sound, Sound_Picture, Sound_Settings, Settings_Sound,
Picture_Settings, Settings_Picture) içermektedir.</p>
      <p>Her bir durum aşağıdaki bilgileri içerir;
Olası bir geçiş için bir giriş olayı.</p>
      <p>Bir sonraki durum bilgisi ve giriş olayının meydana gelme olasılığı.</p>
      <p>Sistemi modellerken, daha önemli fonksiyonlar için daha yüksek geçiş olasılıkları
verilir. Böylece test senaryoları oluşturulurken, yüksek olasılıklı olan geçişler daha
fazla test adımında kullanılmış olur.</p>
      <p>
        Bu şekilde, sık kullanılan özellikler, testler sırasında daha çok kontrol edilmiş olur
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ][11].
      </p>
      <p>Şekil 2. Sonlu durum makinaları
3.1</p>
      <p>
        TV modelleme
Bir TV seti modellenmesi öncelikle fonksiyonel spesifikasyon analizi ile başlar.
Gerçek bir modelleme için, teste alınan sistemin tüm bileşenleri için durum, giriş, çıkış ve
olasılıklar belirlenmelidir [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ][11][12]. Ancak bu çalışmada kullanıcılardan alınan
bilgiler doğrultusunda sistemin sadece bir kısmı için yapılan modelleme ele
alınacaktır.
      </p>
      <p>Basit bir model tablo1‟de gösterilmiştir. 2 durum ve 2 geçiş içermektedir. Bir
durum TV‟deki herhangi bir durumun yerini belirler. (Açma/kapama, menüye girme
vb.) Geçişler bir durumdan başka bir duruma geçmek için kullanılır. (TV açma
durumundan, tv kapama durumuna geçilmesi) Bir geçiş bir ya da birden fazla olay
içerebilir.</p>
      <p>Şekil 3‟te durumlar arası geçişleri gösteren TV açma ve kapatma modeli (“Standby
off” / “on”) verilmiştir.</p>
      <p>Şekil 3. TV açma ve kapatma (Standby off/on)
“Standby off” durumundan “on” durumuna geçmek için (“standby”, “pr+”, “pr-”,
“0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”) olaylarından biri kullanılabilir. Ancak
standby off durumundan on durumuna geçebilmek için yalnızca bir olay
vardır.(“standby”)</p>
      <sec id="sec-5-1">
        <title>Tablo 1. Basit bir model için durum tablosu</title>
        <p>Kaynak Durumu</p>
        <p>Geçiş
STANDBY_OFF</p>
        <p>ON</p>
        <p>G_On
G_Off</p>
        <p>S</p>
        <p>{S1, S 2,...Sn}</p>
        <p>Süreç başlangıç durumundan başlar ve diğer duruma geçer. Her geçiş bir adım
olarak adlandırılır. Eğer mevcut durum Si ise, bu mevcut durum olan i‟ye bağlı olan
olasılık ile Sj durumuna geçer.</p>
        <p>S ( Xn 1 | X 1, X 2,...Xn)</p>
        <p>S ( Xn 1 | Xn)</p>
        <p>Bu olasılık pij ifade edilir ve bu geçiş olasılığı olarak adlandırılır. Eğer süreç aynı
durumda kalacaksa bu kez olasılık pii olarak ifade edilir. Markov zinciri N x N geçiş
olasılık P matrisinde gösterilir. Bu matrisin her satırındaki değerlerin toplamı 1‟e
eşittir.</p>
        <p>i</p>
        <p>N</p>
        <p>Pij</p>
        <p>1
j 1</p>
        <p>Tablo1‟deki kullanım modeli durum tablosu temel alınarak her geçiş için
olasılıklar da eklenir. Bir durumdan diğer bir duruma geçişte toplam kaç geçiş varsa
bu geçişlerin olasılıklarının toplamı 1‟e eşit olmalıdır.</p>
        <p>Her bir geçiş için de, kaç adet olay kullanılıyorsa bu olayların da olasılıkları
toplamı 1‟e eşit olmalıdır. (3). Olasılıkların doğru dağılımı için gerçek kullanıcılardan
alınan bilgiler kullanılmalıdır. (Deneysel sonuçlar bölümünde gerçek kullanıcıların
tecrübeleri kullanarak hazırlanan model bulunmaktadır.)</p>
        <p>Tablo1‟de verilen modelde kullanılan geçişler ve olaylar için olasılık dağılımı
örneği tablo 2‟de gösterilmiştir.</p>
      </sec>
      <sec id="sec-5-2">
        <title>Tablo 2. Olaslık dağılımı (1) (2) (3)</title>
        <p>Kaynak Durumu</p>
        <p>Geçiş</p>
        <p>Geçiş Olasılığı
STANDBY_OFF</p>
        <p>ON</p>
        <p>G_On
G_Off</p>
        <p>Tablo2‟de hazırlanan bu durum tablosu, Şekil 4‟te görüldüğü gibi MaTeLo Usage
Model Editor kullanılarak tasarlanır [15].</p>
        <p>Aşağıdaki şekilde; yeşil ok bulunan durum başlangıç durumunu, kırmızı karenin
bulunduğu durum ise bitiş durumunu ifade etmektedir. Kullanıcı davranışlarına göre
hesaplanan olaslık bilgilerini içeren yay oklar, TV durum geçişlerini ifade etmektedir.</p>
        <p>Geçişlere “delay”, erteleme bilgisi de verilebilmektedir. Bir durumdan diğerine
geçerken kaç saniye sonra geçmesi gerektiği bilgisi geçişlere atanabilmektedir.</p>
        <p>Şekil 4. MaTeLo Usage Model Editor‟de modelleme
4</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Kullanım Modeli İle Otomatik Test-Senaryolarının</title>
    </sec>
    <sec id="sec-7">
      <title>Oluşturulması</title>
      <p>MaTeLo ile yapılan modelleme sonrası MaTeLo Testor kullanılarak yüzlerce test
senaryosu oluşturulabilir [15][16].</p>
      <p>MaTeLo Testor‟un çıktısı olarak, TV durum ve geçiş bilgilerini içeren, test
senaryolarının bulunduğu XML dosyası yayınlanır. Vestel Test Yönetim ve Otomasyon
aracında (VesTA) bu test senaryolarını kullanabilmek için, XML dosyası özel olarak
hazırlanan bir yazılım aracılığı ile test scriptlerine dönüştürülür. Bu scriptler, TV
uzaktan kumanda otomatik navigasyonu, ses/görüntü yakalama/işleme ve
karşılaştırma gibi alt işlemlerin bilgilerini içerir.</p>
      <p>Test senaryoları modelleme sırasında model üzerinde ayarlanan kullanım
olasılıklarına göre oluşturulur. MaTeLo Testor Part ile test senaryoları oluşturulurken
başlangıç durumundan başlanır, verilen olasılıklar dâhilinde devam edilir ve bitiş durumu ile
bitirilir.</p>
      <p>
        MaTeLo Testor Part ile test senaryosu oluşturmak için kullanılabilecek 4 algoritma
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] bulunmaktadır.
      </p>
      <p>Olasılığı en yüksek oluşum yaklaşımı: Olasılığı en yüksek geçişler
değerlendirilerek test senaryoları oluşturulur. Test senaryosu kompleksitesi basittir. Kapsam
hedefi nominal senaryolardır.</p>
      <p>Risk bazlı yaklaşım: Karmaşıklığı en yüksek yerler değerlendirilerek test
senaryoları oluşturulur. Test senaryosu kompleksitesi karmaşıktır. Kapsam hedefi risktir.
Arcs Kapsamı yaklaşımı: Gereksinimler değerlendirilerek test senaryoları
oluşturulur. Test senaryosu kompleksitesi karmaşık ve birbirini etkileyecek şekildedir.
Kapsam hedefi gereksinimlerdir.</p>
      <p>Kullanım-odaklı: Operasyonel kapsam değerlendirilerek, kullanıcıların
davranışlarına uygun test senaryoları oluşturulur. Test senaryosu kompleksitesi birbirini
etkileyecek şekildedir. Kapsam hedefi güvenilirliktir.</p>
      <p>Bir test senaryosu test girişleri sıraları(test input sequences), TV‟de alınacak
aksiyonlar(durumlar, geçişler) ve beklenen çıkış sıralarını(expected output sequences)
içermektedir.</p>
      <p>Bu test senaryolarının XML halinde yayınlanmasının nedeni birçok farklı test
otomasyon aracında çalıştırılabilir olmasıdır.</p>
      <p>Kullandığımız sistemde, bu XML dosyalarının VesTA‟da çalıştırılabilmesi için
yine AR-GE‟de, kendi geliştirdiğimiz bir çevirici program kullanmaktayız. XML çıktısı
olarak aldığımız test senaryolarını bu program ile VesTA‟da çalıştırılabilecek şekilde
düzenleyebilmekteyiz. Aynı zamanda bu XML dosyaları, manual testler için de
kullanıma uygundur.</p>
      <p>Aşağıdaki şekilde, (Şekil 5) XML dosyası, bir web tarayıcı aracılığıyla açıldığında,
o XML dosyasının herhangi bir test adımları hakkında nasıl bir bilgi verdiği
görülmektedir.</p>
      <p>Şekil 5‟te 5 adımdan oluşan bir test senaryosu bulunuyor. Bu senaryoda; TV‟ye
güç veriliyor, kumandadaki numerik tuşlardan “6” tuşu ile TV açılıyor, kumanda
üzerindeki “source” tuşu ile kaynaklar listesi açılıyor, listedeki ilk kaynak tipi
seçiliyor ve ardından TV “standby” tuşu ile kapatılıyor.</p>
      <p>Şekil 5. XML çıktısı</p>
    </sec>
    <sec id="sec-8">
      <title>Otomatik Test Senaryolarının VesTA’da çalıştırılması</title>
      <p>
        TV fonksiyonel testinde, genellikle manual, yarı otomatik ya da tam otomatik test
şemalarının kullanıldığı kara kutu testi yaklaşımı kullanılır [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Donanım ve yazılımın
karmaşık bir kombinasyonunu oluşturan TV için en uygun ve en verimli test
yaklaşımı kara kutu testidir. Kara kutu testi sadece girdi, çıktı ve mevcut TV durumunu göz
önünde bulundurulduğu bir test yaklaşımıdır [17][18].
      </p>
      <p>Otomasyon sistemi olarak Vestel Test Yönetim ve Otomasyon Sistemi (VesTA)
kullanılmıştır.</p>
      <p>VesTA otomasyon aracı, ürünün hızlı ve güvenilir bir doğrulamadan geçirilmesini
sağlar.</p>
      <p>VesTA, TV‟nin fonksiyonel doğrulaması için kullanılır.</p>
      <p>VesTA‟da, TV tasarım spesifikasyonlarına göre, oluşturulan test scriptlerine dayalı
bir otomatik test gerçekleştirilir. TV tasarım spesifikasyonu test edilen TV için
girdileri belirler. Test girdileri temel alınarak, test edilen TV için çıktı verileri oluştururur.
Bu veriler, test edilen TV davranışının doğruluğunu belirlemek için beklenen sonuçlar
ile karşılaştırılarak oluşturulmuştur. VesTA test yönetim ve otomasyon aracı test için
gerekli tüm donanımsal ve yazılımsal modulleri içerir (ya da ilgili cihazları .dll
dosyaları desteği ile uzaktan kontrol eder); ses/görüntü yakalama/işleme cihazı, TV uzaktan
kumanda emulatörü ve işlemlerin gerçekleştirileceği istasyon.</p>
      <p>MaTeLo Testor Part ile en uygun algoritma seçilerek otomatik olarak oluşturulan
test senaryoları, VesTA otomasyon sistemi aracılığı ile çalıştırılır. MaTeLo Testor
Part‟ın test senaryolarını XML formatında oluşturduğunu ve özel bir yazılım ile bu
XML‟in test scriptlerine dönüştürüldüğünü belirtmiştik. Test scriptine dönüştürülen
bu test senaryoları, VesTA otomasyon aracının veritabanına eklenir ve bu test
senaryoları için test planı oluşturulur.</p>
      <p>VesTA‟da sırasıyla aşağıdaki adımlar izlenerek otomatik olarak hazırlanan test
senaryoları TV üzerinde otomatik olarak çalıştırılır.</p>
      <p>VesTA „Test Management System‟ üzerinde yeni bir test paketi oluşturulur.
(Şekil6)
Otomatik olarak oluşturulan test senaryoları test paketine eklenir.</p>
      <p>VesTA „Test Plan Management Module‟ üzerinde bu test senaryoları için yeni bir
test planı oluşturulur. (Şekil-7)
VesTA „Executor‟ Modül üzerinde test planı bir kez çalıştırılır ve referans resimler
alınır. (Şekil-8)</p>
      <p>Test senaryoları karşılaştırma için tekrar çalıştırılır.</p>
      <p>Referans resimler ile gerçek çıktıların karşılaştırma sonuçları (Pass/Fail) „Reporter‟
modülde otomatik olarak yayınlanır. (Şekil-9)</p>
      <p>Şekil 6. VesTA Test Management System
Şekil 8. VesTA Executor Module
Şekil 9. VesTA Reporter Module
6</p>
    </sec>
    <sec id="sec-9">
      <title>Sonuçlar</title>
      <p>Bilinen testler ve eskiden manual olarak çalıştırılan testler otomatize edilip zamandan
ve kaynaktan kazanç sağlamayı hedefleyen yöntemler bazen son kullanıcının
karşılaşabileceği kritik hataları bulamayabilir.</p>
      <p>Otomatik testler, otomatize edilebilen, üründe otomatik olarak çalıştırılabilecek
testlerden seçilir. Önemli olan, otomatize etmekten çok neyin otomatize edildiğidir.
Bu sebeple testin tasarımı ve bu test oluşturulurken kullanılan teknik, kritik hataların
bulunmasında önemli ölçüde rol oynar.</p>
      <p>Biz çalışmamızda testi, kullanıcılardan aldığımız kullanım profiline uygun, son
kullanıcılar tarafından karşılaşılması daha muhtemel hataları bulmaya yönelik
tasarladık. Bu şekilde hem sahada oluşabilecek kritik hataların önüne geçmeyi hedefledik,
hem de modelleme sonucu otomatik olarak oluşturulan binlerce test senaryosunu
otomatik test koduna dönüştürebilecek bir yöntem oluşturduk.</p>
      <p>Otomatik oluşturulan test senaryolarını otomatik olarak çalıştırarak hem zaman
hem de kaynak kullanımında verimlilik sağladık.</p>
      <p>Yeni bir projenin karşılaması gereken gereksinimleri, test edilecek senaryoları ve
tamamlanan testlerin sonuçlarını veri tabanında tutarak, üretime verilecek yazılım ile
ilgili bilimsel değerler ortaya çıkardık (test coverage, requirement coverage vb…)
hem test hem de onay grubu olarak, hangi yazılıma neden üretim onayı verip
vermediğimizi matematiksel olarak ifade edebildik.</p>
      <p>Vestel Tasarım Doğrulama ve Test Grubu tarafından geliştirilen Vestel Test
Yönetim ve Otomasyon Sistemi üzerine çalışmalarımız devam etmekte ve yine bu sistem
kullanılarak hazırlanacak yazılım güvenilirliği hesaplama yöntemi ile ilgili çalışmalar
da Vestel Elektronik AR-GE Test grubunda çalışmalar devam etmektedir.</p>
    </sec>
    <sec id="sec-10">
      <title>Kaynaklar</title>
      <p>11. K.-K. Cheong, I. Kim, S.-K. Park, and Y.-J. Park, “User Performance Measures
for Evaluating Interactive TV Pointing Devices”, IEEE Transactions on
Consumer Electronics, Vol. 57, No. 3, August 2011, pp. 1236-1244.
12. J. Philipps, A. Pretschner, O. Slotosch, E. Aiglstorfer, S. Kriebel, K. Scholl,
“Model-Based Test Case Generation for Smart Cards”, Elsavier Electronic Notes
in Theoretical Computer Science 80 (2003).
13. J. A. Whittaker and M. G. Thomason,
14. “A Markov Chain Model for Statistical Software Testing”, IEEE Transactions on Software</p>
      <p>Engineering Vol. 20, NO. IO, October 1994
15. S. J. Prowell, “Using Markov Chain Usage Models to Test Complex Systems”,
Proceedings of the 38th Hawaii International Conference on System Sciences, 2005
16. A. Guiotto, B. Acquaroli, A. Martelli, “MaTeLo: Automated Testing Suite for Software</p>
      <p>Validation”, Proceedings of DASIA 2003 Jun. 2003, Prague, Czech Republic.
17. W. Dulz, Z. Fenhua, “MaTeLo – Statistical Testing Using Annotated Sequence Diagrams,
Markov Chains and TTCN-3”, IEEE International Conference on Quality Software,
Nov. 2003
18. V. Pekovic, N. Teslic, I. Resetar, and T. Tekcan, "Test management and test execution
system for automated verification of digital television systems", IEEE 14th International
Symposium on Consumer Electronics, 2010.
19. B. Beizer, "Black-box testing: techniques for functional testing of software and systems,"
Wiley, 1995</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Hirakawa</surname>
          </string-name>
          , and
          <string-name>
            <given-names>U. H.</given-names>
            <surname>Reimers</surname>
          </string-name>
          , “
          <article-title>Overview of Digital Television Development Worldwide”</article-title>
          ,
          <source>Proceedings of the IEEE</source>
          , Vol.
          <volume>94</volume>
          , No.1,
          <string-name>
            <surname>Jan</surname>
          </string-name>
          .
          <year>2006</year>
          , pp.
          <fpage>8</fpage>
          -
          <lpage>21</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>C.-C. Lin and M.-S</surname>
          </string-name>
          . Chen, “
          <article-title>Controlling digital TV set-top box with mobile devices via an IP network”</article-title>
          ,
          <source>IEEE Transactions on Consumer Electronics</source>
          , Vol.
          <volume>52</volume>
          , No. 3,
          <string-name>
            <surname>Aug</surname>
            <given-names>2006</given-names>
          </string-name>
          , pp.
          <fpage>935</fpage>
          -
          <lpage>942</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>D.</given-names>
            <surname>Marijan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Zlokolica</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Teslic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Pekovic</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Tekcan</surname>
          </string-name>
          ,
          <article-title>"Automatic functional TV set failure detection system"</article-title>
          ,
          <source>IEEE Transactions on Consumer Electronics</source>
          , vol.
          <volume>56</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>125</fpage>
          -
          <lpage>133</lpage>
          ,
          <year>2010</year>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>H.</given-names>
            <surname>Shokry</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Hinchey</surname>
          </string-name>
          , “
          <article-title>Model-based verification of embedded software”</article-title>
          , IEEE Computer Magazine, Apr.
          <year>2009</year>
          , pp.
          <fpage>53</fpage>
          -
          <lpage>59</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>J.</given-names>
            <surname>Boberg</surname>
          </string-name>
          ,
          <article-title>"Early fault detection with model-based testing"</article-title>
          ,
          <source>Proceedings of the 7th ACM SIGPLAN workshop on ERLANG</source>
          , pp.
          <fpage>9</fpage>
          -
          <lpage>20</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. MaTeLo,
          <article-title>Model Based Testing tool</article-title>
          , http://www.all4tec.net/
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. VesTA, “Vestel Test Automation Tool”, designed by Vestel
          <string-name>
            <surname>Electronics R&amp;D</surname>
          </string-name>
          , 2009
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>P.</given-names>
            <surname>Unlubas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Domekeli</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Kurt “Usage Profile Based Test Case Generation”, Final Project for Master Degree</article-title>
          , Ozyegin University,
          <year>2011</year>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>C.</given-names>
            <surname>Nebut</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fleurey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Le Traon</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.M.</given-names>
            <surname>Jezequel</surname>
          </string-name>
          ,
          <article-title>"Automatic test generation: a use case driven approach"</article-title>
          ,
          <source>IEEE Transactions on Software Engineering</source>
          , vol.
          <volume>32</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>140</fpage>
          -
          <lpage>155</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>K.</given-names>
            <surname>Weyns</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Runeson</surname>
          </string-name>
          ,
          <article-title>"Sensitivity of software system reliability to usage profile changes"</article-title>
          ,
          <source>Proceedings of the ACM symposium on Applied computing</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>