Chrome ile kuruluşunuzda test uygulayın

Şirketinizin en önemli yazılımının bir anda bozulduğunu hayal edin: Ne olur? Siparişler kaybolabilir, teslim tarihleri kaçırılabilir ama müşteriler elbette bundan şikayet eder.

Bu kabus senaryosunun önüne geçilebilir: Sorunları, kaos oluşmadan önce yakalayan sürekli ve titiz bir test süreci uygulayarak. Ama böyle bir süreci kurumunuzda uygulamanın söylendiği kadar kolay olmadığını söyleyebiliriz.

Bu makalede, şirketinizde test yapmaya başlarken düşünmeniz gereken her şey ve uzun vadede testlerden nasıl yararlanabileceğiniz açıklanmaktadır.

Ürün ekipleri için en iyi uygulamaları test etme

Bu makalenin ilk bölümünde, iş akışınızda test uygulamaya başlama süreci ele alınmaktadır.

Ekibinizde bir test kültürü uygulama

Ekibinizde testleri başarılı bir şekilde yürütmek için herkesin ortak bir bakış açısına sahip olması ve kaliteyi bir yük değil, bir yatırım olarak görmesi gerekir. Diğer her kültürel değişim gibi zaman ve tutarlılık gerektiren bir süreçtir.

Kusurları, yarattığı etkileri, nereden geldiklerini ve hataları düzeltmek için neler gerektiğini tartışmak üzere düzenli toplantılar yapmak bu kültürü şekillendirmeye yardımcı olabilir. Bu, en başta bu tür hataları önlemenin neden iyi olduğu konusunda farkındalık oluşturmaya yardımcı olur.

Ekipte çabayı denetleyen ve yürüten, kendini adamış bir kişinin olması başarı şansını büyük ölçüde artırır. Ekiple (hatta kurum genelinde) kuralları tanımlayan, en iyi uygulamaları toplayıp bunları paylaşan ve çabaların farklı düzeylerde yapılmasını savunan kişi.

Yararlı bir başka araç da ürününüzün destek rolünü değiştirmektir. Müşterilerinizden doğrudan, filtrelenmemiş analizler almak ve ürününüzle ilgili olarak karşılaştıkları günlük sorunlar hakkında bilgi edinmek; ürün yöneticileri, tasarımcılar ve geliştiriciler için değerli bir deneyim olabilir.

Buradaki amaç, ekibinizdeki herkesin kalitenin, ürününüz için geliştirdiğiniz diğer tüm işlevler kadar önemli olan bir özellik olduğunu anlamasıdır. Herkes bu yaklaşımı benimsedikten sonra, testlerin de bir özellik olduğunu anlamak doğal bir ilerleme olur. Çünkü testler, gönderilen kaliteyi güvence altına alır.

Adım adım açıklamalı test süreci

Ürün geliştirme sürecinde yer alan farklı ekipler arasında uyum sağlandıktan sonra testlerin varlığını ve kullanımını daha da resmileştirebilirsiniz.

"Bitti Tanımı"nın bir parçası olarak test yapın

Özellik gereksinimi olarak testleri ekleyerek doğru ve otomatik olarak test edilene kadar bir özelliğin gönderilmeye hazır olmadığını belirtmiş olursunuz

Düzenli olarak test yapın

Uygulandıktan sonra, otomatik testler geliştirme sürecinin her adımında teminatınız olabilir. Bu uygulamalar, insan müdahalesi gerektirmez ve geliştirme ardışık düzeninizin her kritik adımında çalıştırılabilir. Örneğin:

  • Her kaydetmede.
  • Her pull isteğinde.
  • Her tam sürüm veya ortam değişikliğinden sonra.

Üretim ortamınızda üçüncü taraf hizmetlerinden yararlanıyorsanız üçüncü taraf API'lerin beklendiği gibi çalıştığından emin olmak için testlerinizi üretime karşı çalıştırmak daha da mantıklı olabilir.

Metrikleri tanımlama ve toplama

Bir metrik grubu tanımlamak, testlerinizin etkinliğini ve test iş akışlarının işletmeniz üzerindeki etkisini ölçmek için önemlidir. Aşağıda kullanabileceğiniz bazı metrik örnekleri verilmiştir:

  • Aylık sürüm sayısı: Aylık sürüm sayısının yüksek olması, geliştirme sürecinin daha çevik olduğu anlamına gelebilir. Otomatik test, sürümlerin güvenle devam etmesini sağlayarak bu noktada önemli bir rol oynar.
  • Hata raporları: Hata raporlarındaki düşüş eğilimi, testlerinizin (ve geliştirme süreçlerinizin) etkili olduğuna dair olumlu bir işaret olabilir.
  • Test kapsamı: Hiçbir zaman kesin bir metrik olmamakla birlikte, kritik kullanım alanlarını ne kadar derinlemesine test ettiğinize dair iyi bir gösterge olabilir.

