Farklı yazılımların "beta sürümleriyle" sıkça karşılaşıyoruz. Beta yazılımlar belki birkaç sene önce bu kadar yaygın değillerdi, ancak şu sıralar oyunlardan web uygulamalarına, işletim sistemlerinden programlara her yerde "beta" etiketini görmeniz mümkün.
Kısaca açıklamak gerekirse beta, bir ürünün geliştirme süreçlerinden bir tanesidir. Yazılımlar geliştirilirken pre-alpha, alpha, beta ve release candidate (yayın adayı) gibi aşamalardan geçerler. Yazılımlarda alpha ve beta etiketlerinin kullanılması 1950'lerde IBM ile başlamıştı.
Beta sözcüğünü şimdiye kadar sık sık duymuş olabilirsiniz, ancak isterseniz bu terimlerin ne anlama geldiğine ve her aşamada yazılımdan neler bekleyebileceğimize biraz daha yakından bakalım.
Pre-Alpha aşaması
Pre-alpha aşaması, ilk test aşamasından önceki geliştirme aşamasıdır. Normal şartlarda bu aşamada da yazılım test edilir, ancak pre-alpha "resmi" test aşamasının başlamasından önceki her şeyi kapsamaktadır.
Pre-alpha aşamasında pazar araştırmasından veri toplamaya, gereksinimlerin analiz edilmesinden yazılım tasarımı ve mühendisliğine birçok farklı aktivite gerçekleşebilir. Hayal edebileceğiniz gibi pre-alpha aşamasının geçilmezi uzun zaman alabilir.
Bir firma pre-alpha sürümünü herkese açık olarak yayınlamışsa, tüm beklentilerinizi sıfıra düşürmelisiniz. Örneğin blok dizme oyunu Minecraft'ın pre-alpha sürümü hatalarla dolu olduğu gibi işlevler konusunda birçok eksiğe sahipti.
Alpha aşaması
Alpha aşaması
Ürün, resmi test işlemlerine geçilecek kadar geliştirildiğinde alpha aşaması başlar. Bu nedenle aşama, genellikle sıkça "alpha testing phase" sözcükleriyle anılır.
Alpha aşamasında yazılımın "çekirdek işlevselliğinin" test edilmesi amaçlanır. Yazılımın en temel işlevlerinin istendiği gibi çalışıp çalışmadığı kontrol edilir, ancak uygulamayı kusursuz hale getirme gibi bir amaç yoktur. Program, minimum gereksinimleri karşılıyorsa aşamayı geçebilir.
Alpha test aşaması kapsamlı olmadığından çoğunlukla projedeki isimler tarafından gerçekleştirilir. Pre-alpha sürümlerde olduğu gibi alpha yazılımlarında da birçok hata bulabilir, yazılım sıkça kilitlenebilir. Ancak mevcut işlevler, ürünün son halindeki işlevlerin hangileri olacağını gösterecektir. Alpha sürümlerin işlevleri genellikle çalışır haldedir.
Beta ve Release Candidate (yayın adayı) aşaması
Beta aşaması
Henüz yayınlanmamış yazılımların en çok rastlanan türü olan beta, tüm çekirdek işlevlere sahiptir ve haliyle alpha test standartlarını da geçmiştir. Beta, Yunan alfabesinde ikinci harftir. Ve küçük bir bilgi daha: Dilimizdeki "Alfabe" sözcüğünün de "alpha" ve "beta" sözcüklerinin birleşiminden oluştuğunu söyleyelim.
Beta aşamasında hatalar bulunur ve onarılır, işlevler kullanımı kolaylaştıracak şekilde geliştirilir. Arayüz ve grafiklerde çeşitli yenilikler yapılabilir, performans sorunları ortadan kaldırılır. Beta test aşaması, geliştirmenin üçüncü sırasında yer alsa da, test edilecek şeylerin çokluğu nedeniyle en uzun adım olabilir.
Beta aşaması genellikle geliştiricinin yazılımı proje dışındakilere açmasıyla başlar. "Closed beta" veya "Kapalı beta" olarak adlandırılan kısıtlı yayın, yazılımı sadece erişimine izin verilen kişilerin test edebileceği anlamına gelir. "Open beta" ("açık beta") veya "public beta" terimi ise herhangi bir kullanıcının yazılımı indirip deneyebileceğini gösterir.
Beta ürünlerin final sürümde olacak tüm işlevleri sunmasını bekleyebilirsiniz. Bazı küçük veya büyük hatalarla karşılaşmanız, ürünün bazı bölümlerinde sorunlar yaşamanız mümkündür, ancak genellikle çok kritik hatalarla karşılaşmayacaksınız.
Release Candidate (yayın adayı) aşaması
Bu aşama, ürünün tamamlanmadan önceki geçeceği son aşamadır. Bu aşamada ürün bitmek üzeredir, ancak son hataları gidermek üzere bir miktar daha teste ihtiyaç duyabilir.
Birçok geliştirici bu aşamayı atlar. Bu aşamadaki bir yazılıma rastlarsanız, onun yeterince iyi olmasını bekleyebilirsiniz. Terim genellikle sizi bir hatanın bekleyebileceği konusunda uyarmak için kullanılır, ancak bu yapılar genellikle final sürüm olacak kadar iyilerdir.