Şirketinizin en önemli yazılımının aniden bozulduğunu düşünün. Bu durumda ne olurdu? Siparişler kaybolabilir, son tarihler kaçırılabilir ancak müşteriler kesinlikle şikayet ederdi.
Bu kabus senaryosu önlenebilir: Sürekli ve titiz bir test süreci uygulayarak sorunları kaosa neden olmadan önce yakalayabilirsiniz. Ancak kuruluşunuzda böyle bir süreci uygulamak söylemekten daha zordur.
Bu makalede, şirketinizde testlere başlarken göz önünde bulundurmanız gereken her şey ve uzun vadede testlerden nasıl yararlanabileceğiniz açıklanmaktadır.
Ürün ekipleri için testle ilgili en iyi uygulamalar
Bu makalenin ilk bölümünde, iş akışınızda test uygulamaya başlama süreci ele alınmaktadır.
Ekibinizde test kültürünü uygulama
Ekibinizde testleri başarılı bir şekilde kullanmaya başlamak için herkesin ortak bir bakış açısına sahip olması ve kaliteyi bir yük olarak değil, yatırım olarak görmesi gerekir. Bu, diğer tüm kültürel değişimler gibi zaman ve tutarlılık gerektiren bir süreçtir.
Bu kültürü şekillendirmeye yardımcı olabilecek bir şey de kusurları, etkilerini, nereden kaynaklandıklarını ve düzeltmek için neler gerektiğini tartışmak üzere düzenli toplantılar yapmaktır. Bu, bu tür kusurları en baştan önlemenin neden iyi bir fikir olduğu konusunda farkındalık oluşturmaya yardımcı olur.
Ekipte bu çabayı denetleyen ve yönlendiren özel bir kişinin olması başarı şansını önemli ölçüde artırabilir. Ekip genelinde veya hatta kuruluş genelinde yönergeleri tanımlayan, en iyi uygulamaları toplayıp paylaşan ve her düzeyde bu çabayı destekleyen bir kişi.
Bir diğer faydalı yöntem de ürününüzün destek rolünü değiştirmektir. Müşterilerinizden ilk elden ve filtrelenmemiş analizler almak, ürününüzle ilgili yaşadıkları günlük sorunları öğrenmek; ürün yöneticileri, tasarımcılar ve geliştiriciler için değerli bir deneyim olabilir.
Amaç, ekibinizdeki herkesin kalitenin bir özellik olduğunu ve ürününüz için oluşturduğunuz diğer tüm işlevler kadar önemli olduğunu anlamasını sağlamaktır. Herkes bu zihniyeti benimsediğinde, testlerin de bir özellik olduğunu anlamak doğal bir süreçtir. Çünkü gönderilen kalitenin sağlanması için testler gerekir.
Adım adım test süreci
Ürün geliştirmeye dahil olan farklı ekipler arasında uyum sağlandıktan sonra testlerin varlığını ve kullanımını daha da resmileştirebilirsiniz.
Testleri "Tamamlanma Tanımı"nın bir parçası yapma
Testleri özellik koşulu olarak ekleyerek, özellik düzgün ve otomatik olarak test edilene kadar kullanıma hazır olmadığını belirtirsiniz.
Düzenli olarak testler yapın
Uygulandıktan sonra otomatik testler, geliştirme sürecinin her adımında sizi koruyabilir. İnsan müdahalesi gerektirmez ve geliştirme ardışık düzeninizin her kritik adımında çalıştırılabilir. Örneğin:
- Her commit işleminde.
- Her çekme isteğinde.
- Her tam sürümden sonra veya ortam değişikliğinde
Üretim ortamınızda üçüncü taraf hizmetlerinden yararlanıyorsanız üçüncü taraf API'lerinin beklendiği gibi çalıştığından emin olmak için testlerinizi üretim ortamında çalıştırmanız bile mantıklı olabilir.
Metrikleri tanımlama ve toplama
Testlerinizin etkinliğini ve test iş akışlarının işletmeniz üzerindeki etkisini ölçmek için bir dizi metrik tanımlamak önemlidir. Kullanabileceğiniz metrik örnekleri:
- Aylık yayın sayısı: Aylık yayın sayısının yüksek olması, daha hızlı bir geliştirme sürecine işaret edebilir. Burada otomatik test, yayınların güvenle devam etmesini sağlayarak önemli bir rol oynar.
- Hata raporları: Hata raporlarındaki düşüş eğilimi, test (ve geliştirme) süreçlerinizin etkili olduğunun olumlu bir işareti olabilir.
- Test kapsamı: Kapsam, hiçbir zaman kesin bir metrik olmasa da kritik kullanım alanlarını ne kadar ayrıntılı test ettiğinizin iyi bir göstergesi olabilir.
Bu metriklerin, onları çarpıtabilecek diğer faktörlerden de etkilendiğini unutmayın. Örneğin, yayın sayınız tatil döneminde düşebilirken hata raporları artabilir. Bu nedenle, yalnızca birkaçına güvenmeyin ve bunları ekibinizin erişebildiği diğer verilerle eşleştirdiğinizden emin olun.
Bu adımları ekibinizle birlikte başarıyla uyguladığınızda ürün sağlığınız uzun vadede kesinlikle olumlu yönde etkilenecektir. Ancak yapabileceğiniz daha çok şey var.
Sistem yöneticileri için testle ilgili en iyi uygulamalar
Ürün ekipleri kendi başlarına çalışamaz. Sistem yöneticileri tarafından bakımı yapılan donanım, araç ve altyapıya bağlıdır. Sistem yöneticileri genellikle ürün geliştirmeye doğrudan katkıda bulunmasa da geliştirme iş akışını olumlu yönde etkileyebilir. Örneğin, şirketteki belirli kullanıcı gruplarının kullandığı tarayıcı sürümünü aktif olarak yöneterek.
Makalenin bu ikinci bölümünde, Chrome'un kanalları ve kurumsal politikaları kullanılarak bu işlemin nasıl çalıştığı açıklanmaktadır.
Chrome sürüm kanalları
Varsayılan olarak Chrome, her kullanıcının en yeni, en kararlı ve güvenli Chrome sürümünü (kararlı kanalda yayınlanan Chrome sürümü) kullanmasını sağlamak için otomatik olarak güncellenir.
Web tabanlı bir ü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ın önünde bir tarayıcı kullanmak isteyebilirsiniz.
Bu kullanım alanında Chrome, farklı kullanıcı grupları için tasarlanmış toplam dört sürüm kanalı sunar.
Chrome'da, gelecekteki tarayıcı değişikliklerini öngörmek ve en yeni özellikleri yaygın olarak kullanıma sunulmadan önce test etmek için kullanabileceğiniz farklı yayın kanalları vardır:
- Mevcut ürün kanalı: Kullanıcıların çoğu bu kanaldadır. Kararlı kanal, yeni bir Chrome sürümü olduğunda otomatik olarak güncellenir. Bu durum ayda bir kez gerçekleşir.
- Beta kanalı: Bu sürüm dört ila altı hafta içinde kararlı hale gelecek. Bu süre zarfında, gelecekteki kararlı sürümü önizleyip test edebilir ve bu sürüme hazırlanabilirsiniz.
- Yeni geliştirilenler kanalı: Bu kanalda haftada bir kez yeni bir Chrome sürümü yayınlanır ve beta sürümüne taşınacak olan en son düzeltmeler yer alır. Kanal adından da anlaşılacağı gibi, bu sürüm geliştirme aşamasındadır ve bu nedenle beklenmedik şekilde bozulabilir. Ancak bazen kararlı sürüme eklenmeden çok önce en yeni özellikleri de içerir. Bu nedenle geliştirici kanalı, prototip oluşturma ve en yeni geliştirme çalışmaları için harika bir araçtır.
- Canary kanalı: En deneysel kanaldır. En yeni özelliklerin tümünü içerir ancak çok fazla test edilmemiştir. En az günlük olarak yayınlanmalıdır.
Chrome'un kanalları hakkında daha fazla bilgi edinmek istiyorsanız ilgili Chrome Concepts bölümüne göz atın.

