Şirketinizin en önemli yazılımının aniden bozulduğunu düşünün. Bu durumda ne olur? Siparişler kaybolabilir, son tarihler geçirilebilir ancak müşteriler kesinlikle şikayet eder.
Bu kabus senaryosundan kaçınmak için sorunları kaos oluşturmadan önce tespit eden sürekli ve titiz bir test süreci uygulayabilirsiniz. Ancak kuruluşunuzda böyle bir süreci uygulamak, söylendiği kadar kolay değildir.
Bu makalede, şirketinizde test yapmaya başlarken dikkate almanız gereken her şey ve testten uzun vadede nasıl yararlanabileceğiniz açıklanmaktadır.
Ürün ekipleri için en iyi test uygulamaları
Bu makalenin ilk bölümünde, iş akışınızda test uygulamaya başlama süreci ele alınmaktadır.
Ekibinize test kültürünü uygulama
Ekibinize testleri başarıyla uygulamak için herkesin ortak bir bakış açısına sahip olması ve kaliteyi bir yük değil, yatırım olarak görmesi gerekir. Bu, diğer tüm kültürel değişimlerde olduğu gibi zaman ve tutarlılık gerektiren bir süreçtir.
Bu kültürü şekillendirmeye yardımcı olabilecek bir şey, kusurları, kusurların neden olduğu etkiyi, kusurların nereden kaynaklandığını ve kusurların düzeltilmesi için nelerin gerektiğini tartışmak üzere düzenli olarak yapılan toplantılardır. Bu, bu tür kusurların en başta neden önlenmesi gerektiği konusunda farkındalık oluşturmaya yardımcı olur.
Ekipte, çabayı denetleyen ve yönlendiren özel bir kişinin bulunması, başarı şansını önemli ölçüde artırabilir. Ekip veya hatta kuruluş genelinde yönergeleri tanımlayan, en iyi uygulamaları toplayan ve paylaşan ve çabanın tüm düzeylerde savunucusu olan bir kişi.
Ürününüzün destek rolünü döndürmek de faydalı bir araç olabilir. Müşterilerinizden filtrelenmemiş, ilk elden analizler almak ve ürününüzle ilgili her gün karşılaştıkları sorunlar hakkında bilgi edinmek ürün yöneticileri, tasarımcılar ve geliştiriciler için değerli bir deneyim olabilir.
Amacınız, ekibinizdeki herkesin kalitenin, ürününüz için geliştirdiğiniz diğer işlevler kadar önemli bir özellik olduğunu anlamasını sağlamaktır. Herkes bu zihniyete sahip olduktan sonra, testlerin de bir özellik olduğunu anlamak doğal bir süreçtir. Çünkü testler, gönderilen kaliteyi sağlar.
Adım adım test süreci
Ürün geliştirmeyle ilgili farklı ekipler arasında uyum sağlandıktan sonra testlerin varlığını ve kullanımını daha da resmileştirebilirsiniz.
Testleri "Bitmişlik Tanımı"nın bir parçası haline getirin
Testleri özellik şartı olarak ekleyerek, bir özelliğin düzgün ve otomatik olarak test edilene kadar kullanıma hazır olmadığını belirtirsiniz.
Düzenli olarak testler yapın
Otomatik testler uygulandıktan sonra geliştirme sürecinin her adımında güvenceniz olabilir. Bu testler için insan müdahalesine gerek yoktur ve geliştirme ardışık düzeninizin her kritik adımında çalıştırılabilir. Örneğin:
- Her bir kaydetme işleminde.
- 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'lerinin beklendiği gibi davrandığından emin olmak için testlerinizi üretim ortamında çalıştırmanız bile yararlı olabilir.
Metrikleri tanımlama ve toplama
Testlerinizin etki düzeyini ve test iş akışlarının işletmeniz üzerindeki etkisini ölçmek için bir dizi metrik tanımlamak önemlidir. Kullanabileceğiniz metriklere dair bazı örnekleri aşağıda bulabilirsiniz:
- Aylık sürüm sayısı: Aylık sürüm sayısının yüksek olması, daha çevik bir geliştirme sürecinin göstergesi olabilir. Otomatik test, sürümlerin güvenle yayınlanmasını sağlayarak bu süreçte önemli bir rol oynar.
- Hata raporları: Hata raporlarında düşüş eğilimi, testinizin (ve geliştirme süreçlerinizin) etkili olduğunun olumlu bir işareti olabilir.
- Test kapsamı: Kapsam hiçbir zaman tam bir metrik olmasa da kritik kullanım alanlarını ne kadar derinlemesine test ettiğinizin iyi bir göstergesi olabilir.
Bu metriklerin, sonuçları çarpıtabilecek diğer faktörlerden de etkilendiğini unutmayın. Örneğin, tatil sezonunda sürüm sayınız düşerken hata raporları artabilir. Bu nedenle, yalnızca birkaçına güvenmeyin ve bunları ekibinizin erişebildiği diğer verilerle çapraz eşlediğinizden emin olun.
Bu adımları ekibinizle başarıyla uyguladığınızda ürün sağlığınız uzun vadede kesinlikle fayda görecektir. Ancak yapabileceğiniz daha çok şey var.
Sistem yöneticileri için en iyi test uygulamaları
Ürün ekipleri tek başına çalışamaz. Sistem yöneticileri tarafından yönetilen donanım, araç ve altyapıdan yararlanı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ü etkin bir şekilde yöneterek.
Makalenin 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 en son özellikler de dahil olmak üzere Chrome'un en yeni, en kararlı ve en güvenli sürümünü (kararlı kanalda yayınlanan Chrome sürümü) çalıştırmasını sağlamak için otomatik olarak güncellenir.
Web tabanlı bir ürün geliştiren bir şirket olarak, ürün ekiplerinizin ürününüzü web platformundaki değişikliklere uyarlaması için zaman tanımak amacıyla kararlı kanaldan önce bir tarayıcı kullanmak isteyebilirsiniz.
Chrome, bu kullanım alanı için 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 yaygın olarak kullanıma sunulmadan önce test etmek için kullanabileceğiniz farklı sürüm kanalları vardır:
- Mevcut ürün kanalı: Kullanıcıların çoğu bu kanaldadır. Mevcut ürün kanalı, yeni bir Chrome sürümü kullanıma sunulduğunda otomatik olarak güncellenir. Bu güncellemeler ayda bir yapılır.
- Beta kanalı: Bu sürüm dört ila altı hafta içinde kararlı hale gelir. Böylece, gelecekteki kararlı sürümü önizleyip test edebilir ve buna hazırlanabilirsiniz.
- Geliştirici kanalı: Bu kanala haftada bir kez Chrome'un yeni sürümü yüklenir ve beta sürümüne eklenecek en son düzeltmeler bu kanala dahil edilir. Kanal adından da anlaşılacağı gibi, geliştirme aşamasında olduğu için beklenmedik şekilde çalışmayabilir. Ancak bazen kararlı sürüme eklenmeden çok önce en yeni özellikleri de içerir. Bu da geliştirme kanalını prototip oluşturma ve son teknoloji geliştirme için mükemmel bir araç haline getirir.
- Canary kanalı: En deneysel kanaldır. En son özellikleri içerir ancak çok fazla test edilmemiştir. En azından 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 uygun tek bir yaklaşım olmadığından ürün ekiplerinin yapısı kuruluşlar arasında değişiklik gösterir. Örnek olarak, aşağıdaki rollere sahip bir ekip olduğunu varsayalım: Ürün Yönetimi, Kullanıcı Deneyimi ve Kullanıcı Arayüzü, Mühendislik, İşlemler ve Destek.
Bu tür bir kuruluş için aşağıdaki kanal dağılımını düşünebilirsiniz:
- Ürün Yönetimi: PM'ler genellikle çoğu kullanıcıyla aynı sürümü kullanmak için mevcut kanalda olabilir. Henüz kullanıma sunulmamış bir API gerektiren bir özellik üzerinde çalışıyorlarsa beta veya geliştirici kanalını kullanabilirler.
- Mühendislik ve kullanıcı deneyimi: Bu ekiplerin bir kısmı, Görüntü Geçişleri gibi en son özelliklere kararlı sürüme eklenmeden önce bile erişebilmek için geliştirici kanalında olabilir.
- İşlemler: Gelecekte kullanıcıları etkileyecek kesintileri öngörmek için beta sürümünde olabilir.
- Destek ekibi: Ürünle müşterilerinizin çoğuyla aynı tarayıcıda etkileşim kurduklarından emin olmak için kararlı kanalda kalabilir.
Kanalları yönetmek için kurumsal politikaları kullanma
Chrome, kullanıcılara hangi kanalı kullanacaklarına dair yönergeler vermek yerine, her kullanıcının hangi kanalı kullanacağını etkin bir şekilde yönetmek için kurumsal ve yönetim araçları da sunar. Bu, test yüzeyini birkaç kişiden belirli bir kullanıcı grubuna hemen yükselttiği için yararlıdır. Bu da kesintinin mümkün olduğunca erken ve izlenebilir bir şekilde tanımlanmasına yardımcı olur.
Bu düzeyde kontrol kullanmak istiyorsanız önerdiğimiz yapılandırma şu şekildedir:
- Çalışanlar (uygulama kullanıcıları): Çalışma kesintisi riskini en aza indirmek için çalışanların çoğu, Chrome test ekibi tarafından eksiksiz olarak test edilmiş kararlı kanalda olmalıdır. Ayrıca, kullanıcıların küçük bir yüzdesi (%5 ila %10) beta kanalında olabilir. Bu kanal, kararlı sürümün 4-6 haftalık bir önizlemesini alır. Yöneticiler, bu sayede sürümle ilgili olası sorunları keşfedebilir. Böylece, sürüm herkese sunulmadan önce sorunları gidermek için daha fazla zaman kazanabilirler.
- 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ında olabilir.
Uzun süreli sürüm kanalları
Ürün geliştirme planlandığı kadar hızlı ilerlemeyebilir ve Chrome'un aylık sürüm yayınlama sıklığı çok yüksek olabilir. Chrome, bu kullanım alanı için özellik güncellemelerini daha seyrek almanıza ancak güvenlik düzeltmelerini almaya devam etmenize olanak tanıyan Genişletilmiş kararlı kanal sağlar. Bu kanal sekiz haftada bir güncellenir.
Aşağıdaki şemada, farklı aşamaların Chrome'un farklı sürüm kanallarında nasıl ilerlediği gösterilmektedir:
- Hem kararlı hem de genişletilmiş kararlı sürümler ilk dört hafta boyunca aynı sürümleri gönderir. Ardından iki sürümün yolları ayrılır.
- Genişletilmiş beta kanalı yoktur. Bunun yerine, hem kararlı hem de genişletilmiş kararlı sürümleri stabilize etmek için standart dört haftalık beta döngüsü kullanılır. Sekiz haftalık genişletilmiş kararlı sürüme kaydolmayı seçen kuruluşlar, ortamlarını etkileyebilecek sorunları proaktif olarak tespit etmek için beta kanalını bugün olduğu gibi kullanmaya devam etmelidir.
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 vermesi ve iş süreçlerinin kesintiye uğramasını önlemesi için önemli bir adımdır.
Kuruluşunuzda bir test iş akışı uygularken başarılı olmak için herkesin kalitenin ve dolayısıyla testin bir özellik olduğu konusunda ortak bir bakış açısına sahip olması önemlidir.
Bu makalede, testle ilgili en iyi uygulamaları kuruluşunuza entegre etmenin farklı yollarını inceledik. Mevcut test araçlarını ayrıntılı olarak incelemek için Sorunsuz, otomatik test için Chrome'un araçları başlıklı makalemizi inceleyin.
Test konusunda baştan sona pratik rehberlik için web.dev'deki Testi Öğrenin kursumuz ve test otomasyonuyla ilgili en iyi uygulamalara da göz atın.