İçeriğe geç
Balkan Tecnologia

Bozulmayı kullanıcıdan önce yakalayan testler

Back-end'iniz için iş kurallarından servisler arasındaki sözleşmelere kadar otomatik testler yazarız; bu testler her değişiklikte koşar.

Sıkı bir düğümle bağlanmış nane yeşili iplik; yanında açık pirinç bir asma kilit.

Kimin için

Her düzeltmenin başka bir yeri bozduğu, kimsenin koda dokunmaya cesaret edemediği şirketler için.

Neyi çözer

  • Bir hatayı düzeltmek, ancak canlıda ortaya çıkan başka bir hata doğuruyor.
  • API'deki bir değişiklik uygulamayı ya da bir iş ortağının entegrasyonunu bozuyor; kimseye haber verilmemiş.
  • Var olan testler belirgin bir neden olmadan düşüyor; sonuca kimse güvenmiyor.
  • Bir sürümü test etmek, yayından önce birinin her şeye elle tıklamasına bağlı.

Ne yapıyoruz

Birim testleri
İş kuralları tek başına test edilir; en çok hataya yol açan uç durumlar da dahil.
Entegrasyon testleri
Gerçek veritabanı, kuyruk ve dış servisler, test sırasında konteynerlerde ayağa kalkar.
Sözleşme testleri
Bir API'yi kullanan ile sunan, biçim üzerinde anlaşır; bozan değişiklik yayından önce yakalanır.
Brezilya'ya özgü senaryolar
Pix ödemesi ve e-fatura akışlarında tekrarlanan ödeme, ret ve zaman aşımı.
Test verisi
Testin kendisinin ürettiği, tekrarlanabilir, kurgusal veri; gerçek kayıtlardan kopyalanmaz.
Kararsız testler
Rastgele düşen testler kapatılmaz; nedeni bulunur ve düzeltilir.

Neler teslim edilir

  • Deponuzda birim, entegrasyon ve sözleşme testlerinden oluşan bir paket
  • Her değişiklikte yayın hattında koşan, hata olursa yayını durduran testler
  • Neyin test edildiğini, neyin henüz edilmediğini gösteren rapor
  • Belgelenmiş test verisi stratejisi
  • Ekibinizin aynı düzende yeni test yazması için kılavuz

Nasıl ilerliyoruz

  1. Risk haritası

    Hangi akışlar bozulunca en çok can yakıyor, hangilerinin zaten testi var.

  2. Test altyapısı

    Araçlar, test verisi ve konteynerli ortam ekip için hazırlanır.

  3. Kritik akışlar

    Önce en riskli akışların testleri, sonra geri kalanlar.

  4. Sözleşmeler

    Back-end, uygulamalar ve entegrasyonlar arasındaki sözleşmeler her sürümde denetlenir.

  5. Yayın hattı

    Testler, bir sürümün ilerleyip ilerlemeyeceğine karar vermeye başlar.

Teknoloji örnekleri

  • Pact
  • Testcontainers
  • JUnit
  • pytest
  • Jest
  • WireMock
  • Playwright

İlgili hizmetler

Sık sorulan sorular

Hangi test kapsamını hedefliyorsunuz?

Sabit bir rakamla çalışmıyoruz. Risksiz kodu da içeren bir yüzdenin peşine düşmek yerine, bozulduğunda en pahalıya patlayan akışları iyi test etmeyi tercih ederiz.

Sözleşme testi ne demek?

Bir API'yi çağıran ile onu sunanın biçim konusunda hâlâ anlaşıp anlaşmadığını denetleyen test. Bir değişiklik bu anlaşmayı bozarsa test, yayından önce düşer.

Bankanın ya da SEFAZ'ın test ortamına karşı test yapılabilir mi?

Evet, banka ya da kurum bir test ortamı sunuyorsa. Bu ortamlar her zaman erişilebilir olmadığından testlerin çoğu taklit servislerle koşar; dış ortam son kontrole bırakılır.

Testler geliştirmeyi yavaşlatır mı?

Başta biraz. Zamanla ekip canlıdaki yangınlara daha az vakit harcar ve koda daha rahat dokunur.

Balkan'a yazın

Projeniz için yazın