İş yerinde oldukça karmaşık bir sistemimiz var. Bu sistemi System_A olarak adlandıralım. KG ekibimiz, System_A'yı test etmek için bu sistemi System_B olarak adlandırmak üzere başka bir sistem oluşturdu.
System_B'nin kullanım şekli aşağıdaki gibidir. Girişler (System_B'nin kendisi kullanılarak), IN üretiyoruz, bu girişleri System_B üzerinden geri işliyor ve O_B çıktıları üretiyoruz. Yani süreç şu şekildedir:
System_B(IN) -> O_B
.
Daha sonra aynısını System_A'nın kendi çıktılarını üretmesi için yapıyoruz, O_A:
System_A(IN) -> O_A
.
Herhangi bir zamanda, O_B'nin beklenen çıktı olduğu ve O_A'nın gözlemlenen / gerçek çıktı olduğu varsayılır. O ima şu: O_B “altın” kaynak (gerçek). Ancak, bir sorun kombinasyonuyla karşılaştık.
- O_A yanlış, O_B doğru
- O_A doğru, O_B doğru
- O_A yanlış, O_B yanlış
- O_A doğru, O_B yanlış
O_B'nin her zaman haklı olduğu varsayılırsa (veya ne beklenirse) neyin doğru olduğunu kim belirler? O_B'nin insan muayenesi ve analizi ile bazen (veya sıklıkla) yanlış olduğu ortaya çıkıyor. İşler bu süreci kullanarak KG'yi geçecek ve gerçek kullanıcılar şikayet edecek ve sonuçta O_B'nin yanlış olduğunu bulmaya geri dönüyoruz.
Soru şudur: Gerçek sistemi test etmek için bir "test sistemi" oluşturmak kötü bir uygulama mıdır?
- Kaygan yamaç ne olacak? O halde, "test sistemini" test etmek için başka bir sisteme ihtiyacımız olduğunu iddia edemez miyiz?
- Geliştiricilerin artık en azından 2 kod tabanını öğrenmeleri gerektiğinden, maliyet kesinlikle engelleyicidir, belki de Sistem_B'nin karmaşıklığı Sistem_A'dan daha büyüktür. System_B'nin kuruluş için ne kadar iyi veya kötü olduğunu nasıl ölçebiliriz?
- System_B oluşturmak için orijinal "zorlayıcı" nedenlerden biri, testi otomatikleştirmekti. Şimdi tam otomatik olduğumuz için çok gurur duyuyoruz (çünkü System_B, çıktıyı üretmek için kendini kullanma sürecini önyüklemek için girdi üretiyor). Ama bence daha çok zarar verdik ve daha karmaşık bir şekilde, tartışılmaz bir şekilde getirdik. KG'nin işi tamamen otomatik mi olacak? Bu sebep paralel bir sistem oluşturmayı haklı çıkarmak için yeterli mi?
- Asıl endişem bu, hepimiz System_B'nin yanlış olduğunu bilsek de (oldukça sık). System_B girdiyi işlemede o kadar iyiyse ve çıktısı altın kaynağı ise, System_A'yı neden System_B ile değiştirmiyorsunuz? Buna göre, işte hiç kimse tatmin edici bir cevap veremez.
Bu konuda herhangi bir rehberlik takdir edilmektedir.