<!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>Grafiksel Kullanıcı Arayüzleri için Düzenli İfade Bazlı Test Kapsama Kriterleri</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Onur Kılınççeker</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fevzi Belli</string-name>
          <email>belli@upb.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Anahtarlar: Grafiksel Kullanıcı Arayüzü</institution>
          ,
          <addr-line>Modelleme, Test Kapsama Kriterleri, Düzenli İfadeler, Sonlu durum makinaları</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Izmir Institute of Technology</institution>
          ,
          <addr-line>Izmir</addr-line>
          ,
          <country country="TR">Turkey</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Mugla Sitki Kocman University</institution>
          ,
          <addr-line>Mugla</addr-line>
          ,
          <country country="TR">Turkey</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Onur Kılınççeker</institution>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Paderborn University</institution>
          ,
          <addr-line>Paderborn</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>332</fpage>
      <lpage>343</lpage>
      <abstract>
        <p>Graphical User Interfaces (GUI) are popular for enabling comfortable user interactions (UI) of computer-based systems with users. This paper introduces a new approach for modeling GUIs with regular expresion</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>(RE), and moreover, obtaining coverage critaria for GUI testing. The GUI
under test is assumed to be modeled by a RE, the symbols of which are
semantically interpreted as events. For enriching this RE by information also
about states, the RE will be scanned by equivalent FSAs, forwards and
backwards. Thereby, the appearing states will be noted as indices of the RE.
The resulting coded format of the RE, which is obtained by simultaneous
backwards and forwards scanning, contains all information necessary for
generating coverage citeria that includes both event and state information.
Preliminary experiments show that proposed approach enables to generate more
compact test cases at less costs compared with others.
1</p>
    </sec>
    <sec id="sec-2">
      <title>Giriş</title>
      <p>Günümüz karmaşık yazılım sistemleri gözönünde bulundurulduğunda bilgisayar
tabanlı sistemlerin ana bileşenlerinden biri olan Grafiksel Kullanıcı Arayüzlerin
(GKA) geniş kullanım alanları, gün geçtikçe daha karmaşık GKA’ların inşa
edilmesini sağlamaktadır [15]. GKA’lar ile geleneksel yazılımlar arasında bir çok
farklılık göze çarpmaktadır. Bu farklılıklar, GKA’ların tasarım ve sınanmasnda farklı
yetenekler ve tekniklerin geliştirilmesini gerektirmektedir [9].</p>
      <p>GKA’larin modellenmesi ve elde edilen modeller aracılığı ile inşa ve test edilmesi
süreci için gereken zaman, geleneksel yazılımlarda olduğu gibi, modelsiz sürece
nazaran daha ekonomiktir. Arzu edilen bu zaman ve masraf tasarrufu, şüphesiz analiz
ve test işlemleri için uygun modeller seçilmesi ile mümkündür.</p>
      <p>Bu bildiri, GKA’ların düzenli İfadeler (Dİ) ile modellenmesini önerir ve bu
modellerle ifade edilebilen GKA’ların test edilmesi için gerekli test kapsama kriterleri
üretilmesi amacı ile yeni bir yaklaşım öne sürmektedir. Test kapsama kriterleri test
sürecini değerlendirme ve sonlandırma açısından çok önemlidir.</p>
      <p>Yaklaşım ana hatları ile şu adımlardan oluşmaktadır:
1. İncelenen sistem (İS; system under consideration) bir Dİ ile modellenir. Bu
modelleme şekli yaygın olmadığından, önce olay bazlı bir yöntem ile,
örneğin yönlü çizge (YÇ; digraph) ile modellenir ve bu YÇ bilinen
kuramsal metodlar ile otomatik olarak bir Dİ’ye dönüştürülür [1],[12], [16].
2. Elde edinilen Dİ, yalnızca olay bazlıdır ve aşağıda belirtilen özel teknik
ile endekslenir. Bu endekslenmiş Dİ, İS’in olay ve durum bazlı
karakteristik bilgilerini içermektedir.
3. Bu bilgiler Bağlam Kapsama Kriterlerini (context coverage criteria)
üretmek için kullanılır.</p>
      <p>İkinci adımda değinilen teknik, ilk etapta elde edinilen Dİ’ye ve bu Dİ’nin tersten
