Oyun testleri, oyun geliştirmenin bir alt kümesi olan oyunlarının kalite kontrolü için gerçekleştirilen yazılım test sürecidir. Oyun testlerinin birinci görevi yazılım hatalarının (bugs) tespitini gerçekleştirmektir. İnteraktif eğlence dünyasında yazılım testleri, son derece teknik bilgisayar uzmanlığı, analitik yetkinlik, eleştirel değerlendirme becerileri ve sabır gerektirmektedir. Oyun testleri son yıllarda, hem maddi hemde manevi anlamda herhangi bir geri dönüşü olmadığı için yapılan testler önem gösterilmemeye başlamıştır. Bu durumu son dönemlerde çıkan bir çok büyük yapımda rahatlıkla gözlemleyebilirsiniz.

Oyun testlerini ilk zamanlarda tamamen geliştiriciler tarafından üstlenerek yapılmaktaydı. Tabii ki o zamanlarda çıkan bir çok yapım en fazla iki test basamağı olduğundan, bu konuda uzman kişilere ihtiyaçları bulunmamaktaydı. Zamanla oyunların komplike hale gelmesiyle beraber, test için daha büyük ihtiyaçları doğduğundan QA kaynakları (“Quality Assessment” ve “Quality Assurance” ) zorunlu hale geldi. Günümüzde çoğu büyük yayıncı ve geliştirici firma çok sayıda  QA personeli çalışmaktadır. Bu firmalar bu konuda çalıştırdıkları çok sayıda personele rağmen, yerinde QA gerçekleştirmek adına dışarıdan küçük test gruplarından da destek almaktadırlar.

 

Her ne kadar, oyun sektöründe standart bir oyun test metodolojisi olmasa da, QA oyun gelişiminde kritik bir bileşen olarak karşımıza çıkıyor.  Standart bir metodoloji olmadığından dolayı geliştiriciler ve yayıncılar kendi metodolojilerini geliştirerek ilgili testlerin gerçekleştirilmesini sağlamakta. Günümüzde oyun sektörü göz önünde bulundurulduğunda dikkat edilebileceği gibi küçük geliştiricilerin, testleri gerçekleştirecek bir ekibi bulunmamakta. Diğer yandan büyük geliştiriciler ve yayıncılar kendi QA departmanları tarafından test işlemleri gerçekleştirilmekte.

Oyun testleri, oyunun tamamlanmasına az bir süre kala başlar ve post production sürecine kadar günlük bazda hata bildirimleri yapılarak ilerlenir. Oyunun alfa aşaması yaklaşırken test ekibine yeni ekip üyeleri istihdam edilerek test planlaması yapılır. Bu süreçte bir hata bildirim sistemi hem programcıların hemde testların verimli çalışmasına olanak sağlar. Projeler beta aşamasına girerken, test ekibi tarafından her gün yapılan geri bildirimler,  nihai özelliklerin eklenmesi/çıkartılması ve nihai kararları belirleyebilir. Konsollara çıkacak oyunlar için ilgili konsol firmaları QA ekibine bir yapı gönderir ve yapı dahilinde ilgili testler gerçekleştirilir.

 

Test sürecinin tipik bir hata raporu ilerleme aşağıda görülmektedir:

Identification; Yanlış program davranışı analiz ve bir hata olarak tanımlanır.

Reporting; hata bir kusur izleme sistemi kullanan geliştiriciler bildirilmektedir. hata ve yeniden oluşturma adımları koşulları rapora dahil edilir. Geliştiriciler bu tür bug’ın tezahürü gerçek zamanlı video gibi ek belgeler isteyebilir.

Analysis; Artist, programmer veya game designer hata için sorumlu olan geliştirici, ilgili hatayı kontrol eder. Raporda tutarsızlıklardan dolayı ilgili tester’dan daha fazla bilgi ya da kanıt isteyebilir ancak bu, oyun test görev kapsamı dışındadır.

Verification; Geliştirici tarafından düzeltilen hatanın bir daha meydana gelmediğinin doğrulama sürecidir. İlgili hata test edilerek, hatanın tekrarlanıp tekrarlanmadığı gözlemlenir. Bazı durumlarda firmalar tarafından bazı hatalar feragat edilebilmektedir.

Metodoloji

Oyun testleri için standart bir metodoloji bulunmaktadır. Genellikle yayıncılar ve geliştiriciler, oyun testleri için kendi yöntem bilimini geliştirirler. Oyun testleri farklı oyun türlerinde değişiklikler gösterebilir. Örneğin; MMORPG bir oyun için gerçekleştirilen oyun testi gündelik bir oyunda farklılık gösterecektir. Aşağıda oyun testleri için önemli olan metodolojileri görebilirsiniz.

Fonksiyonellik testi: Oyun testi fazı için en bilindik testtir. Oyunu bir formda oynamayı içerir. Fonksiyonellik testi çok ileri teknik bilgi gerektirmez. Bu testi yapan kişiler oyunda ve oyun ara yüzündeki istikrar sorunları, oyun mekaniği ve nesne bütünlüğü gibi sorunları bulmaya çalışırlar.

