<!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>Test Veri Yönetiminde Alternatif Bir Yaklaşım, Test Veri Yönetimi Otomasyonu</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oğuzhan Kayhan</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Burak Yakupoğlu</string-name>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Anahtar Kelimeler: Yazılım Test Mühendisliği, Test Veri Yönetimi, Test Veri
Yönetimi Otomasyonu.</string-name>
        </contrib>
      </contrib-group>
      <fpage>208</fpage>
      <lpage>216</lpage>
      <abstract>
        <p>One of the most important subcomponents of the software testing process is the management of test data. As such, a significant portion of the effort expended for testing constitutes an effort for test data. The amount of test data</p>
      </abstract>
      <kwd-group>
        <kwd>An Alternative Approach in Test Data Management</kwd>
        <kwd>Automation of Test Data Management</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1,2 Kuveyt Türk AR-GE Merkezi, Kocaeli
1oguzhan.kayhan@kuveytturk.com.tr,
2burak.yakupoglu@kuveytturk.com.tr</p>
      <p>1,2 Kuveyt Türk R&amp;D Center, Kocaeli
1oguzhan.kayhan@kuveytturk.com.tr,
2burak.yakupoglu@kuveytturk.com.tr
required and the variety of test data is not common, the common understanding
of Test Data Management is inadequate. However, when the amount and variety
required is increased, such factors as data security, consistency and integrity
make test data difficult to manage and this adversely affects the software testing
process. In this study, firstly the familiar and widespread understanding of test
data management is examined. Then, the problems encountered in the case of
different needs are expressed in the work done by this method. To solve these
problems, an alternative approach to Test Data Management has been developed
and an automation system has been designed. The design details of the
automation system, which we call “Test Data Management Automation”, are explained
and the problems and solutions encountered during implementation are explained
in detail.
1</p>
    </sec>
    <sec id="sec-2">
      <title>Giriş</title>
      <p>
        Test Veri Yönetimi, Yazılım Test Mühendisliği alanında gün geçtikçe daha da önem
