Geri Dön

Using machine learning to improve automated test generation

Otomatik test yaratımını iyileştirme amaçlı makine öğrenmesi kullanımı

  1. Tez No: 792149
  2. Yazar: YAVUZ KÖROĞLU
  3. Danışmanlar: PROF. DR. MEHMET ALPER ŞEN
  4. Tez Türü: Doktora
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2022
  8. Dil: İngilizce
  9. Üniversite: Boğaziçi Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 109

Özet

Yazılım testinin değerini hafife almanın yakın tarihte yıkıcı sonuçları olmuştur. Otomatik Test Yaratımı (OTY) test için gereken insan eforunun en aza indirilmesini amaçlayan bir yaklaşımdır. Bu tez OTY etkililiği ve performansını Makine Öğrenmesi (MÖ) tabanlı yönlendirme ile artırmayı amaçlamaktadır, ve spesifik olarak Takviyeli Öğrenme (TÖ) kullanan Android Grafiksel Kullanıcı Arayüzü (GKA) testine odaklanmaktadır. Önerdiğimiz dört çözüm; Q-öğrenme Tabanlı Keşif (QTK), Test Durumu Mutasyonu (TDM), Tam Otomatik Takviyeli Öğrenme Güdümlü (TOTÖG), ve TOTÖG2 test yaratıcılarıdır. QTK bir dizi uygulamada TÖ kullanarak gezinir ve keşif sırasında bir eylem yaratma ilkesi öğrenir. Sonra, bu öğrendiği ilkeyi yeni uygulamalarda ya daha fazla özgün çökme bulmak ya da daha fazla aktivite kapsamak için kullanır. TDM, QTK ile yaratılan testleri alır ve içlerindeki iyi huylu eylemleri daha da fazla çökme tespit edebilmek için kötü huylularla değiştirir. TOTÖG ise TÖ kullanarak izlenebilir kurallı belirtimler formundaki yüksek seviyeli test senaryoları olarak verilen fonksiyonel davranışları nasıl doğrulayacağını öğrenir. TOTÖG, QTK gibi deneme-yanılma ile öğrenir ama uygulama-spesifik kalıplar öğrenmektedir. Bildiğimiz kadarıyla, TOTÖG, GKA uygulamalarının tam otomatik fonksiyonel testini mümkün kılan ilk motordur. Son olarak, TOTÖG2, TOTÖG'ü Genellenmiş Deneyim Tekrarı (GDT) ve insan-okuyabilir Aşamalı Test Senaryosu (ATS) diliyle geliştirmektedir. Deneyler QTK'nın en gelişkin test yaratıcılarından çökme tespiti ve kapsamada daha performanslı olduğunu göstermektedir. Önce QTK çalıştırıp sonra TDM'ye geçmek ise bundan da daha fazla eşsiz çökme bulmaktadır. TOTÖG, otomatik testin kapsamını fonksiyonel davranış doğrulanmasına genişletmektedir. Sonuç olarak, bu test yaratıcıları otomatik GKA testini elle testin yerine geçmeye yakınlaştırmaktadır.

Özet (Çeviri)

Underestimating the value of software testing had catastrophic results in recent history. Automated Test Generation (ATG) is an approach that aims to minimize the manual effort required for testing. This thesis aims to improve the effectiveness and performance of ATG approaches via Machine Learning (ML) based guidance, and focuses on Android Graphical User Interface (GUI) testing using Reinforcement Learning (RL), specifically. We propose four solutions, Q-learning Based Exploration (QBE), Test Case Mutation (TCM), Fully Automated Reinforcement LEArning Driven (FARLEAD), and FARLEAD2 test generators. QBE uses RL to crawl a set of applications and learns an action generation policy while exploring. Then, it uses this learned policy to either detect more unique crashes or cover more activities in new applications. TCM takes the tests QBE generates and replaces the well-behaving actions in those tests with bad-behaving ones to detect even more crashes. FARLEAD uses RL to learn how to verify a functional behavior that is given as a high-level test scenario in the form of a monitorable formal specification. FARLEAD learns by trial-and-error like QBE but it learns app-specific patterns instead of QBE's app-generic patterns. To the best of out knowledge, FARLEAD is the first engine fully automating the functional testing of GUI applications. Finally, FARLEAD2 improves FARLEAD with Generalized Experience Replay (GER) and human-readable Staged Test Scenario (STS) language. Experimental results show that, QBE outperforms state-of-the-art test generators in crash detection and coverage. Furthermore, executing QBE first and then switching to TCM detects even more unique crashes. FARLEAD and FARLEAD2 expand the scope of automated testing to verifying functional behavior. Overall, these test generators elevate automated GUI testing closer to replacing manual GUI testing.

Benzer Tezler

  1. Blokzincir tabanlı ıot sağlık platformu ile hasta verilerinin güvenli paylaşımı ve izlenmesi

    Secure sharing and monitoring of patient data through a blockchain-based iot healthcare platform

    GALAL ABDULRAHEEM ALI AHMED

    Yüksek Lisans

    Türkçe

    Türkçe

    2025

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolSakarya Üniversitesi

    Bilgisayar ve Bilişim Mühendisliği Ana Bilim Dalı

    PROF. DR. ÜNAL ÇAVUŞOĞLU

  2. Veri arttırma tekniğinin endüstriyel bir problemde incelenmesi

    Investigation of the data augmentation technique in an industrial problem

    ALPTEKİN KAVAKOĞLU

    Yüksek Lisans

    Türkçe

    Türkçe

    2025

    Mühendislik BilimleriSakarya Üniversitesi

    İmalat Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ GARİP ERDOĞAN

    DR. ÖĞR. ÜYESİ -

  3. Improvıng the predıctıon of oıl and gas productıon usıng artıfıcıal ıntellıgence algorıthms

    Yapay zeka algoritmalarını kullanarak petrol ve gaz üretim tahminlerinin iyileştirilmesi

    AZHAR NAJI MUHAJIR ALYAHYA

    Yüksek Lisans

    İngilizce

    İngilizce

    2025

    EnerjiSakarya Üniversitesi

    Mühendislik Bilimleri Ana Bilim Dalı

    PROF. DR. GÜLÜZAR ÇİT

  4. Robot hücresi içerisinde yapay zekâ ve görüntü işleme tabanlı parça besleme kontrolü

    Artifical intelligence and image processing-based part feeding control in a robot cell

    ENESALP ÖZ

    Yüksek Lisans

    Türkçe

    Türkçe

    2025

    Elektrik ve Elektronik MühendisliğiSakarya Üniversitesi

    Elektrik ve Elektronik Mühendisliği Ana Bilim Dalı

    DOÇ. DR. MUHAMMED KÜRŞAD UÇAR

  5. Konvolüsyonel sinir ağlarında ağ eğitiminin iyileştirilmesi

    Improving the network training in convolutional neural networks

    KÜBRA UYAR

    Doktora

    Türkçe

    Türkçe

    2022

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolSelçuk Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. ŞAKİR TAŞDEMİR