Birkaç cevabın yönlerini çizmek ve 2p eklemek ...
Not: Yorumlarım özellikle veritabanı testiyle ilgili , ve UI testiyle ilgili değildir (açıkça benzer olsa da geçerlidir).
Veritabanları, ön uç uygulamaları kadar test etmeye ihtiyaç duyuyor ancak 'ön uç ile çalışıyor mu' temelinde test etme eğilimindedir. ya da 'raporlar doğru sonucu veriyor mu?', bence veritabanı geliştirme sürecinde çok geç test edilen ve çok güçlü olmayan testler.
Her zamanki UAT / performance / et al'a ek olarak veri ambarı veritabanı için birim / entegrasyon / sistem testini kullanan çok sayıda müşterimiz var. testleri. Sürekli entegrasyon ve otomatik testlerle geleneksel UAT'ye geçmeden önce birçok problemi topladıklarını, böylece UAT'de zaman kazandıklarını ve UAT'in başarı şansını arttırdıklarını tespit etmişlerdir.
Eminim çoğu, veritabanı testlerinde ön uç veya rapor testinde olduğu gibi benzer bir titizlik uygulanması gerektiği konusunda hemfikirdir.
Test etmenin kilit noktası, küçük basit varlıkları test etmek, doğruluklarını sağlamak, varlıkların karmaşık kombinasyonlarına geçmeden önce, daha geniş sisteme genişlemeden önce doğruluklarını sağlamaktır.
Bu yüzden cevabımın içeriğini vermek
Birim Testi
- Birimin çalıştığını kanıtlamak için bir test odağına sahiptir, örneğin bir masa, görünüm, işlev, saklı yordam
- dış bağımlılıkları kaldırmak için arayüzleri 'saplamalı'
- kendi verilerini sağlayacaktır. Bilinen bir başlangıç veri durumuna ihtiyacınız vardır, bu nedenle mevcut ön testlerden veri alma olasılığı varsa, popülasyondan önce kesikler / silmeler yapılmalıdır.
- ideal olarak kendi yürütme bağlamında çalışacak
- kendisinden sonra silinecek ve kullandığı verileri silecektir; bu sadece taslaklar kullanılmadığında önemlidir.
Bunu yapmanın avantajları, testteki tüm dış bağımlılıkları ortadan kaldırmanız ve doğruluğu kanıtlamak için en küçük miktarda test yapmanızdır. Açıkçası, bu testler üretim veritabanında çalıştırılamaz. Aşağıdakiler de dahil olmak üzere, ünite türüne bağlı olarak yapacağınız birkaç test türü olabilir.
- şema kontrolü, bazıları buna 'veri sözleşmesi' testi diyebilir
- sütun değerlerinden geçen
- Fonksiyonlar, prosedürler, görüşler, hesaplanan sütunlar için farklı veri değerlerine sahip mantık yollarının kullanılması
- edge case test - NULL, hatalı veri, negatif sayılar, çok büyük değerler
(Birim) Entegrasyon Testi
Bu SE postasını çeşitli test türlerinden bahsetmek konusunda faydalı buldum .
- birimlerin bir araya geldiğini kanıtlamak için test odağına sahiptir
- birkaç birimde birlikte gerçekleştirilir
- dış bağımlılıkları kaldırmak için arayüzleri 'saplamalı'
- Dış veri etkilerinin etkilerini ortadan kaldırmak için kendi verilerini sağlayacak
- ideal olarak kendi yürütme bağlamında çalışacak
- kendiliğinden sonra silinecek ve oluşturulan verileri silecektir; bu sadece taslaklar kullanılmadığında önemlidir.
Ünite testlerinden bu entegrasyon testlerine geçerken, daha geniş bir yelpazedeki test durumlarını test etmek için genellikle biraz daha fazla veri olacaktır. Açıkçası, bu testler üretim veritabanında çalıştırılamaz.
Bu daha sonra artan veri hacimleri ve artan kapsamla birlikte Sistem Testi , Sistem Entegrasyon Testi (aka 2-uç testi) ile devam eder. Tüm bu testler bir regresyon testi çerçevesinin parçası haline gelmelidir. Bu testlerin bazıları UAT'nin bir parçası olarak yapılacak kullanıcılar tarafından seçilebilir, ancak UAT, BT tarafından tanımlandığı gibi değil , kullanıcılar tarafından tanımlanan testlerdir - ortak bir sorun!
Bu yüzden şimdi bazı soruları cevaplamak için bir bağlam verdim .
- Birim ve entegrasyon testi için verilerin önceden doldurulması sahte test hatalarına neden olabilir ve bundan kaçınılmalıdır.
- Tutarlı testler sağlamanın tek yolu, kaynak veriler hakkında varsayımlarda bulunmamak ve titizlikle kontrol etmektir.
- Bir test cihazının, aynı testleri farklı bir kaynak kontrollü veritabanı kodu dalında gerçekleştiren bir test cihazıyla çakışmadığından emin olmak için ayrı bir test uygulama bağlamı önemlidir.