(Bunun iyi bir röportaj sorusu olacağını düşünüyorum , ancak benim durumumda bundan daha pragmatik.)
Düzinelerce kimyasal bileşen arasında son derece uzun ve sofistike bir kimyasal reaksiyon sürecini modelleyen geniş ve karmaşık bir uygulamaya sahibiz . Uygulama için Kabul Testleri tasarlama aşamasındayız, ancak test edilmesi mümkün olmayan yolların sayısı bizi biraz korkutuyor. Durumumun, Google Haritalar geliştirici ekibinin, "Yol Tarifi Al" özelliklerinde rota planlama algoritmasını test etme zamanı geldiğinde karşılaştığı şey gibi olduğu aklıma geldi. Açıkçası, olası her yolu test edemediler (doğrulayamadılar ve doğrulayamadılar). Peki, uygulamalarının her durumda işe yarayacağına nasıl güven duydular?
Ve nasıl yaptıklarını öğrenmeyi beklemediğim için size sormama izin verin: Belirli bir uygulamanın sağlam olduğunu - tam anlamıyla imkansız olduğunda - kendinizi tatmin etmek için yeterli kod kapsamına sahip bir test paketi tasarlamaya nasıl devam edersiniz? sistemdeki her potansiyel yolu araştırmak için?
Aradığım şey, toplamı bütünü tatmin edici bir tahmin sağlayan daha küçük, izlenebilir parçalara ayırmak için kullanacağınız ilkelerdir: "Her şeyi test edemiyorum, ama bunu test edebilirim , bu ve bu - ve bu yeterli. " Ben gerçek anlamda bütçe / zaman kısıtlamaları göz önüne alındığında , "makul olarak doğru" bir yaklaşım değil, ihtiyatlı bir yaklaşım arıyorum .
(Mümkün olduğunca spesifik yanıtlar almak için Google Haritalar örneğini bir folyo gibi kullanıyorum.)