Mutasyon bazlı yazılım testlerinin iyileştirilmesi için bir yaklaşım
- Global styles
- Apa
- Bibtex
- Chicago Fullnote
- Help
Abstract
Mutasyon testi, hataları ortaya çıkarmak ve tespit etmek için etkili olduğu bilinen bir tür beyaz kutu testidir. Hata tespitinde test kümesinin yeterliliğini değerlendirmek için tasarlanmış en güçlü tekniklerden biridir. Bununla birlikte, mutasyon testi, yüksek sayıda mutant oluşturulduğundan, eşdeğer mutantları tespit etme çabası ve test grubunun gerçeğinin, her mutant için gerçekleştirilmesi gerekebileceği için maliyetlidir. Selektif mutasyon testi gibi bu problemlerin üstesinden gelmek için yöntemler geliştirilse de, özellikle anlamsal olarak eşdeğer mutantların tespit edilmesi ve elimine edilmesi sorunu hala devam etmektedir. Bu tez, ilk olarak eşdeğer mutantları tespit edip ortadan kaldırmak için test vakalarına öncelik tanıyan ve daha sonra, test vakalarının yürütülmesi ile çok sayıda mutantı kademeli olarak azaltmak için, aralarındaki benzerliklere göre mutantları farklı gruplara kümeleyen bir yöntem sunar. Mutasyon kümelenmesi ve yok edilmesinde çeşitli çalışmalar yapılmış olmasına rağmen, bu çalışmalarda öncelikli ve eşdeğerliğe dayalı test durumlarının kaldırılması göz önünde bulundurulmamıştır. Deney sonuçları, yöntemin saf mutasyon testi kadar etkili bir şekilde mutasyon skoru olduğunu ve özellikle program ünitesinin boyutu ve mutasyonu arttıkça uygulama süresini kısalttığını göstermiştir. Mutation testing is a type of white box testing which has been found to be effective at revealing and detecting faults. It's one of the most powerful techniques designed to evaluate the adequacy of test suite in detecting faults. However, mutation testing is expensive due to high number of mutants created, the effort to detect equivalent mutants and the fact of test suite may have to be executed for each mutant. Even though methods have been developed to overcome these problems such as selective mutation testing, the problem of detecting and eliminating especially semantically equivalent mutants still remains. This thesis presents a method which first gives priority to test cases according to their reach to detect and eliminate equivalent mutants and then clusters mutants into different groups according to similarities among them to reduce progressively the large number of mutant vs test case executions. Although various studies have been conducted in mutation clustering and elimination, eliminating test case executions based on priority and equivalence have not been studied previously. The experimental results showed that, the method is mutation score wise comparable to pure mutation testing and reduces execution time especially when the size and the number of mutations of the program unit increases.
Collections