Bu metriklerin, onları çarpıtabilecek diğer faktörlerden de etkilendiğini unutmayın. Örneğin, sürüm sayınız tatil sezonunda düşerken hata raporları artabilir. Bu nedenle, sadece birkaç veriye güvenmeyin ve ekibinizin kullanabileceği diğer verilerle bunları karşılaştırdığınızdan emin olun.


Bu adımları ekibinizle başarılı bir şekilde uyguladığınızda, ürün sağlığınız uzun vadede kesinlikle fayda sağlayacaktır. Yine de yapabileceğiniz daha pek çok şey var.

Sistem yöneticileri için en iyi uygulamaları test etme

Ürün ekipleri kendi başlarına çalışamaz. Sistem yöneticileri tarafından yönetilen donanım, araç ve altyapıya dayanır. Sistem yöneticileri genellikle ürün geliştirilmesine doğrudan katkıda bulunmasalar da geliştirme iş akışını sonsuza kadar etkileyebilirler. Örneğin, şirketteki belirli kullanıcı gruplarının tarayıcı sürümünü etkin bir şekilde yöneterek.

Makalenin bu ikinci bölümünde, Chrome'un kanalları ve kurumsal politikaları kullanılarak bu sürecin nasıl işlediği açıklanmaktadır.

Chrome sürüm kanalları

Chrome varsayılan olarak, her kullanıcının Chrome'un en yeni, en kararlı ve güvenli sürümünü çalıştırdığından emin olmak için otomatik güncellemeleri yapar. En son özellikler de (Chrome'un mevcut ürün kanalında yayınlanan sürüm) buna dahildir.

Web tabanlı ürün geliştiren bir şirket olarak, ürün ekiplerinize ürününüzü web platformundaki değişikliklere uyarlamaları için zaman tanımak amacıyla, kararlı kanalından önce bir tarayıcı kullanmak isteyebilirsiniz.

Bu kullanım örneği için Chrome, farklı kullanıcı gruplarına yönelik toplam dört sürüm kanalı sunar.

Chrome'da, gelecekteki tarayıcı değişikliklerini tahmin etmek ve en yeni özellikleri genel kullanıma sunulmadan önce test etmek için kullanabileceğiniz farklı sürüm kanalları vardır:

  • Kararlı kanalı: Burası, kullanıcıların çoğunluğunun bulunduğu yerdir. Mevcut ürün kanalı, aylık olarak gerçekleşen yeni bir Chrome sürümü olduğunda otomatik olarak güncellenir.
  • Beta kanalı: Bu sürüm dört ila altı hafta içinde kararlı hale gelecek ve size yakında çıkacak kararlı sürümü önizleyip test etme ve buna hazırlanma fırsatı sunacak.
  • Geliştirici kanalı: Bu kanal, haftada bir kez Chrome'un yeni bir sürümünü alır ve sonunda beta sürümüne geçecek olan en son düzeltmelerin tümünü içerir. Kanal adından da anlaşılacağı üzere kanal geliştirme aşamasındadır ve bu nedenle beklenmedik bir şekilde bozulabilir. Aynı zamanda, bazen kararlı hale gelmeden çok önce, en yeni özellikleri de içerir. Bu da geliştirme kanalını prototip oluşturmak ve ileri teknoloji geliştirme için harika bir araç haline getirir.
  • Canary kanalı: En son özelliklerin tamamını içeren, ancak çok fazla test içermeyen, en deneysel kanaldır. En az günlük olarak yayınlanır.

Chrome'un kanalları hakkında daha fazla bilgi edinmek istiyorsanız ilgili Chrome Concepts bölümüne göz atın.

Chrome'un kararlı, beta ve geliştirici ürün simgelerinin açıklamalarıyla birlikte.

Örnek bir organizasyonda kanalları kullanma

Yazılım geliştirmede herkese uygun tek bir yaklaşım olmadığından ürün ekiplerinin yapısı kuruluşlar arasında değişiklik gösterir. Örnek olarak, şu rollere sahip bir ekibe ulaşacağız: Ürün Yönetimi, Kullanıcı Deneyimi ve Kullanıcı Arayüzü, Mühendislik, Operasyon ve Destek.