okunmasından (mirrored term) oluşan sonlu durum makinalarını (SDM) kurar.
Akabinde eldeki Dİ, bu makinalar tarafından önce doğrudan (forwards scanning),
sonra tersinden (backwards/reverse scanning) okunur ve makinaların tarama
anlarında aldıkları durumlar Dİ’nin o anki olayına (=simgesine) üst (ön okuma;
forwards indexing) ve alt (backwards/reverse indexing) endeks olarak işlenir. Dİ’nin
aynı anda üst ve alt endekslenmesi (coding) önerilen yaklaşım için gerekli bütün
bağımsal (contextual) bilgileri içerir.</p>
      <p>Bildirinin 2. Bölüm’ünde ilgili çalışmalar gözden geçirilecek, sunulan yaklaşım ile
ilgileri kısaca açıklanacaktır. 3. Bölüm’de GKA modellenmesi için önerilen yöntem
bir örnek ile anlatılacak, ardından 4. Bölüm’de Dİ’lerin önemli özelliklerinin
endeksleme yöntemi ile elde edilmesine konu olacaktır. 5. Bölüm’de yeni kapsama
kriterleri tanımlanacaktır. 6. Bölüm’de ise önerilen kapsama kriterlerinin bir
uygulaması olarak test üretimi için örnekler verilecektir. Son olarak 7. Bölüm’de elde
edilen sonuçlar ve gelecek için planlanan çalışmalar özetlenecektir.
2</p>
      <p>İlgili Çalışmalar
Literatürde verilen bir sistemin bir model yardımıyla test edilmesi ‘model tabanlı test
etme’ olarak geçmektedir. Bu bildiride önerilen yaklaşım ile ilişkili modeller: Olay
Sıra Çizgesi (OSÇ) (Event Sequence Graph ) [9] ve Olay Akış Çizgesi (OAÇ) (Event
Flow Graph) [15]. OSÇ’ler bir çok interaktif sistemin modellenmesinde
kullanılmaktadır. Bunlara gerçek zamanlı sistemler, gömülü sistemler ve GKA’lar
örnek olarak verilebilir [8]. Bununla birlikte yine bu model aracılığı ile sistemin
analiz edilmesi ve test durumlarının üretilmesi [6],[7],[8],[9] ise bir diğer avantajlı
yanıdır.</p>
      <p>OAÇ’ler ise yapısal olarak OSÇ’ler ile benzerlikleriyle birlikte her iki modelde bir
çok ortak uygulama alanı bulmaktadır. Bunlar ise çoğunlukla GKA’ların
modellenmesi ve test edilmesi üzerine yoğunlaşmaktadır [14], [15].</p>
      <p>Sonlu durum makinaları (SDM) on yıllardan beri sıralı (sequential) yazılım ve
donanım sistemlerinin modellenmesi ve test edilmesi için kullanılmaktadır. Bu
çalışmalara ilk olarak Chow [10] öncülük etmiş, SDM ile modellenen sıralı
sistemlerin sınanması için ‘w-metodu’ olarak adlandırılan bir metot öne sürmüştür.
Bu çalışmanın ardından SDM bazlı modellerin test sürecinde kullanılması için bir çok
metot ileri sürülmüştür.</p>
      <p>Dİ’lerin gerek modelleme gerekse test için kullanımıyla ilgili çalışmalar diğer
modellerle kıyaslandığında yok denecek kadar azdır. Örneğin, Web of Science veri
tabanında “düzenli ifade” ve “test üretimi” anahtar kelimeleri aratıldığında, konuyla
alakalı yalnızca altı çalışma ile karşılaşılmaktadır. Bunlardan bir tanesi [17] donanım
için test üretimi ve daha ziyade belirli bir seviyede verilmiş donanımın test
edilebilirlik analizi ve optimizasyonu üzerinedir. Diğer beş çalışma ise Dİ’ler ile
modellenen yazılımların test edilmesi hakkındadır. Bu veritabanında rastlanılmayan
[11]’de Dİ’ler sıralı devrelerin test edilmesi için rastgele test takımları üretiminde
kullanımı için bir yaklaşım verilmektedir. Ayrıca Shaw tarafından [18]’de öne sürülen
yaklaşım, Dİ’lerin yazılım tasarımı (design) ve belirtimi (specification) için kullanımı
üzerinedir. Liu ve Miao çalışmasında [13] Dİ yardımıyla yazılım davranışları için test
modelinin kurulması hakkındadır. Bir diğer çalışmada Belli ve Grosspietsch [3] Dİ ile
modellenen karmaşık yazılım sistemlerinin kusur dayanıklılığı (fault tolerance)
açısından analiz edilmesi ve bu analiz sonucunda, sistem arzu edilen özellliği
içermiyorsa genişletilip kusur dayanıklı hale getirilmesi ile ilgilidir.</p>
      <p>Mevcut literatür incelendiğinde Dİ’lerin GKA’ların test kapsanımları için
