Ş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 yol açmadan önce yakalayabilirsiniz. Ancak kuruluşunuzda böyle bir süreci uygulamak söylemekten daha zordur.
Bu belgede, ş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 belgenin 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ın en başta önlenmesinin neden iyi 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 ve ürününüzle ilgili olarak günlük hayatta karşılaştıkları 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 bakış açısını 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ştirme sürecine 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 hattınızın 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, tatil döneminde yayın sayısı azalırken hata raporlarının sayısı 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ırlar. 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 sürüm kanalları ve kurumsal politikalar kullanılarak bu işlemin nasıl çalıştığı açıklanmaktadır.
Chrome sürüm kanalları
Dört sürüm kanalı vardır: Mevcut Ürün, Beta, Yeni Geliştirilenler ve Canary.
Daha fazla bilgi için Chrome sürüm kanalları başlıklı makaleyi inceleyin.
Ö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 yeni geliştirilenler 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 dengelemek 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 geliştirici 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 belgede, 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 rehberlik için web.dev'deki yeni Learn Testing kursumuza ve test otomasyonuyla ilgili en iyi uygulamalarımıza da göz atın.