Testte Çevresel Değişikliklerin Denetiminde Olay-Yönlendirmeli İzleme Yaklaşımı


Creative Commons License

BETİN CAN A. , alataş ş.

Ulusal yazılım mühendisliği sempozyumu, Türkiye, 23 - 25 Eylül 2019

  • Basıldığı Ülke: Türkiye

Özet

Özet. Bu çalışmada, çevresel değişikliklerin yazılım testi esnasında nasıl denet-lenebileceğini ve sistem kaynakları üzerindeki etkilerinin test kodunda nasıl teyit edilebileceğini araştırdık. Bu çalışma, popüler test çerçevelerini Microsoft Win-dows işletim sisteminin alt sistemi olan "Windows için Olay İzleme/Event-Tra-cing for Windows (ETW)“ ile birleştiren yeni bir çözüm sunmaktadır. "İzlenen Test Uzantısı/Traced Test Extension" adlı MSTest2 gibi popüler test çerçevele-riyle çalışan bir uzantı geliştirdik. Bu uzantı, işletim sisteminin test sırasındaki uygulamalar tarafından üretilen olayları dinler ve test edenin, test hedefleriyle ilgili çevresel değişiklikleri kontrol etmesi için teyit mekanizması sağlar. Uzantı, öngörülen bellek ayırma veya dosyaya, kayıt defterine veya ağa erişim gibi, işle-tim sistemi tarafından üretilen olayların miktarını ya da belirli özelliklerinin top-lam değerini teyit etmesini sağlar. Test eden tarafından bu uzantı ile sağlanan arayüzleri kullanarak teste özel teyit kuralları da geliştirebilir. Sonuçlarımız ve vaka çalışmamız ETW ile uygulanan yöntem arasındaki işbirliğinin umut verici sonuçlarını göstermiştir. Sonuçlar ayrıca testte ETW kullanımının potansiyelini ortaya koymuştur

Abstract. In this study, we investigated how the environmental changes can be inspected in testing and how to assert the impacts on system resources in test code. This study offers a new solution which connects the major testing frameworks to a subsystem of the Microsoft Windows operating system, "Event-Trac-ing for Windows" (ETW). We developed an extension, which works with the major testing frameworks like MSTest2, named "Traced Test Extension." This extension listens to the events produced by the operating system's event sources during testing and provides assertion for the tester to check the environmental changes regarding test objectives. The extension enables test code to check the aggregate value of the specific properties of events thrown by the operating system, such as unpredicted memory allocation and accesses to file, registry, or network. The tester could also implement custom assertion rules by using the provided interfaces in this framework. Our results and the case study showed promising results of the co-operation of the ETW and the methodology. Results also revealed the potential of ETW usage in testing.