kullanımına ilişkin bir çalışmaya şu ana kadar yapılan araştırmalarda
rastlanılmamıştır.
3</p>
    </sec>
    <sec id="sec-3">
      <title>GKA ve Modellenmesi</title>
      <p>Günümüzde kullanılan GKA’lar basitten karmaşığa çok çeşitli şekillerde karşımıza
çıkmaktadır. Aşağıda Şekil 1’de basit bir örnek verilmektedir.</p>
      <p>Düzenli İfadeler: Aşağıdaki kurallar çerçevesinde, bir düzenli ifade, verilen bir
alfabeα’nın sıfır veya daha fazla a, b, c, ... sembollerinin dizisi ile ifade edilir. Bu
diziler aşağıda verilen operatörlerin aracılığı ile kurulur;
• Bitiştirme – belirli bir sembol ile ifade edilmeyen bir operatör. Öyle ki ab gibidir
ve ‘a izlenir b tarafından’ anlamındadır.
• Seçim (Birleştirme), + ile gösterilir. Öyle ki a+b gibidir ve ‘a veya b’
anlamındadır.
• Yineleme (Kleene Yıldız operatörü), * ile gösterilir. Öyle ki a* gibidir ve ‘a isteğe
bağlı olarak tekrarlanır’ (sıfır tekrarda içerilmektedir ve bu ‘boş kelime λ’yı ifade
eder). Benzer şekilde, a+ ise a’nın en az bir kez oluşunu belirtir, yani λ hariç
tutulur.
Şekil 2’deki YÇ’ye tekabül eden Dİ’yi şu şekilde tanımlayabiliriz.</p>
      <p>
        [(ab(c+d)*)*]
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
      </p>
      <p>
        Kolayca görüleceği gibi, (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )’deki test takımları üstte gösterilen Dİ tarafından da
üretilebilir. Konunun ayrıntıları için [4],[9]’a bkz.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Düzenli İfadelerin Önemli Özelliklerinin Endekslenme</title>
    </sec>
    <sec id="sec-5">
      <title>Yolu ile Tanımlanması</title>
      <p>Giriş bölünde amacı belirtilen ve özetlenen Dİ endekslenmesi, bu bölümde ayrıntılı
olarak açıklanacaktır. Bu çerçevede, semboller arasındaki bağlamsal ve uygunsal
ilişkilerin çıkarılabilmesi için gerekli bağlamsal (contextual) ileri, geri, sağ ve sol
endeksleme kavramları tanımlanacaktır. Bu endeksleme işlemlerine dayanarak elde
edilecek olan İleri Bağlam, Geri Bağlam ve Uygunluk Tablosu tanımları verilecektir.
Bu bölümde tanıtılacak olan kavramlar bir sonraki bölümde GKA test kapsamları
üretilmesi aşamasında kullanılacaktır.
4.1</p>
      <sec id="sec-5-1">
        <title>Bağlamsal (contextual) İlişkilerin Görüntülenmesi</title>
        <p>
          Bu bölüm, bir örnek aracılığı ile Dİ’nin karakteristik ilişkisini ortaya çıkaran belirli
bir forma dönüştürülmesini göstermektedir. Örnek olarak (
          <xref ref-type="bibr" rid="ref2">2</xref>
          )’de verilen Dİ
kullanılacaktır.
        </p>
        <p>
          İlk aşamada, (
          <xref ref-type="bibr" rid="ref2">2</xref>
          )’nin her bir sembolü oluş sırasına göre ifade edilir. Böylece
