In object-oriented programming, it is important to test classes that represent objects with life cycles. Class tests should be run at the stage where no errors are detected in method tests. While method tests verify that a method works as expected in the context of input and output, class tests verify that a class remains in a valid state and responds as expected across different method calls. Class tests are important because correct operation of methods does not necessarily indicate that a class is working correctly. In this study, an event-based approach for class testing is proposed. In this proposal, formal Event Sequence Diagrams (ESGs) are used. ESGs are directed graphs that can be produced from Finite State Machines (FSMs) and can directly use the algorithms of graph theory, unlike FSMs. In addition to this advantage, if the templates suggested in this study are used on the coding side, the mapping of ESGs and class methods can be achieved directly and quickly. The existence of a tool that generates automatic tests for ESGs makes this study directly usable. The proposed approach has been validated on a class representing an air conditioning control unit with a complex life cycle.
Object-oriented programming Finite State Machines Event Sequence Diagrams Event-Driven Test Generation Class Tests
Nesneye yönelik programlamada yaşam döngüsü bulunan nesneleri temsil eden sınıfların test edilmesi önemlidir. Sınıf testleri, metot testleri ile hata bulunmadığı aşamada çalıştırılması gereken testlerdir. Metot testleri bir metodun girdi ve çıktı bağlamında beklendiği gibi çalıştığını doğrularken, sınıf testleri bir sınıfın farklı metot çağrıları karşısında geçerli bir durumda kaldığını ve beklendiği gibi yanıt verdiğini teyit eder. Metotlarının doğru çalışması bir sınıfın doğru çalıştığını göstermeyeceği için sınıf testleri önemlidir. Bu çalışmada sınıf testleri için olay temelli bir yaklaşım önerilmiştir. Bu öneri içinde formel Olay Sıra Çizgesi (OSÇ) kullanılmıştır. OSÇ’ler, Sonlu Durum Makineleri (SDM) üzerinden üretilebilen yönlü çizgeler olup çizge teorisinin algoritmalarını SDM’lerden farklı olarak doğrudan kullanabilmektedir. Bu avantajına ek olarak kodlama tarafında yine bu çalışmada önerilen şablonların kullanılması durumunda OSÇ’ler ile sınıf metotların eşleşmesi doğrudan ve hızlıca sağlanabilmektedir. OSÇ’ler için otomatik test üreten bir aracın varlığı ise bu çalışmayı doğrudan kullanılabilir kılmaktadır. Önerilen yaklaşım karmaşık bir yaşam döngüsüne sahip klima kontrol ünitesi sınıfı üzerinde doğrulanmıştır.
Nesneye yönelik programlama Sonlu Durum Makineleri Olay Sıra Çizgeleri Olay Temelli Test Üretimi Sınıf Testleri
Primary Language | Turkish |
---|---|
Subjects | Information Systems Development Methodologies and Practice, Information Systems (Other) |
Journal Section | Makaleler |
Authors | |
Publication Date | December 31, 2023 |
Submission Date | September 28, 2023 |
Published in Issue | Year 2023 |