Google Gibi Test Edin: Sektör Devlerinden En İyi Uygulamalar (04.26.24)

İş akışlarındaki yöntemlerini ve yaklaşımlarını gözlemleyerek endüstri devlerinden çok şey öğrenebiliriz.

Yazılım test sürecini milyonlarca kod satırında tutmayı nasıl başarıyorlar?

Binlerce QA mühendisiyle iş akışını nasıl organize ediyorlar?

Projenin genişlemesiyle nasıl başa çıkıyorlar?

Google veya Spotify gibi şirketlerin deneyimi, küçük şirketlerde test süreçlerini iyileştirmeye yardımcı olabilir ve ekipler.

Devlerin nasıl test ettiğini daha yakından inceleyelim.

Google: kod kapsamının önemi

Yine de birçok mühendis böyle bir yazılım testi verimliliği ölçüsünün önemi hakkında tartışıyor. kod kapsamı olarak. Google uzmanları, kod kapsamı verilerinin bir test faaliyetindeki riskleri ve darboğazları değerlendirmek için değerli bilgiler olabileceği konusunda ısrar ediyor. Carlos Arguelles, Marko Ivanković‎ ve Adam Bender, kod kapsamı için en iyi uygulamaları paylaşıyor:

  • Kod kapsamı, hataların ve arızaların azaltılmasına yardımcı olabilir. Google'dan QA mühendislerinin deneyimi, artan kod kapsamının testlere yönelik yaklaşımlarda ve tutumlarda değişikliklere yol açtığını gösterdi. Birincil hedef olarak kod kapsamına sahip ekipler, ürünlerinin daha iyi test edilebilirliğini sağlama eğilimindedir. Test hedeflerine daha kolay ulaşmak ve daha az zaman harcamak için test için daha verimli kod yazarlar.
  • Yüksek test kapsamı sağlamak için mutasyon testi kullanın. Kod kapsamının tamamı savurgan olabilir ve yüksek kaliteli test kapsamını garanti etmez. Yüksek kod kapsamı yüzdesi, tüm işlevlerin doğru şekilde test edildiği anlamına gelmez. Bu, kodun genel olarak test edildiği anlamına gelir. Google uzmanları, yüksek kalitede test kapsamı sağlamak için mutasyon testi kullanılmasını önerir. Bu yöntem, küçük kod değişikliklerinin uygulanmasını ve test setlerinin bunları nasıl tanımladığını kontrol etmeyi içerir.
  • Kod kapsamı yüzdesi birçok faktöre bağlıdır. Yüksek kod kapsamını hedeflememeliyiz, ancak düşük kapsam aynı zamanda çok sayıda hataya da yol açar. Ve soru şu ki, belirli bir sistem için belirli kod kapsamı nedir? Bu soruyu cevaplamak için, kritiklik, karmaşıklık ve kod değiştirme sıklığı gibi şeyleri dikkate almalıyız. Kod kapsamı bir iş kararıdır ve ürün sahipleri bunu tanımlamalıdır.
  • Neleri kapsayacağınızı analiz edin. %100 kod kapsamı elde edemeyiz, bu nedenle QA mühendisleri bunu gözlemlemelidir. kodun en değerli kısımları kapsanır. Bir geliştirici ekibi, kaç kod satırının kapsandığını değil, tam olarak nelerin kapsandığını tartışmalı ve düşünmelidir.
Spotify: güvenilir strateji

Spotify hızla büyüyen bir şirket. 2008 yılında 150 çalışanı ile kurulmuştur. 2019'da çalışan sayısı 4 405'e yükseldi. Bugün Spotify dünya çapında yaklaşık 300 milyon kullanıcıya hizmet veriyor ve bu da onu dünyanın en popüler akış hizmeti yapıyor.