Örnek bir kuruluşta kanalları kullanma
Yazılım geliştirme konusunda herkese uyan tek bir yaklaşım olmadığından, ürün ekiplerinin yapısı kuruluşlar arasında farklılık gösterir. Örnek olarak şu rollere sahip bir ekibi ele alalım: Ürün Yönetimi, Kullanıcı Deneyimi ve Kullanıcı Arayüzü, Mühendislik, Operasyon ve Destek.
Bu tür bir kuruluş için aşağıdaki kanal dağılımını düşünebilirsiniz:
- Ürün Yönetimi: Ürün yöneticileri, çoğu kullanıcıyla aynı sürümü kullanmak için genellikle mevcut ürün kanalında olabilir. Bazen henüz kullanıma sunulmamış bir API gerektiren bir özellik üzerinde çalışıyorlarsa beta veya dev kanalını kullanabilirler.
- Mühendislik ve kullanıcı deneyimi: Bu ekiplerin bazı üyeleri, Görünüm Geçişleri gibi en yeni özelliklere kararlı sürümde yayınlanmadan önce erişebilmek için geliştirici kanalında olabilir.
- İşlemler: Kullanıcıları etkileyen hataları önceden görmek için beta sürümünde olabilir.
- Destek: Müşterilerinizin çoğuyla aynı tarayıcıyı kullanarak ürünle etkileşim kurduğunuzdan emin olmak için kararlı kanalda kalabilirsiniz.