aşağıdaki bağlamsal (contextual) endekslenmiş ifade elde edilir.
        </p>
        <p>
          ([1(((a1(b1((c1+d1)*)))*)]1)
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
        </p>
        <p>
          Burada, “a1” “a”nın ilk defa var olması demektir. Aynı şekilde diğer sembollerin
endeksleri de “1”dir. Yani (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) içerisinde her sembol yalnızca bir defa bulunmaktadır.
4.2
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>Dİ’ye Doğrudan ve Tersinden Tekabül Eden SDM Kurulması</title>
        <p>Ardından, iyi bilinen yönteme dayanarak [3],[5], Dİ’ye tekabül eden durum tablosu
Eforw elde edilir (Tablo 1). Bu tablo, verilen Dİ’ye doğrudan (forward) tekabül eden
SDM’dir. Eforw, SDM’nin Dİ’ye dönüşümünde kaybolan, ya da doğrudan Dİ ile
çalışıldığında mevcut olmayan durum bilgisini Dİ’ye endeks ile eklemeyi sağlayacaktır.
Sembol
[1
a1
]1
b1
c1
d1</p>
        <p>Durum [ a
0 1
1 2 3
2 4
3
4 2 3
5 2 3
6 2 3
Tablo 1. Eforw Durum Tablosu
] b c d</p>
        <p>Eforw kurulması hk. Örneğin, Eforw sıfır (0) başlangıç durumundadır ve “[”
sembolünü okur, bu doğru bir şekilde “[1” dir ve ardından durum 1’e geçilir.</p>
        <p>
          Sembol “a” doğru olarak durum 1’de okunur ve bu daima “a2” olur. Ardından bu
durum 2’ye geçileceği anlamına gelir. (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) tarafından oluşturulmayan her bir sembol
Eforw tarafından da kabul edilmez.
si sembolleri ve (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) arasındaki ek ilişkiler ışığında, si sembolünün endeksi i ile si’yi
içeren durumların kümesi ile yer değiştirilirse, Eforw’un durumları elde edilir.
        </p>
        <p>
          Böylece (
          <xref ref-type="bibr" rid="ref4">4</xref>
          )’teki   oluşturulmuş olur. Eforw ile yeniden tanımlanan durum
bilgisi   ’un endekslerini tanımlamaktadır.
        </p>
        <p>
          Bu işlem geri endeksleme olarak adlandırılır. Burada, ikinci bir ters görüntü
işleminden sonra (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ) yani T mirr forw mirr veya Tback elde edilir.
        </p>
        <p>
          Görülen endeksler, verilen Dİ’nin Eforw tarafından doğrudan, yani soldan sağa
(forward), “okunması” durumunda sembollerde bırakacağı durum (state) izleri olarak
kabul edilebilir. Bu işlem (
          <xref ref-type="bibr" rid="ref2">2</xref>
          )’nin ileri (forward) endekslemesi olarak adlandırılır.
4.4
        </p>
        <p>
          Dİ’nin Ters Endekslenmesi ve Kodlanması
İleri endekslemeye benzer şekilde, (
          <xref ref-type="bibr" rid="ref2">2</xref>
          )’nin ters görüntüsü (mirror) Tmirr
endekslendiğinde Tmirr (
          <xref ref-type="bibr" rid="ref5">5</xref>
          ) oluşturulur.
        </p>
        <p>
          ]1 ((((d1+c1)*b1)a1))*[1) (
          <xref ref-type="bibr" rid="ref5">5</xref>
          )
Şimdi, (
          <xref ref-type="bibr" rid="ref4">4</xref>
          )’ü elde etmek icin uygulanan işlemlerin aynısını (
          <xref ref-type="bibr" rid="ref5">5</xref>
          )’e, yani Tmirr’a
uygularsak Tmirr_forw elde edilir (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ). Tmirr_forw sayesinde (
          <xref ref-type="bibr" rid="ref2">2</xref>
          )’nin tersten okunmasıyla elde
edilen Dİ’ye tekabül eden SDM’nin durum bilgisi tekrardan kazanılmış olur.
[1( a2b4((c5 +d6))*)* ]3
(]1 ((((d4+c3)*b2)a6))*[1)
[1 ( a6 b2 (( c3 + d4 ))* )* ]1
(
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
(
          <xref ref-type="bibr" rid="ref7">7</xref>
          )
İleri ve geri endeksleme aynı anda gerçekleştirilirse, (
          <xref ref-type="bibr" rid="ref8">8</xref>
          ) yani 
oluşturulur.


[15 ( 62  24 ( 35 +  46 )∗)∗ ]3
1
(
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
        </p>
        <p>
          Bu çift yönlü endeksleme (
          <xref ref-type="bibr" rid="ref2">2</xref>
          )’nin kodlanması olarak adlandırılır. Buradaki önemli
bir araç kodlanan sji sembollerindeki bir ileri endeks i ve bir geri endeks j’nin tüm
ikililerini içeren uygunluk ilişkisi C’dir. Bu isj’nin iCj notasyonları ile tanımlanır.
Yani i ve j durumları s sembolü ile uygundur anlamına gelmektedir. Şekil 3.(b) (
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
için bu C ilişkisini vermektedir.
        </p>
        <p>
          İkinci olarak, daha karmaşık bir araç, sol bağlam ve sağ bağlam sırasıyla lforw , lback
ve rforw, rback ilişkileri kullanılır. Bunlar her bir si ve sj için birinin sonraki ve önceki
sembollere karar verir. Şekil 3.(a) (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) için bu bağlam ilişkisini vermektedir. Bu
konularda detaylı bilgi [5]’de bulunabilir.
        </p>
        <p>Şimdiye kadar önemli olan bir çok kavram açıklandı ve bunlara örnekler verildi.
Bir sonraki bölümde, Tanım 1’den itibaren öne sürülen yaklaşımda kullanılacak
kavramlara yer verilecektir.
(b)
(a)
Şekil 3. (a) Bağlam ve (b) Uygunluk Tablosu
5</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>GKA Kapsama Kriterleri</title>
      <p>Bu bölümde kapsama kriterlerinin tanımları verilecektir. Bu kriterler arasındaki
ilişkiler (subsumption relation) Şekil 4’te görülmektedir.</p>
      <p>Şekil 4. Kriterler arası kapsama ilişkisi</p>
      <p>Dİ’de kullanılan semboller olayları adlandırmaktadır. Dolayısı ile Şekil 3’de
gösterilen
Örneğin Bağlam Kriteri hem Sol hem de Sağ kriteri kapsamaktadır. Uygunluk kriteri
ise Sağ ve Sol arasında uygunluk testi için kullanıldığı için çift yönlü ok ile
gösterilmiştir.
formel olarak;
Tanım 1: Bir Bağlam Kapsama Kriteri (Context Coverage Criterium), üretilen test
takımının, tüm durumları Bağlam Tablosu tarafından içerilmesi olarak tanımlanır. Bu


ziyade öne sürülen kapsama kriterlerinin tanım ve kullanımına yöneliktir.</p>
    </sec>
    <sec id="sec-7">
      <title>Uygulama</title>
      <sec id="sec-7-1">
        <title>Test Takımı Üretimi</title>
        <p>Test takımları bir önceki bölümde verilen kapsama kriterlerini sağlayacak şekilde
bağlam tablosundan elde edilir. Şekil 3.(a)’da verilen bağlam tablosu test takımı
üretimi için kullanılacaktır. Örnek olarak sol bağlam ve ileri bağlam kapsama
kriterleri seçilecek olursa, test takımları t1 ve t2 Şekil 3.(a)’nın sol tarafında bulunan
ileri bağlam ve sürekli sola doğru (x’R) semboller seçilerek elde edilebilir.</p>
        <p>
          (
          <xref ref-type="bibr" rid="ref9">9</xref>
          ) ve (
          <xref ref-type="bibr" rid="ref10">10</xref>
          )’da verilen test takımları sol bağlam ve ileri bağlam kriterleri dikkate
alınarak üretildiği için bu kriterleri sağlamaktadır. Elde edilen bu test takımlarının
diğer kapsama kriterlerini sağlayıp sağlamadığı şu şekilde test edilir. Öncelikle (
          <xref ref-type="bibr" rid="ref9">9</xref>
          ) ve
(
          <xref ref-type="bibr" rid="ref10">10</xref>
          )’un Şekil 3.(b)’de verilen uygunluk tablosu ile uyumluluğuna bakılır. Yani test
takımlarının endeksleri uygunluk tablosunda verilen endeksler ile aynı mıdır diye
kontrol edilir. Böylece, t1 ve t2 için tüm semboller uygunluk tablosu ile uyumlu
olduğu görülebilir. Bu durumda üretilen her iki test takımı da uygunluk kapsama
kriterini sağlamaktadır.
        </p>
        <p>
          t1 ve t2’nin alt endeksleri uygunluk tablosu aracılığı ile bulunur. Bu durumda (
          <xref ref-type="bibr" rid="ref11">11</xref>
          )
ve (
          <xref ref-type="bibr" rid="ref12">12</xref>
          ) elde edilir.
        </p>
        <p>t1 = [1  2  4 ]3
t2 = [1  2  4  5  6 ]3</p>
        <p>
          t1 = [15 62  24 ]13
t2 = [15  62  24  35  46 ]13
(
          <xref ref-type="bibr" rid="ref9">9</xref>
          )
(
          <xref ref-type="bibr" rid="ref10">10</xref>
          )
(
          <xref ref-type="bibr" rid="ref11">11</xref>
          )
(
          <xref ref-type="bibr" rid="ref12">12</xref>
          )
Ardından elde edilen alt endekslerin geri kapsama kriterini sağladıkları
Şekil 3.(a)’daki tablonun sağ tarafındaki tablo ile uyumlu olduğu çıkarılabilir.
Böylece, t1 ve t2 tüm tablolar ile uyumlu olduğu için tüm kapsama kriterlerini
sağlamaktadır ve bu durumda bağlam kapsama kriterini de sağlar.
6.2
        </p>
      </sec>
      <sec id="sec-7-2">
        <title>Test Takımı Üretimini Durdurma ve Test Masrafları</title>
        <p>Test takımı üretimini durdurmak (Test Termination Criteria) için sağ bağlam
kriterini kapsayacak şekilde üretim yapılıyorsa ve tabloya uygunsa “]” sembolü
seçildiğinde, bu üretimin durduğunu ifade etmektedir. Aksine sol bağlam kriterini
kapsayacak şekilde üretim yapılıyorsa ve eğer tabloya uygunsa “[” seçildiğinde, bu
üretimin durduğunu ifade etmektedir. Sol ve sağ bağlam kriterlerinin başlangıç
sembolleri sırasıyla “[” ve “]”dır. Dolayısıyla test takımları bu sembollerle başlayıp
yine bu sembollerle bitmektedir.</p>
        <p>Test masrafları ise üretilen test takımlarının uzunluğu (Test Length) ve sayısı ile
orantılıdır. Kapsama kriterleri ile maksimum uzunlukta üretilebilecek test takım
uzunlukları arasındaki ilişki aşağıda Tablo 2’de verilmektedir.
Kapsama Kriterleri
Sol, İleri</p>
        <sec id="sec-7-2-1">
          <title>Sağ, İleri</title>
        </sec>
        <sec id="sec-7-2-2">
          <title>Sol, Geri</title>
        </sec>
        <sec id="sec-7-2-3">
          <title>Sağ, Geri</title>
        </sec>
        <sec id="sec-7-2-4">
          <title>Uygunluk Bağlam Maksimum Test Takımı Uzunluğu</title>
          <p />
          <p>ℎ
| |
max{   ,  
 
 ℎ
,  ⏟ ,  ⏟</p>
          <p>}


 ℎ</p>
          <p>Tablo 2. Kapsama Kriterleri ve Test Takımları Uzunluğu
Üretilebilecek test takımları sayısı ise yine Tablo 2’te verilen kardinalitelere
bağlıdır. Kardinalite hesabı yaparken Dİ’yi oluşturan semboller ve daha da belirleyici
olarak bu semboller arasındaki operatörler gözönünde bulundurulur. Bu operatörler
Bölüm 3’de verildiği üzere birleşim “+”, bitiştirme “” ve yineleme “*”’dir. Bağlam
tablosu girdisi olarak operatörler ile sembol sayısı ilişkisi aşağıdaki gibi özetlenir;
• [(a1a2a3 ... an)] → max
• [(a1a2a3 ... an)*] → max
• [(a1 + a2 + a3 + ... + an)] → max
• [(a1 + a2 + a3 + ... + an)*] → max

kapama “*” operatörlerinin birlikte verildiği son durumda n sembolden oluşan bir Dİ
Böylece üretilebilecek maksimum test takımı uzunluğu da  2 −  + 1’dir.
için  2 −  + 1 yani karesel bir artış göstermektedir. Diğer durumlarda ise artış
doğrusaldır. Yani en kötü durumda tablo sembol sayısı  2 −  + 1 olmaktadır.</p>
          <p>Unutulmaması gerekir ki mevcut test kapsama kriterleri, çoğunlukla yalnızca olay
bazlı ya da yalnızca durum bazlıdır. Buna rağmen test kapsama kriterleri kübiksel bir
artış gösteren sayıda eleman üretmektedir [2].</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Sonuçlar</title>
      <p>Bu çalışmada GKA’lar için bir model olarak Dİ’ler verilmiştir ve bu model ile mevcut
modeller arasında dönüşümler açıklanmıştır. Ayrıca bu model aracılığı ile test
takımları üretimine olanak sağlayan ve literatürde mevcut olmayan kapsama kriterleri
tanımlanmıştır. Açıklanan kavramlar ve yöntemler bir örnek üzerinde
gerçekleştirilmiş ve elde edilen sonuçlar irdelenmiştir.</p>
      <p>Önerilen yaklaşımın özelliği, test kapsama kriterleri üretirken, mevcut kuramsal
test yöntemlerinin ötesinde, incelenen sistemin yalnızca olaysal değil, aynı zamanda
durumsal özelliklerini de göz önünde tutmasıdır. Test süreci masrafında önemli rol
oynayan test uzunluğu ise doğrusal, en olumsuz durumda karesel artmaktadır ki bu da
mevcut yöntemlere göre büyük bir avantajdır.</p>
      <p>Bundan sonra yapılacak çalışmalar, ileri sürülen kapsama kriterlerinin GKA’ların
testi için öne sürülen diğer çalışmalardaki kapsama kriterleri ile ilişkisinin yanı sıra
diğer avantajları ve dezavantajlarını ortaya koymak olarak planlanmaktadır.Örneğin
hata bulma kabiliyeti (bulunan hataların sayısı, bulunan hataların arasındaki zaman
mesafeleri v.b.) ve masrafları (hata bulma zamanı, tüm test sayısı ve uzunlugu v.b.)
gelmektedir.</p>
      <p>Ayrıca modelleme ve test işleminin bütünsel (holistic) olarak yapılması, yani
pozitif (hatalı olmayan modeller ile) ve negatif test (hatalı olan modeller ile)
uygulanması diğer bir ileriki çalışmadır.</p>
      <p>Test üretim sürecinin otomatik hale getirilmesini mümkün kılacak bir aracın
geliştirilmesine başlanmıştır.</p>
      <p>Teşekkür
Yazarlar çok değerli tavsiyelerinden ve yardımlarından dolayı Yard.Doç.Dr.Mutlu
Beyazıt’a , Yard.Doç.Dr.Nida Gökçe’ye ve sempozyumun anonim hakemlerine
teşekkür ederler.</p>
    </sec>
    <sec id="sec-9">
      <title>Kaynakça</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aho</surname>
          </string-name>
          , Alfred V., and
          <string-name>
            <surname>Jeffrey</surname>
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Ullman</surname>
          </string-name>
          .
          <article-title>Foundations of computer science</article-title>
          . Computer Science Press,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Belli</surname>
          </string-name>
          , Fevzi, and
          <string-name>
            <surname>Christof J. Budnik</surname>
          </string-name>
          ,
          <article-title>"Test minimization for human-computer interaction"</article-title>
          ,
          <source>Appl. Intell</source>
          .
          <volume>26</volume>
          (
          <issue>2</issue>
          ), (
          <year>2007</year>
          )
          <fpage>161</fpage>
          -
          <lpage>174</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Belli</surname>
          </string-name>
          , Fevzi, and
          <string-name>
            <surname>K-E. Grosspietsch</surname>
          </string-name>
          .
          <article-title>"Specification of fault-tolerant system issues by predicate/transition nets and regular expressions-approach and case study</article-title>
          .
          <source>" IEEE Transactions on software engineering 17</source>
          .6 (
          <year>1991</year>
          ):
          <fpage>513</fpage>
          -
          <lpage>526</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Belli</surname>
            , Fevzi,
            <given-names>Christof J.</given-names>
          </string-name>
          <string-name>
            <surname>Budnik</surname>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            <given-names>White</given-names>
          </string-name>
          ,
          <article-title>Event-based modelling, analysis and testing of user interactions: approach and case study</article-title>
          .
          <source>Softw</source>
          . Test.,
          <string-name>
            <surname>Verif</surname>
          </string-name>
          . Reliab.
          <volume>16</volume>
          (
          <issue>1</issue>
          ), (
          <year>2006</year>
          )
          <fpage>3</fpage>
          -
          <lpage>32</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Belli</surname>
          </string-name>
          , Fevzi,
          <article-title>Extending Regular Languages for Self-Detection and Self-Correction of Syntactical Faults</article-title>
          (
          <source>PhD Thesis</source>
          in German; Technical Univ. Berlin),
          <source>Bericht 119 der Gesellschaft für Mathematik und Datenverarbeitung</source>
          , Oldenburg Verlag,
          <year>1978</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Belli</surname>
            , Fevzi,
            <given-names>Mutlu</given-names>
          </string-name>
          <string-name>
            <surname>Beyazit</surname>
            , and
            <given-names>Atif</given-names>
          </string-name>
          <string-name>
            <surname>Memon</surname>
          </string-name>
          .
          <article-title>"Testing is an event-centric activity." Software Security and</article-title>
          Reliability
          <string-name>
            <surname>Companion (SERE-C)</surname>
          </string-name>
          ,
          <source>2012 IEEE Sixth International Conference on. IEEE</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Belli</surname>
            , Fevzi,
            <given-names>Mutlu</given-names>
          </string-name>
          <string-name>
            <surname>Beyazit</surname>
            , and
            <given-names>Nevin</given-names>
          </string-name>
          <string-name>
            <surname>Güler</surname>
          </string-name>
          .
          <article-title>"Event-Oriented, Model-Based GUI Testing and Reliability Assessment-Approach and Case Study." Advances in Computers 85 (</article-title>
          <year>2012</year>
          ):
          <fpage>277</fpage>
          -
          <lpage>326</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Belli</surname>
            , Fevzi,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Nissanke</surname>
          </string-name>
          , Ch. J.
          <string-name>
            <surname>Budnik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Mathur</surname>
          </string-name>
          ,
          <article-title>"Test Generation Using Event Sequence Graphs"</article-title>
          ,
          <source>Technical Report</source>
          , University of Paderborn,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Belli</surname>
          </string-name>
          , Fevzi.
          <article-title>"Finite state testing and analysis of graphical user interfaces</article-title>
          .
          <source>" Software Reliability Engineering</source>
          ,
          <year>2001</year>
          .
          <source>ISSRE 2001. Proceedings. 12th International Symposium on. IEEE</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Chow</surname>
          </string-name>
          , Tsun S.
          <article-title>"Testing software design modeled by finite-state machines</article-title>
          .
          <source>" IEEE transactions on software engineering 3</source>
          (
          <year>1978</year>
          ):
          <fpage>178</fpage>
          -
          <lpage>187</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>David</surname>
          </string-name>
          , Rene, and
          <string-name>
            <surname>Pascale</surname>
          </string-name>
          Thevenod-Fosse.
          <article-title>"Minimal detecting transition sequences: application to random testing</article-title>
          .
          <source>" IEEE Transactions on Computers29.6</source>
          (
          <year>1980</year>
          ):
          <fpage>514</fpage>
          -
          <lpage>518</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Hopcroft</surname>
            ,
            <given-names>John E</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rajeev</surname>
            <given-names>Motwani</given-names>
          </string-name>
          , and
          <string-name>
            <given-names>Jeffrey D.</given-names>
            <surname>Ullman</surname>
          </string-name>
          .
          <article-title>Introduction to Automata Theory, Languages, and</article-title>
          <string-name>
            <given-names>Computation. Harlow: Pearson</given-names>
            <surname>Addison-Wesley</surname>
          </string-name>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Liu</surname>
            , Pan, and
            <given-names>Huaikou</given-names>
          </string-name>
          <string-name>
            <surname>Miao</surname>
          </string-name>
          .
          <article-title>"Theory of test modeling based on regular expressions."</article-title>
          <source>International Workshop on Structured Object-Oriented Formal Language and Method."</source>
          , Springer International Publishing,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Memon</surname>
          </string-name>
          ,
          <string-name>
            <surname>Atif</surname>
            <given-names>M. "</given-names>
          </string-name>
          <article-title>An event-flow model of GUI-based applications for testing."</article-title>
          <source>Software Testing Verification and Reliability 17.3</source>
          (
          <year>2007</year>
          ):
          <fpage>137</fpage>
          -
          <lpage>158</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Memon</surname>
          </string-name>
          ,
          <string-name>
            <surname>Atif</surname>
            <given-names>M.</given-names>
          </string-name>
          , Mary Lou Soffa, and
          <string-name>
            <given-names>Martha E.</given-names>
            <surname>Pollack</surname>
          </string-name>
          .
          <article-title>"Coverage criteria for GUI testing</article-title>
          .
          <source>" ACM SIGSOFT Software Engineering Notes 26.5</source>
          (
          <year>2001</year>
          ):
          <fpage>256</fpage>
          -
          <lpage>267</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Myhill</surname>
          </string-name>
          , J., “
          <article-title>Finite Automata and the Representation of Events”</article-title>
          ,
          <source>Wright Air Devel. Command, TR 57-624</source>
          , pp.
          <fpage>112</fpage>
          -
          <lpage>137</lpage>
          (
          <year>1957</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Ravi</surname>
            , Srivaths,
            <given-names>Ganesh</given-names>
          </string-name>
          <string-name>
            <surname>Lakshminarayana</surname>
          </string-name>
          , and
          <string-name>
            <surname>Niraj</surname>
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Jha</surname>
          </string-name>
          .
          <article-title>"TAO: Regular expressionbased register-transfer level testability analysis and optimization</article-title>
          .
          <source>" IEEE Transactions on Very Large Scale Integration (VLSI) Systems 9.6</source>
          (
          <year>2001</year>
          ):
          <fpage>824</fpage>
          -
          <lpage>832</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Shaw</surname>
          </string-name>
          , Alan C.
          <article-title>"Software specification languages based on regular expressions."</article-title>
          <source>Software Development Tools</source>
          . Springer Berlin Heidelberg,
          <year>1980</year>
          .
          <fpage>148</fpage>
          -
          <lpage>175</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>