Uyum testi:  Oyun testi laboratuarlarının varlığının sebebidir. Konsol platformlarının teknik gerekliliklerini sınamak için kullanılır. Bazı gereklilikleri sınamak için çok yüksek teknik bilgi gereklidir ve oyun testlerinin dışında kalabilirler. Aralarında biçimlendirme, standart hata mesajları, yasallık sorunları, markalı ve telif hakkı olan materyaller gibi şeyler olan konular oyun testi yapan kişilerin sorumluluğu altındadır. En ufak bir yasal problem oyunun geri   çevrilmesine, daha fazla kaynak (maddi) tüketmesine ve daha fazla vakit harcamasına sebep olabilir. Bunun dışında bu tür bir sorun oyunun çıkış tarihinde önemli bir zamanlama varsa bunu ıskalamasına sebep olabilir.

Uygunluk testi: Bu test genellikle geliştirme süresinin sonuna yaklaşan PC oyunları için    geçerlidir. Uygunluk oyunun en sonundaki yapısına bağlı olduğu için bunu oyun bitmeye  yakınken yapmak daha mantıklıdır. Genellikle iki aşamalı bir şekilde gerçekleştirilir. “Beta” döneminin başında yapılır. Birincisinin yapılmasının sebebi zaman sorunu olan problemleri zamana yatırmaktır. İkincisi aşama ise birçok donanım seti ile oyun sınanır. Bu noktada genellikle yayımcının maddi açıdan önemli gördüğü tedarik ettiği donanımlar  sınanırlar. Uygunluk testleri oyunun farklı donanımlar ve yazılımlarda çalıştığını sınamak için yapılırlar. Bahsi geçen donanımlar arasında farklı üreticilerin ürettikleri gamepad ve joystik gibi ürünler vardır. Test yapan kişiler aynı zamanda performansı da sınarlar ve oyunun en düşük sistem gerekliliklerini de ortaya çıkarırlar. Uygunluk ve performans sorunları ya geliştirici tarafından düzeltilir ya da sorun bir donanım veya yazılımdan kaynaklıysa alınan destek kesilebilir.

Yerelleştirme testi: Genel yazı sorunları normalde fonksiyonellik testinin bir parçası olmasına rağmen QA departmanları sürekli yerelleştirme testi yapan kişileri çalıştırabilirler. Oyun sektörünün erken dönemlerinde yapılan Japonca tercümeler “Engrish” kalitesinde olabilecek kadar bozuklardı. Son zamanlar yapılan yerelleştirme testleri teknik düzeltmeleri ve oyunların senaryolarının tercüme edilmesini içeriyor. Oyunun  kalitesini sağlamak için genellikle oyunun çıktığı bölgede yaşayan kişiler oyunun testlerinden sorumlu olurlar.

Direnç testi: Bilgisayar oyunları piyasasında oyunun uzun zamanlar boyunca değişik çalışma şekillerinde (hiç bir şey yapmandan, durdurulmuş ya da ana ekranda) açık tutulmasını içerir. Bu test başlangıç anının dışında hiç bir şekilde insan etkileşimi gerektirmemektedir ve genellikle Ana sınayıcılar tarafından gerçekleştirilirler. Otomatik cihazlar fare tıklamaları gibi sürekli yapılan hareketleri tekrarlarlar. Direnç testi sadece zaman geçtikçe anlaşılabilecek olan memory leak ya da rounding error gibi problemleri fark edebilir. Direnç testleri çok büyük önem taşımaktadır.

Beta testi: Geliştirmenin “Beta” döneminde gerçekleştirilir. Bu genellikle oyunun halka açık ilk sürümü için geçerlidir. Halka açık Beta’lar yararlıdır çünkü oyunun binlerce takipçisi oyunun geliştiricilerinin bulamadığı hataları fark edebilirler.

Gerileme testi: Bir hata programcılar tarafından düzeltildiği zaman gerçekleştirilir. QA sınayıcıları hatanın hala orada olup olmadığını görmek için geri adımlar atarak sınamalar yaparlar. Bundan sonra da tamir ettikleri şeyin başka sorunlara neden olup olmadığını sınarlar. Bu ikinci aşamaya sıkça “Halo testi” adı verilir ve hatanın çevresinde dolaşarak başka hatalar aramayı temel alır.

Yükleme testi: Sistemin sınırlarını sınar. Örneğin bir MMO sunucusundaki oyuncuların     sayısını, ekrandaki Sprite sayısını ya da bir programda çalışan başlık sayısını ölçmek için   kullanılır. Yükleme testi ya çok fazla sınayıcı ya da onların işlerini simüle edecek bir program ister. Yükleme testi aynı zamanda uygulamaların yük altında düzgün çalışıp çalışmadıklarını da sınar.

Çoklu oyuncu testi: Eğer oyunun çoklu oyunculu seçenekleri varsa QA takımından farklı bir ekip tarafından yönetilebilir. Bu test PC oyunları için çok daha geçerlidir. Oyun bütün bağlanma yöntemlerini (modem, LAN, internet) sınar. Bu tekli oyuncu ve çoklu oyuncu sınamalarının aynı anda yapılabilmesini sağlar.

Mobil oyun testi: Genellikle geliştirme sırasında elle veya otomatik olarak yapılır. Mobil oyun sınamaları yukarıda gördüğünüz bütün testleri barındırır. Android ve İOS popüler mobil oyun platformlarıdır. Resim tanıma niteliklerine sahip otomatik mobil oyun testleri Testdroid’de   bulunabilir.