=Paper= {{Paper |id=Vol-1980/YTM_2017_paper_5 |storemode=property |title=Test Veri Yonetiminde Alternatif Bir Yaklasim, Test Veri Yonetimi Otomasyonu(An Alternative Approach in Test Data Management, Automation of Test Data Management) |pdfUrl=https://ceur-ws.org/Vol-1980/YTM_2017_paper_5.pdf |volume=Vol-1980 |authors=Oguzhan Kayhan,Burak Yakupoglu |dblpUrl=https://dblp.org/rec/conf/uyms/KayhanY17 }} ==Test Veri Yonetiminde Alternatif Bir Yaklasim, Test Veri Yonetimi Otomasyonu(An Alternative Approach in Test Data Management, Automation of Test Data Management)== https://ceur-ws.org/Vol-1980/YTM_2017_paper_5.pdf
Test Veri Yönetiminde Alternatif Bir Yaklaşım, Test Veri
                 Yönetimi Otomasyonu

                        Oğuzhan Kayhan1, Burak Yakupoğlu2
                        1,2 Kuveyt Türk AR-GE Merkezi, Kocaeli
                   1oguzhan.kayhan@kuveytturk.com.tr,
                   2burak.yakupoglu@kuveytturk.com.tr




    Özet. Yazılım test sürecinin önemli alt bileşenlerinden birisi de test verilerinin
    yönetilmesidir. Öyle ki test için harcanan toplam eforun önemli bir kısmını test
    verilerinin hazırlanması oluşturmaktadır. İhtiyaç duyulan test verisinin küçük bo-
    yutlu olduğu ve çeşitliğinin fazla olmadığı durumlarda yaygın olan Test Veri Yö-
    netimi anlayışı ihtiyacı karşılıyor olsa da, test verisinde boyut ve çeşitlilik arttı-
    ğında verinin güvenliği, tutarlılığı, bütünlüğü gibi etkenler veri yönetimini zor-
    laştırmakta ve bu durum yazılım test sürecini olumsuz etkilemektedir. Bu çalışma
    kapsamında öncelikle bilinen ve yaygın olan test veri yönetimi anlayışı incelen-
    miştir. Bu yaklaşımın kullanılması halinde mevcut ihtiyaçların karşılandığı ancak
    farklı ihtiyaçlar olması durumunda ortaya bazı problemlerin çıktığı tespit edil-
    miştir. Bu problemlerin çözümüne yönelik olarak Test Veri Yönetimi için alter-
    natif bir yaklaşım geliştirilmiş, bir otomasyon sistemi tasarlanmıştır. “Test Veri
    Yönetimi Otomasyonu” olarak adlandırdığımız söz konusu otomasyon sistemi-
    nin tasarımsal detayları anlatılmış, nasıl uygulanacağı gösterilerek uygulama sı-
    rasında karşılaşılan sorunlar ve çözümleri detaylıca izah edilmiştir.

    Anahtar Kelimeler: Yazılım Test Mühendisliği, Test Veri Yönetimi, Test Veri
    Yönetimi Otomasyonu.


  An Alternative Approach in Test Data Management,
        Automation of Test Data Management

                        Oğuzhan Kayhan1, Burak Yakupoğlu2
                          1,2 Kuveyt Türk R&D Center, Kocaeli
                   1oguzhan.kayhan@kuveytturk.com.tr,
                   2burak.yakupoglu@kuveytturk.com.tr




    Abstract. One of the most important subcomponents of the software testing pro-
    cess 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




                                                                                             208
       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 automa-
       tion system, which we call “Test Data Management Automation”, are explained
       and the problems and solutions encountered during implementation are explained
       in detail.

       Keywords : Software Test Engineering, Test Data Management, Test Data
       Management Automation.


1      Giriş

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 faaliyetle-
rinde gerekli olan temel iyileştirme alanlarından biri olarak görülmektedir [1].
    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 ko-
runması ile ilgili yasal düzenlemelerin eskisine göre daha da sıkılaşması ve bunun ge-
tirisi 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.
    Çalışmanın ilk kısmında Test Veri Yönetimi ile ilgili genel bilgiler verilerek bu alan-
daki ihtiyaca değinilmiş, yaygın olarak bilinen ve mevcutta kullanılan Test Veri Yöne-
timi 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      Neden Test Veri Yönetimi?

Bir kuruluşun gerçek verilerini güvenilir bir şekilde taklit eden üretim dışı veri küme-
lerinin 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 [2].




                                                                                              209
   Bir test çalışması için gerekli olan toplam eforun en az %50’sinin test verisi oluştur-
mak için harcandığı bilinmektedir [3]. Uygun test verisinin belirli aralıklarla yenilen-
mesi veya yeni test verisinin ihtiyaçlar kapsamında test ortamlarında yeniden oluştu-
rulması 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 edi-
lebilir ö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öster-
mektedir [4].
   Otomasyon Testi, Performans Testi, Mobil Testler gibi diğer test uzmanlık alanla-
rı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ühendis-
liğinin diğer uzmanlık alanlarına etkisini aşağıda özet halinde yer alan istatistiki bilgi-
lerle gözler önüne sermektedir [5].
Test Otomasyonunda Yaşanılan Zorluklar. Katılımcıların %59’u test verilerinin en-
tegrasyonunu bu zorluklar arasında görmektedir.
Mobil Testlerde Karşılaşılan Zorluklar. Katılımcıların %12’si test verilerinin yeter-
siz olmasını bu zorluklar arasında görmektedir.
Performans Testlerinde Yaşanan Zorluklar. Katılımcıların %37’si test verilerinin
yönetimini bu zorluklar arasında görmektedir.


3      Test Veri Yönetimi Yaşam Döngüsü

Yaygın olan yaklaşıma göre Test Veri Yönetimi için yaşam döngüsü aşağıdaki aşama-
lardan oluşmaktadır [6].
Gereksinimlerin Analiz Edilmesi. Bu aşamada test verisi için ihtiyaç ve gereksinim-
ler 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 ko-
nulması gibi adımlar bu aşamada gerçekleştirilir.
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 gi-
dilmesi veya test verisinin tazelenmesi işlemleri test yaşam döngüsü kuralları işletilerek
bu aşamada gerçekleştirilir.


4      Test Veri Yönetiminde Kısıtlayıcı Etkenler

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 [7]. Ayrıca,




                                                                                               210
üzerinde farklı iş alanlarının birlikte çalıştığı daha karmaşık sistemlerde, ihtiyaç duyu-
lan 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 atmak-
tadı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ık-
larla en baştan oluşturulmasıdır.
   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      Kuveyt Türk Bilgi Teknolojileri Bünyesinde Uygulanan
       Test Veri Yönetimi

Ç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ğlanabil-
mekteydi.
   İ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 getir-
mektedir. 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      Test Veri Yönetimi Otomasyonunun Geliştirilmesi

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    Test Veri Yönetimi Otomasyonu İçin Sistem Gereksinimleri

Test Veri Yönetimi otomasyonu için yaptığımız analiz çalışmalarına göre ihtiyaç du-
yulan 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




                                                                                             211
 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ün-
  leş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ı
  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 ih-
  tiyaç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 kav-
  ramlardan 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 anah-
  tar özelliği taşır. Böylece kavramlara bağlı her alan için teker teker kural tanımı ya-
  pı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 Informa-
  tica Test Data Management (TDM) isimli Test Veri Yönetimi aracının kullanılma-
  sına karar verilmiştir. Informatica TDM uygulamasına karar verilirken piyasada ben-
  zer fonksiyonları sağlayan uygulamalar ile karşılaştırma yapılmış, çeşitli firmalar-
  dan örnek uygulama sunumları (PoC) istenmiştir.
 Veri Sözlüğü ile Informatica aracının entegre olmasını sağlayıp ilgili işleri çizelge-
  leyebilen ve tüm süreci baştan sona yönetebilen bir yazılım uygulamasının gelişti-
  rilmesine karar verilmiştir. Bu uygulama Kuveyt Türk Bilgi Teknolojileri bünye-
  sinde geliştirilmiştir. Geliştirilen uygulama sistem tasarımı başlığı altında “otomas-
  yon yazılımı” olarak isimlendirilecektir.

6.2     Test Veri Yönetimi Otomasyonu İçin Sistem Tasarımı

İlgili gereksinimler ve bu gereksinimlerin karşılanması için alınan kararlar doğrultu-
sunda geliştirilen Test Veri Yönetimi otomasyon sisteminin çalışma aşamaları sırasıyla
aşağıdaki adımlardan oluşmaktadır.
1.    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.
2.    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ı tutula-




                                                                                                 212
      rak 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.
3.    İ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 getiril-
      mesi 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 te-
      tiklenmesi ile gerçekleşir.
4.    İ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ştu-
      rularak Informatica TDM uygulamasında veri kaynaklı oluşabilecek muhtemel ha-
      taların önüne geçilmesi hedeflenir. Bu işlem adımı, betikleri sırası geldiğinde ça-
      lıştıran saklı yordamın otomasyon yazılımı tarafından tetiklenmesi ile gerçekleşir
      (Pre-Sql çalışması).
5.    Informatica TDM aracına yerleştirilmek üzere Informatica proje XML dosyası
      oluşturulur. XML dosyası hangi veri tabanında hangi alanın hangi kuralla maske-
      leneceğ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.
6.    Informatica TDM aracına yerleştirilen bu XML dosyası sonrasında oluşan “Infor-
      matica Projesi” için Generate&Execute işlemleri gerçekleştirilir. Bu aşamadan ve-
      rinin dönüştürülmesi ve yüklenmesi işlemi gerçekleşmektedir.
7.    İlgili veri tabanlarında Informatica Projesinin Generate&Execute işlemleri tamam-
      landıktan sonra ihtiyaç duyulan betiklerin çalışması sağlanır. Bu adımda, veri ihti-
      yacı bulunmadığından, performans kaybı yaşanmaması adına maskeleme işlemine
      dâhil edilmemiş olan tablo verilerinin temizlenmesi gerçekleştirilir. (Post-Sql ça-
      lışması).
8.    İlgili veri tabanlarında “trigger” ve “foreign key” gibi veri tabanı nesneleri aktif
      konuma getirilir.
9.    İ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     Test Veri Yönetimi Otomasyonunun Geliştirilmesi Sırasında
        Karşılaşılan Problemler ve Çözümleri
Test Veri Yönetimi otomasyonu geliştirilmesi esnasında karşılaşılan problemler ve çö-
zümleri özetle aşağıdaki gibidir.
     Veri tabanı üzerinde barındırılan “foreign key” ve “trigger” nesnelerinin kaldırıl-
      ması 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 Oto-
      masyonu içerisinde Informatica TDM aracından bağımsız yönetilmiş ve ilgili prob-
      lem için çözüm sağlanmıştır.
     Bir tabloda “Identity Insert” özelliği varsa Informatica TDM aracı bu tablodaki
      veriyi yüklerken tabloya ait “trigger” nesnelerini kaybetmektedir. Bu problemin




                                                                                                213
       çözümü için bu tipteki tablolara ait “trigger” nesneleri oluşturan scriptlerim “Post-
       sql” aşamasında çalışması sağlanmıştır.
      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 gerek-
       mektedir. Bu nedenle Informatica TDM aracı üzerinde “gelişmiş kural” oluşturu-
       larak bu alandaki verinin tutarlı maskelenmesi sağlanmıştır. Gelişmiş kural seçe-
       neği veri tabanı programlama dilinin uygulama içinde kullanılmasına imkân sağ-
       lamaktadır.
      Test verisinin anonimleştirilmesi sırasında kullanılan maskeleme kuralları birbir-
       lerinden farklı veri tiplerine atanabilmektedir. Bu durum veri tipinden kaynaklı
       olarak ilgili kuralın çalışırken hata almasına neden olmaktadır. Maskeleme kural-
       ları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      Test Veri Yönetimi Otomasyonu ile Elde Edilen Kazanımlar
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özlemlenme-
miş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.

                     Tablo 1. İşlem Yapılan Tablo ve Alan Sayıları Tablosu.

                                                 Tablo Sayısı    Alan Sayısı
                Mevcut Sistem                    413             441
                Test Veri Yönetimi Otomasyonu    1505            2449


   Mevcut sistemde test verisi, sql betikleri üzerinden herhangi bir maskeleme kuralı
kullanılmaksızın, verinin doğrudan betikler ile güncellemesi şeklinde oluşturulmak-
taydı. Bu durum, verinin bütünlüğünü ve tutarlılığını olumsuz etkileyebiliyor, aynı za-
manda maskelenen test verisinin sistematik bir şekilde büyümesi ihtiyacına yanıt ver-
miyordu. Test Veri Yönetimi Otomasyonu ile test verisi oluşturulurken maskeleme ku-
rallarının kullanılması sağlanmış, böylece veri tutarlılığını ve bütünlüğünü olumsuz et-
kilemeden 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.

                            Tablo 2. Maskeleme Kuralları Tablosu.
      Maskeleme Kuralı                                                  Kullanım Sayısı




                                                                                                214
    N_DET_NUMBER (Gelişigüzel bir değer alır. Veri bütünlüğü korunur.)            1476
    S_DET_NAME (Gelişigüzel bir isim değeri alır. Veri bütünlüğü korunur.)        240
    S_DET_CARD (16 haneli kart numarasının ilk 6 ve son 4 hanesi sabit tutulur.
                                                                                  200
    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
                                                                                  174
    N_DET_NUMBER kuralına sokulur.)
    S_DET_TCKN (TCKN algoritmasına uygun bir değer üretilir.)                      53
    S_STA_CITY (Kuralda tanımlanmış olan şehir değerini alır.)                     45
    S_RND_PHONE (Verinin son 6 rakamını gelişigüzel bir değerle değiştirir.)       44
    S_STA_ADDRESS (Kuralda tanımlanmış olan adres değerini alır.)                  43
    D_RND_DATE_PAST (Belirtilen aralıkta rastgele bir tarih değeri alır.)          25
    S_STA_MAIDENNAME (Kuralda tanımlanmış olan kızlık soyadı değerini
                                                                                   24
    alır.)

   Hangi alanda hangi maskeleme kuralının kullanılacağı bilgisi Veri Sözlüğü siste-
minde 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            Sonuç

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 zorluk-
ları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 Ku-
veyt Türk Bilgi Teknolojileri bünyesindeki uygulanışı anlatılmıştır.
   Test Veri Yönetimi otomasyonunun uygulanması neticesinde test verisinin yönetil-
mesinin daha pratik ve esnek hale geldiği, değişen ihtiyaçlara daha hızlı adapte olabil-
diği, testin ve testi yapılan uygulamanın kalitesini artırmaya katkı sağladığı gözlemlen-
miştir.


Kaynaklar
 1. ISTQB Worldwide Software Testing Practices Report 2015-2016 (2016).
 2. What is Test Data Management?, https://www.informatica.com/services-and-training/glos-
    sary-of-terms/test-data-management-definition.html, son erişim 2017/06/05.
 3. Khurana, P., Bindal, P.: Test Data Management. In: International Journal of Computer
    Trends and Technology, vol. 15, No 14, pp. 162, Delhi (2014).
 4. Test Manager Insights 2016-17, Keytorc (2017).
 5. Derek M. Kozikowski: Test Data Management Challenges and Solutions (2009).




                                                                                              215
6. Khurana, P., Bindal, P.: Test Data Management. In: International Journal of Computer
   Trends and Technology, vol. 15, No 14, pp. 163, Delhi (2014).
7. Bagare, P., Desyatnikov, R.: Test Data Management in Software Testing Life Cycle, Exter-
   nal Document Infosys Limited (2015).




                                                                                              216