Web tabanlı bir eğitim oyunu miras aldım. Geçtiğimiz yıl kodu stabilize etmek ve yeni özellikler eklemek için çalıştım. Mantığın çoğu ön uçtadır, bu nedenle arka uç birim testleri yardımcı olsa da kodun küçük bir yüzdesini kapsar.
Oyun karmaşıklaşmaya başladığı noktaya geldi. Her oyun için iki farklı mod vardır ve oyun moda bağlı olarak farklı davranır. Oyun oynamayı etkileyen çeşitli bayraklar da var.
10 yılı aşkın bir süredir uygulama geliştiriciyim ve bu beni şaşırtıyor. Kurumsal dünyada, bir algoritma her zaman aynı şekilde çalışır. Bir algoritma için birim testi yazacağım, 42 değerini bekleyeceğim ve bu değeri alamazsam hata yapacağım.
Oyun söz konusu olduğunda, kayboldum. Onları nasıl test ederim? Benim için test edicilerim var. Birim testleri yazmak için zaman harcayabilirim.
Test ediciler ... güvenilmez. Sorunları köklendirme konusunda en iyisi değiller ve onlara en iyi yönü vermedim. Oyunun her permütasyonunu ve kombinasyonunu test eden her sürüm döngüsünde bir ton zaman harcamadığımda, bunları bir kaynak olarak nasıl kullanmalıyım?
Birim testleri sınırlı görünmektedir. Mantığın çoğu javascript olduğundan (ve spagetti kodunu devraldım), bazı özelliklerin çalıştığından emin olmak için Salatalık veya selenyum gibi bir ön paket kullanabilirim.
Bu en iyi strateji mi? Oyun şirketleri oyunları nasıl test eder?
" Karmaşık Oyunlar için Test Odaklı Geliştirme " (sitedeki diğerleri arasında) sorusunu okudum , ancak aradığım şeyi ele almıyor. Nasıl test edileceğine dair spesifik örnekler değil stratejiler istiyorum.