Değişen önceliklerle test edip onaylamaya devam
Yazılım Test ve Kalite Derneği (TTB) tarafından hazırlanan ‘Türkiye Yazılım Kalite Raporu 2013-2014’, Türkiye’de yazılım kalitesini ölçmeyi, küresel bazda yazılım kalitesi geliştirmek için izlenen yöntemleri yansıtmayı hedefliyor. Bu yıl 23-24 Mayıs’ta düzenlenen TestIstanbul 2013 Konferansı’nın teması olan ‘Testin Geleceği: Yeni Teknikler ve Metodolojiler’ ışığında, bu yılki raporda da ana konu test teknikleri. Daha gelişmiş yetkinlikler gerektiren test teknikleri, rapora göre, test ekiplerinin gündeminde hala geri planda. Ama bir tarafta da, test ekipleri üzerinde artan ‘az zamanda çok iş yapma’ baskısı, test teknikleri konusunda daha çok yatırım yapılmasının da temel gerekçesini oluşturuyor.Yazılım Test ve Kalite Derneği Başkanı Koray Yitmen, binden fazla uzmanla paylaşılan ankete verilen cevaplara istinaden oluşturulmuş rapora telekom, bankacılık, sigortacılık, bilişim gibi farklı sektörlerden katılım olduğunu belirtti. Koray Yitmen’e göre, bir önceki yılın raporuyla kıyaslandığında, Türk yazılım test sektöründe ağır ama emin adımlarla büyüme de kendini gösteriyor.
Mobilde alacak yol var
Test tekniklerindeki ağır aksak büyümeye ek olarak, raporda dikkat çekilen bir sorun da test ekiplerinin hala ağırlıklı olarak ‘koruma eksiklerini’ bulmaya değil, hata ‘bulmaya’ odaklı olması. Raporda gelecek yıllarda tersine bir eğilimin kendini gösterme ihtimali üzerinde durulurken, statik test tekniklerine yatırımların artmasının da bunu sağlayacağına işaret ediliyor. Raporda, bu eğilimlerden ayrı olarak, mobil teknolojideki gelişimin etkilerine de vurgu yapılıyor. Buna göre akıllı telefon kullanımının yaygınlaşması ile mobil uygulama testlerinin önemi artırıyor. Mobil sektörün tüm gelişimine rağmen, aslında hala bir gelişim sürecinde olması, farklı işletim sistemleri ve cihaz çeşitliliği, buna karşılık erişilebilir mobil test ortamlarının sınırlı olması gibi sorunlar var. İşte temel sorular, alınan yanıtlar ve geleceğe yönelik beklentiler:
Testte öncelikler: ‘Test çalışmalarının temel hedefleri neler?’ sorusuna verilen yanıt açık ara hata (bug) bulmak. İkinci amaç ise yazılımın güvenilirliğini kanıtlamak. Yani, yanıt verenlerin büyük çoğunluğu, test edilen sistemin doğru çalıştığını göstermeye de önem veriyor. Bardağı boş tarafıyla değil, dolu tarafıyla değerlendirmek gibi bir algı değişimi var. ‘Beklentiler’ başlığında ise önemli bir değişime dikkat çekiliyor. Buna göre, gelecekte düzenleme odaklı başlıklar daha öne çıkacak ve test, kaçınılmaz bir gereklilik halini alacak. Hata bulmak doğal olarak yine tüm test aktivitelerinin temel hedefi olacak, ama sistem işlevselliğinin düzenli olduğunu göstermek, riskleri devre dışı bırakmak da önemini artıracak.
‘Tamamdır’ deme kriterleri: Bir testi bitirme kriterlerinin ne olduğu sorusuna verilen yanıt net: En başta belirlenen ihtiyaçların karşılanması. Bunu, raporda test sektörünün temel sorunu olarak tanımlanan ‘son teslim tarihi’ kısıtları izliyor.
Test kimin işi?: ‘Şirkette test çalışmalarından kim sorumlu?’ sorusuna verilen yanıtlara bakıldığında, geçen yıl yüzde 27 ile testten sorumlu olan son kullanıcılar, bu yıl yüzde 17’ye geriledi. Araştırmaya göre bu sonuç şaşırtıcı değil. Çünkü kullanıcı kabullenme testinde ağırlık, hata bulmaktan güven inşa etmeye kayıyor. Bu öncelik değişimi ışığında, testte son kullanıcıların payı da azalmaya devam edecek gibi görünüyor.
Mobille sınanma: Mobil testin zorluklarının sorulduğu katılımcıların yüzde 54’üne göre ilk sırada mobil platform sayısı çokluğu var. Mobil uygulamalar her sektörde, raporun tabiriyle ‘oyun değiştirici’ bir güce sahip. Ama iPhone, iPad ve farklı Android cihazlar ışığında, mobil uygulama geliştiriciler de türlü mobil platformlarla hedef kitlelerine ulaşmak zorunda. Ama raporda dikkat çekildiği gibi, işletim sistemleri veya cihaz donanımları için sektör genelini kapsayan standartlar da yok. Bu da test süreçlerindeki karmaşayı artırırken, sistemlerin uyumluluğunu azaltıyor.
Bulutta test: Bulutu hangi alanlarda test hizmeti olarak kullandığı sorulan uzmanların verdiği yanıtlar, bugün zayıf bir yapının gelecekteki potansiyelini ortaya koyuyor. Yazılım uygulamalarının bulut tabanlı testi önemli bir maliyet avantajı demek. Ama bu avantaj bugün tek başına fazla bir anlam ifade etmiyor ki, araştırmaya katılan Türk şirketlerinin sadece yüzde 20’si test için bulut hizmetlerini kullanıyor. Günümüzde yazılım testi hacminin, yazılım odaklılıktaki artışa paralel, hızlı ve istikrarlı bir büyüme sergilediği göz önüne alındığında, bu eğilimin tersine dönme potansiyeli de görülüyor.
Teknik tercihler: Test ekiplerinin en çok kullandığı teknikler sorulduğunda, kullanıcı beklentilerini karşılama önceliği, ‘kullanım durumu testi’ uygulamasının öne çıkmasını sağlıyor. Bu tekniği daha geleneksel ve deneyim tabanlı uygulamalar izliyor. Bunların ilk akla gelen örnekleri hata tahmini, denetim tabanlı ve keşif odaklı test. Raporda burada dikkat çekilen beklenti; teknik inceleme ve statik analizlerin ağırlığının artması yönünde. Zira geliştirme süreçlerinde mümkün olduğu kadar erken test yapmak, zaman geçirmeden eksikleri bulmanın da anahtarı. Scrum ve TDD gibi yeni yazılım geliştirme metotlarının kullanımının artışı, test tekniklerinin derinliğinin artmasını ve çeşitlenmesini, daha etkili testlerin yapılabilmesini sağlayabilecek.
Ekipsel yetenekler: ‘Test ekiplerinin yetkinliğini nasıl geliştiriyorsunuz?’ sorusuna verilen yanıt gösteriyor ki, yüzde 80 gibi bir bölüme göre yetkinlik geliştirmenin temeli eğitim. Bunu sertifikasyon izliyor. Hatta sertifika sahipliğine verilen önem her yıl artıyor.
Daha fazla yetkinlik: Test uzmanlarından beklenen beceriler söz konusu olduğunda, şirketlerin öncelikli tercihinin güçlü temel becerilerden yana olduğu görülüyor. Diğer birimlerle iletişim içindeki test ekiplerinin iletişim gücünün yüksek olması, problem çözme yetkinliği önemli. Bunu, BT alanında bilgi birikimi izliyor. Araştırmada da dikkat çekildiği gibi, test başlığında hem teknik hem de temel becerilerin birarada olması şart.