Böyle bir kuruluş için aşağıdaki kanal dağılımı düşünülebilir:

  • Ürün Yönetimi: PM'ler çoğu kullanıcıyla aynı sürümü kullanmak için genellikle kararlı kanalda olabilir. Henüz kullanıma sunulmamış bir API gerektiren bir özellik üzerinde çalışıyorlarsa bazen beta veya geliştirici kanalını kullanabilirler.
  • Mühendislik ve kullanıcı deneyimi: Bu ekiplerin bazı bölümleri, kararsız hale gelmeden önce, Geçişleri Görüntüleme gibi en yeni özelliklere erişmelerini sağlamak için geliştirici kanalında yer alabilir.
  • İşlemler: Kullanıcıları etkileyen kesintileri öngörmek için daha sonra beta sürümünde olabilir.
  • Destek: Kararlı kanalında kalarak, müşterilerinizin çoğuyla aynı tarayıcıyı kullanarak ürünle etkileşimde bulunduğundan emin olabilir.

Örnek ekip genelindeki kanalların akışını gösteren diyagram

Kanalları yönetmek için kurumsal politikaları kullanma

Chrome, yönergeler verip hangi kanalın kullanılacağına karar vermek yerine, her bir kullanıcının hangi kanalı kullanacağını etkin bir şekilde yönetmek için kurumsal ve yönetim araçları sunar. Bu, test yüzeyinin yalnızca birkaç kişiden başlayarak belirli bir kullanıcı grubuna yükseltilmesi açısından yararlıdır. Bu da, bozulmayı mümkün olduğunca erken ve izlenebilir bir şekilde tespit etmeye yardımcı olur.

Bu kontrol düzeyini kullanmak istiyorsanız önerdiğimiz yapılandırma şu şekildedir:

  • Çalışanlar (uygulama kullanıcıları): Kesinti riskini en aza indirmek için çoğu çalışanın, Chrome test ekibi tarafından tam olarak test edilmiş kararlı kanalda bulunması gerekir. Ayrıca, kullanıcıların küçük bir yüzdesi (%5 ila %10) beta kanalında olabilir. Bu kanal, Mevcut Ürün sürümünün 4-6 haftalık bir önizlemesini alır ve yöneticilerin bir sürümle ilgili olası sorunları keşfetmesine yardımcı olabilir. Böylece, sürüm herkesin kullanımına sunulmadan önce sorunları ele almak için daha fazla zaman olur.
  • BT departmanı: Sistem yöneticilerinin kendileri de dahil olmak üzere BT departmanının üyeleri, Chrome'un kararlı sürümünde kullanıma sunulacak özelliklerin 4-6 veya 9-12 haftalık bir önizlemesini görmek için beta veya geliştirici kanalında olabilir.

Diğer çalışanlar ve BT bölümü arasındaki kanalların dağılımını gösteren bir diyagram

Uzun süreli sürüm kanalları

Ürün geliştirme süreci planlandığı kadar hızlı tamamlanmayabilir ve Chrome'un bir aylık yayın sıklığı çok yüksek olabilir. Bu kullanım alanında Chrome, özellik güncellemelerini daha seyrek almakla birlikte güvenlik düzeltmelerini almaya devam eden Genişletilmiş bir kararlı kanal sağlar. Bu kanal sekiz haftada bir güncellenir.

Aşağıdaki şemada, Chrome'un farklı sürüm kanallarında farklı aşamaların nasıl ilerlediği gösterilmektedir:

Kararlı ve genişletilmiş kararlı sürümlerin çakışmasını gösteren bir akış şeması

  • Hem kararlı hem de genişletilmiş kararlı sürüm, ilk dört hafta boyunca aynı sürümleri gönderir. İlk dört hafta sonrasında ikisi birbirinden ayrılır.
  • Genişletilmiş beta kanalı yoktur. Bunun yerine, hem kararlı hem de genişletilmiş kararlılığı stabilize etmek için standart dört haftalık beta döngüsü kullanılır. Sekiz haftalık uzatılmış kararlı çalışmayı seçen kuruluşlar, ortamlarını etkileyebilecek sorunları proaktif olarak tespit etmek için beta kanalını bugün olduğu gibi çalıştırmaya devam etmelidir.

Sonuç

Test, yazılım geliştirme şirketlerinin ürünlerinin kalitesini sağlamaları açısından çok önemli bir adımdır. Ayrıca, bir kurumun çalışanlarının yüksek kaliteli yazılımlara erişmesini sağlayıp iş süreçlerinin kesintiye uğramasını önlemek için de sistem yöneticileri için önemli bir adımdır.

Kuruluşunuzda bir test iş akışı uygularken başarılı olmak için herkesin kalite konusunda ortak bir anlayışa sahip olması ve dolayısıyla testin de bir özellik olması önemlidir.

Bu makalede, en iyi test uygulamalarını kuruluşunuza entegre etmenin farklı yollarını inceledik. Mevcut test araçlarının ayrıntılı bir incelemesi için Sorunsuz, otomatik test için Chrome araçları makalemize göz atın.

Baştan sona teste yönelik uygulamalı rehberlik için web.dev adresindeki en son Öğrenme Testi kursumuza ve test otomasyonu en iyi uygulamalarına da göz atın.