Kanalları yönetmek için kurumsal politikaları kullanma
Chrome, hangi kanalın kullanılacağıyla ilgili yönergeler vermek yerine, her kullanıcının hangi kanalı kullanacağına aktif olarak karar vermek için işletme ve yönetim araçları da sunar. Bu özellik, test yüzeyini birkaç kullanıcıdan belirli bir kullanıcı grubuna çıkararak hataların mümkün olduğunca erken ve izlenebilir bir şekilde tespit edilmesine yardımcı olur.
Bu kontrol düzeyini kullanmak istiyorsanız önerdiğimiz yapılandırma şöyledir:
- Çalışanlar (uygulama kullanıcıları): Kesinti riskini en aza indirmek için çalışanların çoğu, Chrome test ekibi tarafından tam olarak test edilmiş olan kararlı kanalda olmalıdır. Ayrıca, kullanıcıların küçük bir yüzdesi (%5-10) beta kanalında olabilir. Bu kanal, kararlı sürümün 4-6 haftalık önizlemesini alır ve yöneticilerin bir sürümle ilgili olası sorunları keşfetmesine yardımcı olabilir. Bu sayede, sürüm herkesin kullanımına sunulmadan önce sorunları ele almak için daha fazla zaman kazanmış olursunuz.
- BT departmanı: Sistem yöneticileri de dahil olmak üzere BT departmanı ü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 ya da yeni geliştirilenler kanalını kullanabilir.

Uzun süreli sürüm kanalları
Ürün geliştirme süreci planlandığı kadar hızlı ilerlemeyebilir ve Chrome'un aylık yayın sıklığı çok yüksek olabilir. Bu kullanım alanı için Chrome, özellik güncellemelerini daha seyrek almanıza ancak güvenlik düzeltmelerini almaya devam etmenize olanak tanıyan bir Genişletilmiş kararlı kanalı sunar. Bu kanal sekiz haftada bir güncellenir.
Aşağıdaki şemada, farklı kilometre taşlarının Chrome'un farklı yayın kanallarında nasıl ilerlediği gösterilmektedir:

- Hem kararlı hem de genişletilmiş kararlı sürüm, ilk dört hafta boyunca aynı sürümleri kullanır. Bu sürenin ardından iki sürüm farklılaşır.
- Genişletilmiş beta kanalı yoktur. Bunun yerine, hem kararlı hem de genişletilmiş kararlı sürümleri kararlı hale getirmek için standart dört haftalık beta döngüsü kullanılır. Sekiz haftalık uzatılmış kararlı sürümü etkinleştirmeyi tercih eden kuruluşlar, ortamlarını etkileyebilecek sorunları proaktif olarak belirlemek için beta kanalını bugün olduğu gibi kullanmaya devam etmelidir.
Genişletilmiş kararlı kullanıcılar için yeni geliştirilenler ve beta kanallarının önemi
Kararlı kanal iki haftalık sürüm döngüsüne geçerken ve kuruluşunuz test için daha fazla zaman kazanmak amacıyla sekiz haftalık genişletilmiş kararlı döngüyü kullanmaya başlarken geliştirme ve beta kanallarını kullanmaya devam etmeniz önemlidir. Ayrı "genişletilmiş geliştirme veya beta" kanalları yoktur. Hem kararlı hem de genişletilmiş kararlı sürümleri dengelemek için standart geliştirme ve beta kanalları kullanılır.
Geliştirici ve beta kanallarını kullanmaya devam eden kuruluşlar, ortamlarını etkileyebilecek sorunları proaktif bir şekilde belirleme olanağını korur. Geliştirme ve beta kanalları, gelecekteki kararlı sürümün dört haftalık önizlemesini sunar. Genişletilmiş kararlı sürüm kullanıcıları için bu önizleme penceresi, sekiz haftalık özellik güncellemesinden çok önce olası bozulmaları keşfetmek ve gidermek açısından önemlidir.
Geliştirici ve beta kanalları, sekiz haftalık genişletilmiş kararlı ortamınızda yapılacak değişiklikler için temel erken uyarı sistemi olarak işlev görür ve kurumsal uygulamalarınızın uyumlu kalmasını sağlar. Sistem yöneticileri, bu avantajdan en iyi şekilde yararlanmak için geliştirme ve beta kanallarına küçük ve deterministik bir kullanıcı grubu (örneğin, uygulama kullanıcılarının% 5-10'u) atamaya devam edebilir.
Sonuç
Test, yazılım geliştirme şirketlerinin ürünlerinin kalitesini sağlamak için önemli bir parçasıdır. Ayrıca sistem yöneticilerinin, bir kuruluşun çalışanlarına yüksek kaliteli yazılımlara erişim sağlamak ve iş süreçlerini kesintiye uğratmamak için önemli bir adımdır.
Kuruluşunuzda bir test iş akışı uygularken başarılı olmak için herkesin kalite ve dolayısıyla testin bir özellik olduğu ortak düşüncesini paylaşması önemlidir.
Bu makalede, testlerle ilgili en iyi uygulamaları kuruluşunuza entegre etmenin farklı yollarını inceledik. Mevcut test araçlarının ayrıntılı bir incelemesi için Tools from Chrome for frictionless, automated testing (Chrome'dan sorunsuz, otomatik test araçları) başlıklı makalemize göz atın.
Test etme sürecinin başından sonuna kadar uygulamalı rehberlik için web.dev'deki son Learn Testing kursumuza ve test otomasyonu en iyi uygulamalarımıza da göz atın.