SORU
15 AĞUSTOS 2008, Cuma


Nasıl birim dişli kod test yapmalıyım?

Şimdiye kadar sadece bir mayın tarlası çok gibi görünüyor bu yana bir çok iş parçacıklı kod test ettiğini kabus kaçındım. Sormak istiyorum kaç kişi gitti hakkında test kodu kullanır konuları için başarılı yürütme, ya da ne kadar kişi gitti. bu tür sorunlar sadece geldiğinde iki iş parçacığı etkileşim içinde belirli bir şekilde?

Bu programcılar için gerçekten önemli bir sorun, bugünkü gibi, bu ımho bizim bilgi havuzu için faydalı olacak gibi görünüyor.

CEVAP
15 AĞUSTOS 2008, Cuma


Bak, bunu yapmak için kolay bir yolu yok. Doğal olarak birden çok iş parçacığı bir proje üzerinde çalışıyorum. Olaylar işletim sistemi ve süreç gerekiyor aynı anda.

Karmaşık, multithhreaded uygulama kodu test ile başa çıkmak için en kolay yolu şudur: test için çok karmaşık İse, yaptığın yanlış. Birden çok iş parçacığı üzerine etki eden tek bir örneği var, ve bu konuları birbirlerine her yerinde adım durumlar test yapamıyorsanız, o zaman senin tasarımın yeniden yapılması gerekir. Bu kadar basit ve bu kadar karmaşık hem de.

İş parçacığı aynı anda bir örneği ile çalışan önler çoklu program için birçok yol vardır. Tüm nesneler değişmez yapmak basit. Tabii ki, bu genellikle mümkün değildir. Konuları aynı örnek ile interract nerede tasarımında bu yerleri belirlemek ve bu alanların sayısını azaltmak için. Bunu yaparak, çoklu aslında, sistem test genel karmaşıklığı azaltmak oluştuğu birkaç sınıfları izole.

Ama bu bile yaparak hala iki konu birbirine adım her durumu test edebilir mi fark var. Bunu yapmak için, iki iş parçacığı çalıştırmak zorunda ... aynı anda aynı test, daha sonra herhangi bir anda, çalıştıkları tam olarak kontrol. Yapabileceğin en iyi şey bu durumu simüle etmek. Ama bu, özellikle test için kod isteyebilir, ve bu doğru bir çözüm yolunda en fazla yarım adım.

Sorunları iş parçacığı için kodu test etmek için muhtemelen en iyi yolu kodu statik analiz geçer. Eğer dişli kod parçacığı güvenli desenler sınırlı bir dizi takip değilse, o zaman bir sorun olabilir. VS Kod Analizi parçacığı bazı bilgi içerir, ama muhtemelen çok bildiğine inanıyorum.

Şeyler şu anda stand olarak bak, (ve muhtemelen iyi bir zaman duracak), çok iş parçacıklı uygulamaları test etmenin en iyi yolu dişli kod karmaşıklığı mümkün olduğunca azaltmaktır. Konuları etkileşim, mümkün olduğunca en iyi test ve kod analizi tehlike alanları belirlemek için kullanım alanları en aza indirmek.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • chrmoe

    chrmoe

    7 Kasım 2006
  • PamtheBlamofficial

    PamtheBlamof

    31 Aralık 2010
  • sWooZie

    sWooZie

    9 ŞUBAT 2006