Spotify'ın testlerini nasıl ölçeklendirdiği ve geliştirme süreçleri.

  • QA ekibi için ürün hedefleri belirleyin. Spotify'ın işlevler arası ekipleri vardır. Her takımın hedefleri ve bu hedeflere yaklaşmak için belirli becerileri vardır. Takım yapısı hedeflere bağlıdır. Bu nedenle, bazı ekipler yalnızca geliştiricilerden oluşur ve bazılarının geliştiricileri ve testçileri vardır. Bu nedenle, test uzmanları geliştirme ekibiyle yakın işbirliği yapar ve ürünün ana hedeflerine odaklanır. Böyle bir yaklaşım, Spotify'ın geliştirme sürecini verimli bir şekilde ölçeklendirmesine olanak tanır.
  • Otomasyon testi bir araçtır, ancak her derde deva değil. Spotify'daki Test ve Geliştirme Yöneticisi Kristian Karl, yazılım test cihazlarının otomasyonla değiştirilemeyeceğini iddia ediyor. Test, insan deneyimi ve bilgisi gerektirir. Otomasyon testi, süreci hızlandırmak için güçlü bir araçtır, ancak insanlar kararlar alır ve otomatik raporları analiz eder. Spotify, ölçek araçlarından biri olarak otomasyonu kullanır. Test uzmanlarının algoritmalar için rutini bırakıp ürün hedeflerine odaklanmasına olanak tanır.
SpaceX: sürekli test şarttır

SpaceX ticari uzay taşımacılığı, yeniden kullanılabilir fırlatma sistemi ve yeniden kullanılabilir fırlatma sistemi ile tanınan yenilikçi bir şirkettir yüksek verimlilik.

Hava Kuvvetleri'nin baş yazılım sorumlusu Nicholas Chaillan, SpaceX geliştirme departmanı sisteminin klasik iş akışına sahip şirketlerden beş kat daha verimli olduğunu söyledi. SpaceX, bu performansla test süreciyle nasıl başa çıkıyor?

DevOps ve Çevik yaklaşımlar, SpaceX QA mühendislerinin toplu otomasyon testi sağlamasına olanak tanır. Geliştirme döngüsü boyunca, test uzmanları anında geri bildirim almak ve mevcut riskleri ortadan kaldırmak için sürekli testler sağlar. Bu nedenle proaktif bir şekilde çalışıyorlar, sık sık ve erken test yapıyorlar.

Şirket, geliştirme sürecinde sürekli testlerin nasıl uygulanacağı konusunda bir strateji geliştirdi.

  • Değeri önceliklendirin. Google gibi, SpaceX de neyi otomatikleştirmeniz ve neyi yapmamanız gerektiğini anlamak için kod kapsamı metriklerini kullanmanızı önerir. Sürekli testlerin optimize edilmesine ve halihazırda gerçekleştirilen etkinliklerin iyileştirilmesine yardımcı olur.
  • Önemli olan otomatik uçtan uca testtir. Etki analizini sürekli entegrasyonun bir parçası haline getirin. Şirketlerin, yeni işlevler eklemenin veya kod değiştirmenin genel bir sistemi veya sistemin bazı bölümlerini nasıl etkileyebileceğini analiz etmesine olanak tanır.
  • Ekip, kararlı ve kolayca kopyalanabilen bir test ortamına sahip olmalıdır. Sanal Makine Anlık Görüntüsü gibi bir araç, veri durumunu kaydetmeye, teste geri dönmeye veya çalışmaya devam etmeye yardımcı olabilir.
  • Test raporlarını analiz etmek için Yapay Zeka ve Makine öğrenimini kullanın. AI tabanlı araçlar, dağıtımı hızlandırır ve test sürecini optimize eder.
  • Sağlam bir sürekli entegrasyon mimarisi oluşturun. CI sisteminin ana avantajı, derleme ve kod testleri arasındaki kısa sürelerdir. . Sürekli testler, geliştirme sürecine dahil olmalı ve gerekli test türlerini içermelidir.
  • Özet

    Her şirketin kendi test stratejisi, süreci ve yaklaşımları vardır. Her ekip, nihai hedeflere ve ürün yeteneklerine göre test sürecini seçer ve ayarlar. Herhangi bir uzmanın ana görevi, müşteri ve son kullanıcı hakkında düşünmek, yeni gereksinimlere uyum sağlamak ve sektördeki en iyilerin deneyimini benimsemektir.


    Youtube videosu: Google Gibi Test Edin: Sektör Devlerinden En İyi Uygulamalar

    04, 2024