Satır sınırı bir veritabanını küçültebilir. Ancak sonucun hâlâ işe yarar bir müşteriyi, siparişi, hasar dosyasını veya hesabı temsil edip etmediğini söyleyemez.
Bu ayrım test verisinde önemlidir. Uygulamalar nadiren yalıtılmış tablolarla çalışır. Bir müşteri; adreslere, siparişlere, ödemelere, tercihlere ve destek kayıtlarına bağlı olabilir. Bir alt küme bu satırların bir kısmını tutup kalanını kaybederse veritabanı teknik olarak geçerli, işlevsel olarak kullanışsız olabilir.
Ark Business Objects, bir test veri kümesinin koruması gereken iş mantığı biçimini tanımlar.
Business Object nedir?
Business Object, bir domain varlığının ve onunla ilişkili tabloların yeniden kullanılabilir, sürümlenmiş tanımıdır.
Örneğin bir Customer Business Object’i şunları tanımlayabilir:
- kök tablo olarak
customers - ilişkili üye tablolar olarak siparişler ve ödemeler
- çalışma zamanı parametreleri olarak ülke, durum veya oluşturulma tarihi
- dahil edilmesi gereken lookup tabloları
- eşleşen satırlar bulunduğunda izlenebilecek isteğe bağlı tablolar
- uygulamada gerçek olan fakat veritabanı şemasında bulunmayan ilişkiler için sanal foreign key’ler
Bir ekip Ark’tan “her tablodan 1.000 satır” istemek yerine “bu tarihten sonra oluşturulan aktif müşterileri, onları test etmek için gereken kayıtlarla birlikte” isteyebilir.
Ark içinde nasıl çalışır?
Ekipler bir kaynak profili üzerinde Business Object oluşturur veya mevcut tanımı inceler. Ark ayrıca şema grafiğini ve sınıflandırma sonuçlarını kullanarak olası kök tabloları, üye tabloları, parametreleri ve sanal ilişkileri önerebilir.
Yayımlanan tanım açık ve yönetilebilir kalır. Bir test ortamı istendiğinde Ark, seçilen Business Object’i sağlanan çalışma zamanı değerleriyle derleyerek bir extraction planı oluşturur. Bu plan söz konusu çalışma için kök filtreyi, tablo rollerini, gezinme kurallarını, satır sınırlarını ve ilişkileri belirler.
Tanımlar sürümlendiği için kuyruktaki bir iş, daha sonra biri Business Object’i düzenlediğinde sessizce değişemez.
Maskeleme, kaynak profilinin yönetişimi altında kalır. Business Objects hangi ilişkili kayıtların alt kümeye ait olduğunu; maskeleme politikası ise hassas değerlerin nasıl korunacağını tanımlar.
Hangi durumlarda kullanışlıdır?
Business Objects özellikle şu ihtiyaçlarda değerlidir:
- entegrasyon testleri için küçük fakat eksiksiz bir müşteri yolculuğu
- satır kalemleri, ödemeleri ve iadeleriyle birlikte siparişler
- poliçesi, talep sahibi, belgeleri ve kararlarıyla birlikte bir hasar dosyası
- SaaS testleri için kiracıya (tenant) özgü veri kümeleri
- QA, CI, demo ve geliştirici sandbox’larında tekrarlanabilir domain alt kümeleri
Pratik fayda tutarlılıktır. Platform ekipleri iş kapsamını bir kez tanımlar, güvenlik ekipleri bir kez inceler ve geliştiriciler ayrı extraction script’leri yönetmek yerine farklı parametrelerle aynı tanımı yeniden kullanır.
Business Objects kapsamı belirler, senaryoyu değil
Bir Business Object şu soruyu yanıtlar: Bu ortam hangi iş kayıtlarını içermeli?
Ancak ortamın iade edilmeye hazır bir sipariş veya üç başarısız denemeden sonra kilitlenmiş bir hesap gibi belirli bir test durumunda başlayacağını tek başına garanti etmez. Bu noktada Ark Anchors devreye girer: Ark yönetilen alt kümeyi hazırladıktan sonra Anchors, test senaryosunun gerektirdiği küçük ve deterministik değişiklikleri uygular.
Birlikte, alt kümelemeyi genel bir örnekleme işleminden tekrarlanabilir bir test verisi iş akışına dönüştürürler: Business Objects doğru iş bağlamını seçer; Anchors kesin başlangıç durumunu kurar.