kazanan bir olgudur. 2016 yılında sektör çalışanları ve yöneticileri arasında yapılan
küresel nitelikteki bir araştırmaya göre Test Veri Yönetimi %37 oranında test
faaliyetlerinde gerekli olan temel iyileştirme alanlarından biri olarak görülmektedir [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>Büyük boyuttaki verilerin güvenlik, tutarlılık, bütünlük vb. kriterlere uygun olarak
ortamlar arasında hızlı bir şekilde aktarılması Test Veri Yönetimi alanındaki önemli
gelişim noktalarından birisidir. Bunun önemli sebeplerinden biri, kişisel verilerin
korunması ile ilgili yasal düzenlemelerin eskisine göre daha da sıkılaşması ve bunun
getirisi olarak Test Veri Yönetimi kapsamında temas edilen veri boyutunun eskisine göre
artış göstermesidir. Kuveyt Türk Bilgi Teknolojileri bünyesinde yürütülen Test Veri
Yönetimi çalışmalarında buradaki ihtiyaç görülerek, bu ihtiyaca yönelik olarak Test
Veri Yönetimi Otomasyonu geliştirilmiştir.</p>
      <p>Çalışmanın ilk kısmında Test Veri Yönetimi ile ilgili genel bilgiler verilerek bu
alandaki ihtiyaca değinilmiş, yaygın olarak bilinen ve mevcutta kullanılan Test Veri
Yönetimi yaklaşımı incelenmiş, Test Veri Yönetiminde karşılaşılan zorluklar ele alınmıştır.
Çalışmanın ikinci kısmında ise uygulamaya alınan Test Veri Yönetimi Otomasyonu
tasarımsal detaylarıyla anlatılarak uygulama yöntemi detaylandırılmıştır. Çalışmanın
son kısmında ise geliştirilen otomasyon sistemi sonrasında elde edilen kazanımlar ifade
edilmiştir.
2</p>
    </sec>
    <sec id="sec-3">
      <title>Neden Test Veri Yönetimi?</title>
      <p>
        Bir kuruluşun gerçek verilerini güvenilir bir şekilde taklit eden üretim dışı veri
kümelerinin oluşturulmasına Test Veri Yönetimi denilmektedir. Test veri yönetimi ile
amaçlanan, test edicilerin testlerini titiz ve geçerli olarak gerçekleştirebilmeleridir [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        Bir test çalışması için gerekli olan toplam eforun en az %50’sinin test verisi
oluşturmak için harcandığı bilinmektedir [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Uygun test verisinin belirli aralıklarla
yenilenmesi veya yeni test verisinin ihtiyaçlar kapsamında test ortamlarında yeniden
oluşturulması sağlanmazsa, bu iş için harcanan eforun daha da artması söz konusu olacaktır.
Çünkü hazırlanan test verisi test çalışmasında kullanıldıktan sonra çoğunlukla test
edilebilir özelliğini yitirmektedir. Test verisinin yeniden oluşturulması söz konusu
olduğunda ise gerçeğe uygun verinin dönüştürülmesi sırasında verinin güvenliği, tutarlılığı,
bütünlüğü gibi kısıtlayıcı faktörler gündeme gelmektedir. Ayrıca, konuya dair yapılan
çalışmalar test verisi kalitesinin doğrudan son ürünün kalitesini ilgilendirdiğini
göstermektedir [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        Otomasyon Testi, Performans Testi, Mobil Testler gibi diğer test uzmanlık
alanlarında da Test Veri Yönetimi her geçen gün daha çok önem kazanmaktadır. Keytorc
tarafından gerçekleştirilen güncel bir araştırma, Test Veri Yönetiminin test
mühendisliğinin diğer uzmanlık alanlarına etkisini aşağıda özet halinde yer alan istatistiki
bilgilerle gözler önüne sermektedir [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>Test Otomasyonunda Yaşanılan Zorluklar. Katılımcıların %59’u test verilerinin
entegrasyonunu bu zorluklar arasında görmektedir.</p>
      <p>Mobil Testlerde Karşılaşılan Zorluklar. Katılımcıların %12’si test verilerinin
yetersiz olmasını bu zorluklar arasında görmektedir.</p>
      <sec id="sec-3-1">
        <title>Performans Testlerinde Yaşanan Zorluklar. Katılımcıların %37’si test verilerinin</title>
        <p>yönetimini bu zorluklar arasında görmektedir.
3</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Test Veri Yönetimi Yaşam Döngüsü</title>
      <p>
        Yaygın olan yaklaşıma göre Test Veri Yönetimi için yaşam döngüsü aşağıdaki
aşamalardan oluşmaktadır [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>Gereksinimlerin Analiz Edilmesi. Bu aşamada test verisi için ihtiyaç ve
gereksinimler toplanarak analiz edilir. Okunacak ve yazılacak veri kaynaklarının belirlenmesi,
Veri Güvenliği açısından hassas olup maskelenmesi gereken verinin tespit edilmesi,
ilgili veri için ihtiyaç duyulan depolama ve arşivleme gibi gereksinimlerin ortaya
konulması gibi adımlar bu aşamada gerçekleştirilir.</p>
      <p>Planlama ve Tasarım. Bu aşamada analizi yapılan ihtiyaç ve gereksinimler için
çözüm planı yapılır ve çözüm tasarımı gerçekleştirilir. Çözümün bir araç ile mi yoksa
dâhili bir çalışmayla mı gerçekleştirileceğine bu aşamada karar verilir.
Test Verisinin Oluşturulması. Bu aşamada çözüm tasarımı uygulamaya geçirilerek
tespit edilen gereksinimler doğrultusunda test verisinin oluşturulması sağlanır.
Test Verisinin Bakımı. Mevcut test verisinde yeni ihtiyaçlara göre değişikliklere
gidilmesi veya test verisinin tazelenmesi işlemleri test yaşam döngüsü kuralları işletilerek
bu aşamada gerçekleştirilir.
4</p>
    </sec>
    <sec id="sec-5">
      <title>Test Veri Yönetiminde Kısıtlayıcı Etkenler</title>
      <p>
        Test veri yönetimindeki temel kısıtlayıcı ektenler arasında başlıca; veri güvenliği, veri
tutarlılığı, veri bütünlüğü, veri depolaması ve veri yeterliliği yer almaktadır [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Ayrıca,
üzerinde farklı iş alanlarının birlikte çalıştığı daha karmaşık sistemlerde, ihtiyaç
duyulan test verisi için yapılan işlemler aynı anda testleri devam eden farklı iş alanlarını
olumsuz etkileyebilmekte veya verilerin bütünlüğünü ve tutarlılığını tehlikeye
atmaktadır. Bu nedenle test verilerinin oluşturulması daha maliyetli hale gelmektedir. Bu tür
durumlarda en etkin test verisi oluşturma veya bakım yöntemi verinin periyodik
aralıklarla en baştan oluşturulmasıdır.
      </p>
      <p>Test verisinin periyodik olarak en baştan oluşturulması büyük boyutlara sahip veri
kümesi üzerinde işlem yapmayı gerektirdiğinden bu durum maliyet problemine neden
olabilmektedir. Veri miktarının zaman içinde artacağı da düşünüldüğünde veri
oluşturma esnasında temas edilen veri boyutu büyüyecek ve böylece test verisinin en baştan
oluşturulması için gerekli olan zaman da giderek artacaktır.
5</p>
    </sec>
    <sec id="sec-6">
      <title>Kuveyt Türk Bilgi Teknolojileri Bünyesinde Uygulanan Test Veri Yönetimi</title>
      <p>Çalışmada ele alınan yöntemin uygulanmasından önce Kuveyt Türk Bilgi Teknolojileri
bünyesinde yapılan Test Veri Yönetimi çalışmalarında alan bazında toplam verinin
%1’ine temas edilmekteydi. Yani test verileri baştan oluşturulmak istendiğinde toplam
verinin alan bazında sadece %1’i üzerinde işlem yapılmaktaydı. Bu haliyle temas edilen
alan sayısı az olduğu için test verilerinin ortamlarda anonimleştirilmesi, yüklenmesi,
bakımı vb. işlemler standart veri tabanı yönetimi prosedürleriyle kolaylıkla
sağlanabilmekteydi.</p>
      <p>İhtiyaçlar dâhilinde gelişen yeni Test Veri Yönetimi anlayışı ile birlikte temas edilen
veri oranının %8’lere çıktığı görülmüştür. Temas edilen verideki artış nedeniyle test
verisinin oluşturulması, bakımı, güvenliği, tutarlılığı, bütünlüğü gibi konular sürecin
standart veri tabanı yönetimi prosedürleriyle yönetilmesini oldukça zorlu hale
getirmektedir. Buradaki zorluğun üstesinden gelebilmek için test verisinin kısa sürede,
güvenli, kolay ve işlevsel olarak oluşturulabildiği bir yöntem olarak Test Veri Yönetimi
Otomasyonu tasarlanmıştır.
6</p>
    </sec>
    <sec id="sec-7">
      <title>Test Veri Yönetimi Otomasyonunun Geliştirilmesi</title>
      <p>Test Veri Yönetimi otomasyonu, test verisinin oluşturulmasında veya bakımında temas
edilen veri üzerinde yapılan maskeleme, anonimleştirme vb. işlemlerin otomatik
gerçekleştirilmesini sağlayan sisteme verilen isimdir.
6.1</p>
      <sec id="sec-7-1">
        <title>Test Veri Yönetimi Otomasyonu İçin Sistem Gereksinimleri</title>
        <p>Test Veri Yönetimi otomasyonu için yaptığımız analiz çalışmalarına göre ihtiyaç
duyulan temel gereksinimlerin aşağıdaki gibi olduğu tespit edilmiştir.
 Test ortamında kullanılacak verinin hassaslık bilgilerini içeren veri sözlüğü sistemi
 Verinin güvenliğini, bütünlüğünü ve tutarlılığını korumak kaydıyla hassas verileri
ilişkisel bütünlüğü bozmayacak (deterministik) yöntemlerle dönüştüren ve
dönüştürülmüş veriyi ortamlara yükleyen bir araç
 Veriyi dönüştürüp yükleyen araç ile veri sözlüğü sisteminin konuşmasını ve
bütünleşmesini sağlayan, verinin aktarılması ve bakımı gibi işlemleri çizelgeleyen ve tüm
süreci uçtan uca yönetebilen bir yazılım uygulaması</p>
        <p>Yapılan inceleme ve çalışmalar neticesinde bu gereksinimlerin aşağıdaki yöntem ve
uygulamalarla karşılanmasına karar kılınmıştır.
 Veri sözlüğü sistemi olarak, Kuveyt Türk Bilgi Teknolojileri bünyesinde kurum
ihtiyaçları için üretilmiş olan Veri Sözlüğü sisteminin kullanılmasına karar verilmiştir.
Veri sözlüğü, işletmenin faaliyet gösterdiği alanlarla ilgili kullandığı kavramlardan
oluşan bir yapıdır. Veri tabanındaki tablolarda bulunan her bir alan sözlükteki
kavramlardan biri ile ilişkilendirilir. Veri sözlüğünün test otomasyonunda
kullanılmasının en önemli sebebi benzer kavramların sözlükte gruplanarak yönetilebilmesidir.
Örneğin; TC Kimlik Numarası bir üst kavram olarak tanımlanır. Alıcı TC Kimlik
Numarası ve Gönderen TC Kimlik Numarası kavramları da bu üst kavrama bağlanır.
Üst kavram ilişkisi TC Kimlik Numarası bulunan tüm alanlara erişmek için bir
anahtar özelliği taşır. Böylece kavramlara bağlı her alan için teker teker kural tanımı
yapılmasına gerek olmaksızın maskeleme kural tanımları bir merkezden yönetilir.
 Verinin dönüştürülmesi ve yüklenmesi aşamasında kullanılacak araç için
Informatica Test Data Management (TDM) isimli Test Veri Yönetimi aracının
kullanılmasına karar verilmiştir. Informatica TDM uygulamasına karar verilirken piyasada
benzer fonksiyonları sağlayan uygulamalar ile karşılaştırma yapılmış, çeşitli
firmalardan örnek uygulama sunumları (PoC) istenmiştir.
 Veri Sözlüğü ile Informatica aracının entegre olmasını sağlayıp ilgili işleri
çizelgeleyebilen ve tüm süreci baştan sona yönetebilen bir yazılım uygulamasının
geliştirilmesine karar verilmiştir. Bu uygulama Kuveyt Türk Bilgi Teknolojileri
bünyesinde geliştirilmiştir. Geliştirilen uygulama sistem tasarımı başlığı altında
“otomasyon yazılımı” olarak isimlendirilecektir.
6.2</p>
      </sec>
      <sec id="sec-7-2">
        <title>Test Veri Yönetimi Otomasyonu İçin Sistem Tasarımı</title>
        <p>İlgili gereksinimler ve bu gereksinimlerin karşılanması için alınan kararlar
doğrultusunda geliştirilen Test Veri Yönetimi otomasyon sisteminin çalışma aşamaları sırasıyla
aşağıdaki adımlardan oluşmaktadır.
1.</p>
        <p>Test verisi yüklemesi yapılacak veri tabanları için kaynak ve hedef bilgileri alınır
ve bu veri tabanlarında, gerçek ortamdan alınan yedek dosya ile yenileme (restore)
işlemi gerçekleştirilir.</p>
        <p>Yenileme işlemleri tamamlanan hedef veri tabanlarında “trigger” ve “foreign key”
gibi veri tabanı nesneleri pasif konuma getirilir. Bu işlem, birbiri ile bağlayıcı
ilişkileri olan tablolar bulunduran bir veri tabanı için gereklidir. Bu adımda verinin
silinmesi, aktarılması ve manipüle edilmesi esnasında oluşabilecek kısıtların önüne
geçilmesi hedeflenir. Pasif duruma getirilen veri tabanı nesnelerinin kaydı
tutularak işlem sonrasında aktif duruma getirilmesi sağlanır. Bu işlem adımı,
pasifleştirme/aktifleştirme betiklerini oluşturan ve bunları işlem sırası geldiğinde çalıştıran
saklı yordamın otomasyon yazılımı tarafından tetiklenmesiyle gerçekleşir.
İlgili veri tabanlarında bulunan birleştirilmiş alanlar (computed column) standart
yapıdaki bir alana dönüştürülerek birleştirilmiş alan durumundan çıkarılır.
Dönüştürülen alanların kaydı tutularak işlem sonrasında yeniden orijinal duruma
getirilmesi sağlanır. Bu işlem adımı, alan dönüştürme betiklerini oluşturan ve bunları
işlem sırası geldiğinde çalıştıran saklı yordamın otomasyon yazılımı tarafından
tetiklenmesi ile gerçekleşir.
İlgili veri tabanlarında Informatica TDM aracı çalışmadan önce gerekli betiklerin
çalıştırılması sağlanır. İşlem yapılacak olan veri tabanları üzerinde “view”
oluşturularak Informatica TDM uygulamasında veri kaynaklı oluşabilecek muhtemel
hataların önüne geçilmesi hedeflenir. Bu işlem adımı, betikleri sırası geldiğinde
çalıştıran saklı yordamın otomasyon yazılımı tarafından tetiklenmesi ile gerçekleşir
(Pre-Sql çalışması).</p>
        <p>Informatica TDM aracına yerleştirilmek üzere Informatica proje XML dosyası
oluşturulur. XML dosyası hangi veri tabanında hangi alanın hangi kuralla
maskeleneceği bilgisini Informatica TDM aracının anlayacağı desenlerde içermektedir.
Hangi alanın hangi kuralla maskeleneceği bilgisi ise Veri Sözlüğü ile yapılan
bütünleşme çalışması neticesinde elde edilmektedir.</p>
        <p>Informatica TDM aracına yerleştirilen bu XML dosyası sonrasında oluşan
“Informatica Projesi” için Generate&amp;Execute işlemleri gerçekleştirilir. Bu aşamadan
verinin dönüştürülmesi ve yüklenmesi işlemi gerçekleşmektedir.
İlgili veri tabanlarında Informatica Projesinin Generate&amp;Execute işlemleri
tamamlandıktan sonra ihtiyaç duyulan betiklerin çalışması sağlanır. Bu adımda, veri
ihtiyacı bulunmadığından, performans kaybı yaşanmaması adına maskeleme işlemine
dâhil edilmemiş olan tablo verilerinin temizlenmesi gerçekleştirilir. (Post-Sql
çalışması).
İlgili veri tabanlarında “trigger” ve “foreign key” gibi veri tabanı nesneleri aktif
konuma getirilir.
İlgili veri tabanlarında standart yapıdaki bir alan dönüştürülmüş olan birleştirilmiş
alanlar (computed column) yeniden orijinal haline getirilir.
6.3</p>
      </sec>
      <sec id="sec-7-3">
        <title>Test Veri Yönetimi Otomasyonunun Geliştirilmesi Sırasında</title>
      </sec>
      <sec id="sec-7-4">
        <title>Karşılaşılan Problemler ve Çözümleri</title>
        <p>Test Veri Yönetimi otomasyonu geliştirilmesi esnasında karşılaşılan problemler ve
çözümleri özetle aşağıdaki gibidir.</p>
        <p>Veri tabanı üzerinde barındırılan “foreign key” ve “trigger” nesnelerinin
kaldırılması noktasında Informatica TDM aracı teknoloji farklılıkları nedeniyle yetersiz
kalmıştır. Bu nedenle bu nesnelerin kaldırılması ve geri getirilmesi Test Veri
Otomasyonu içerisinde Informatica TDM aracından bağımsız yönetilmiş ve ilgili
problem için çözüm sağlanmıştır.</p>
        <p>Bir tabloda “Identity Insert” özelliği varsa Informatica TDM aracı bu tablodaki
veriyi yüklerken tabloya ait “trigger” nesnelerini kaybetmektedir. Bu problemin
çözümü için bu tipteki tablolara ait “trigger” nesneleri oluşturan scriptlerim
“Postsql” aşamasında çalışması sağlanmıştır.</p>
        <p>Bir tabloda birleştirilmiş (computed column) bir alan varsa Informatica TDM aracı
bu tablodaki veriyi yüklerken hata almaktadır. Tablolarda bu alanların Informatica
TDM aracı çalışmadan önce kaldırılması sağlanarak ilgili problem çözülmüştür.
TC Kimlik Numarası ve Vergi Kimlik Numarası bilgilerinin orijinal haliyle test
ortamında kullanılması sakıncalı görülmektedir. Bu nedenle her bir numaraya
karşılık gelecek şekilde kontrol algoritmalarına uygun yeni bir değer üretilmesi
gerekmektedir. Bu nedenle Informatica TDM aracı üzerinde “gelişmiş kural”
oluşturularak bu alandaki verinin tutarlı maskelenmesi sağlanmıştır. Gelişmiş kural
seçeneği veri tabanı programlama dilinin uygulama içinde kullanılmasına imkân
sağlamaktadır.</p>
        <p>Test verisinin anonimleştirilmesi sırasında kullanılan maskeleme kuralları
birbirlerinden farklı veri tiplerine atanabilmektedir. Bu durum veri tipinden kaynaklı
olarak ilgili kuralın çalışırken hata almasına neden olmaktadır. Maskeleme
kurallarının hassas veriyle eşleştirilmesi veri tipine göre yapılacak şekilde Test Veri
Yönetimi otomasyonunda geliştirme yapılmış ve bu problem çözülmüştür.
6.4</p>
      </sec>
      <sec id="sec-7-5">
        <title>Test Veri Yönetimi Otomasyonu ile Elde Edilen Kazanımlar</title>
        <p>Mevcut sistemden Test Veri Otomasyonuna geçişte, test verisinin oluşturulması için
üzerinde işlem yapılan alan sayısı 5,5 kat artmasına rağmen test verisinin tamamının en
baştan oluşturulması işlemi için harcanan sürede kayda değer bir artış
gözlemlenmemiştir. Mevcut Sistem ve Test Veri Yönetimi Otomasyonu kapsamında üzerinde işlem
yapılan tablo ve alan sayıları Tablo 1 ile gösterilmiştir.</p>
        <p>Tablo 1. İşlem Yapılan Tablo ve Alan Sayıları Tablosu.</p>
        <p>Tablo Sayısı</p>
        <p>Alan Sayısı
Mevcut Sistem
Test Veri Yönetimi Otomasyonu
413
1505
441
2449</p>
        <p>Mevcut sistemde test verisi, sql betikleri üzerinden herhangi bir maskeleme kuralı
kullanılmaksızın, verinin doğrudan betikler ile güncellemesi şeklinde
oluşturulmaktaydı. Bu durum, verinin bütünlüğünü ve tutarlılığını olumsuz etkileyebiliyor, aynı
zamanda maskelenen test verisinin sistematik bir şekilde büyümesi ihtiyacına yanıt
vermiyordu. Test Veri Yönetimi Otomasyonu ile test verisi oluşturulurken maskeleme
kurallarının kullanılması sağlanmış, böylece veri tutarlılığını ve bütünlüğünü olumsuz
etkilemeden anonimleştirme işleminin gerçekleştirilmesi sağlanmıştır. Aynı zamanda
büyüme ihtiyacı söz konusu olduğunda sql betiklerine ihtiyaç duymaksızın tanım tabanlı
olarak büyüme imkânı kazanılmıştır. Test veri otomasyonu içerisinde kullandığımız
bazı maskeleme kuralları ve kullanım adetleri Tablo 2 ile gösterilmiştir.</p>
        <p>Tablo 2. Maskeleme Kuralları Tablosu.</p>
        <p>Maskeleme Kuralı
Kullanım Sayısı
N_DET_NUMBER (Gelişigüzel bir değer alır. Veri bütünlüğü korunur.)
S_DET_NAME (Gelişigüzel bir isim değeri alır. Veri bütünlüğü korunur.)
S_DET_CARD (16 haneli kart numarasının ilk 6 ve son 4 hanesi sabit tutulur.</p>
        <p>Geriye kalan rakamlar gelişigüzel bir değer alır. Veri bütünlüğü korunur.)
S_RND_NUMBER (Değer numerik tipe dönüştürülür (gelişmiş kural) ve
N_DET_NUMBER kuralına sokulur.)
S_DET_TCKN (TCKN algoritmasına uygun bir değer üretilir.)
S_STA_CITY (Kuralda tanımlanmış olan şehir değerini alır.)
S_RND_PHONE (Verinin son 6 rakamını gelişigüzel bir değerle değiştirir.)
S_STA_ADDRESS (Kuralda tanımlanmış olan adres değerini alır.)
D_RND_DATE_PAST (Belirtilen aralıkta rastgele bir tarih değeri alır.)
S_STA_MAIDENNAME (Kuralda tanımlanmış olan kızlık soyadı değerini
alır.)
240
200
174
53
45
44
43
25
24</p>
        <p>Hangi alanda hangi maskeleme kuralının kullanılacağı bilgisi Veri Sözlüğü
sisteminde yönetilmektedir. TDM uygulaması Veri Sözlüğü sistemine entegre olduğu için
alan-kural eşleştirmeleri kolaylıkla gerçekleşmektedir. Mevcut sistemde fiziksel ilişkisi
olmayan ancak mantıksal ilişki bulunan tablolarda işlem yapılırken verilerin bütünlüğü
bozulabilmekteydi. Veri sözlüğü entegrasyonu ile bu sorunun çözüldüğü görülmüştür.
7</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Sonuç</title>
      <p>Bu çalışmada Test Veri Yönetiminin zorluklarından ve bu alanda gündeme gelen yeni
ihtiyaçlardan ana hatlarıyla bahsedilmiştir. Test veri yönetimindeki söz konusu
zorlukların aşılması ve yeni ihtiyaçların karşılanması için alternatif yaklaşımlardan birisi olan
test verisinin yönetilmesini otomatikleştirme yaklaşımı ele alınarak örnek bir Test Veri
Otomasyonu sistemi geliştirilmiştir. Geliştirilen Test Veri Yönetimi otomasyonun
Kuveyt Türk Bilgi Teknolojileri bünyesindeki uygulanışı anlatılmıştır.</p>
      <p>Test Veri Yönetimi otomasyonunun uygulanması neticesinde test verisinin
yönetilmesinin daha pratik ve esnek hale geldiği, değişen ihtiyaçlara daha hızlı adapte
olabildiği, testin ve testi yapılan uygulamanın kalitesini artırmaya katkı sağladığı
gözlemlenmiştir.</p>
    </sec>
    <sec id="sec-9">
      <title>Kaynaklar</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>ISTQB</given-names>
            <surname>Worldwide Software Testing Practices Report</surname>
          </string-name>
          2015-2016 (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. What is Test Data Management?, https://www.informatica.com/services-and
          <article-title>-training/glossary-of-terms/test-data-management-definition</article-title>
          .html,
          <source>son erişim</source>
          <year>2017</year>
          /06/05.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Khurana</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bindal</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Test Data Management</article-title>
          .
          <source>In: International Journal of Computer Trends and Technology</source>
          , vol.
          <volume>15</volume>
          , No 14, pp.
          <fpage>162</fpage>
          ,
          <string-name>
            <surname>Delhi</surname>
          </string-name>
          (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Test</given-names>
            <surname>Manager Insights</surname>
          </string-name>
          2016-
          <volume>17</volume>
          ,
          <string-name>
            <surname>Keytorc</surname>
          </string-name>
          (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Derek</surname>
            <given-names>M.</given-names>
          </string-name>
          <article-title>Kozikowski: Test Data Management Challenges and Solutions (</article-title>
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Khurana</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bindal</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Test Data Management</article-title>
          .
          <source>In: International Journal of Computer Trends and Technology</source>
          , vol.
          <volume>15</volume>
          , No 14, pp.
          <fpage>163</fpage>
          ,
          <string-name>
            <surname>Delhi</surname>
          </string-name>
          (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bagare</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Desyatnikov</surname>
          </string-name>
          , R.:
          <article-title>Test Data Management in Software Testing Life Cycle, External Document Infosys Limited (</article-title>
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>