Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Yapay zeka-destekli Yazılım Testi (eğitim)

Avatar for Vəhid Gəruslu Vəhid Gəruslu
September 19, 2025
2

Yapay zeka-destekli Yazılım Testi (eğitim)

İstanbul Yazılım Test Konferansı (ISTC) 2025'te davetli eğitim
https://iststc.com/

Avatar for Vəhid Gəruslu

Vəhid Gəruslu

September 19, 2025
Tweet

More Decks by Vəhid Gəruslu

Transcript

  1. © Vehid Geruslu (Vahid Garousi) Yapay-zeka (YZ) Destekli Yazılım Testi

    AI-Assisted Software Testing Dr. Vehid Geruslu (İngilizce ad yazısı: Vahid Garousi) 1- Test / QA Kıdemli Danışman: Testinium A.Ş., Türkiye ProSys MMC, Azərbaycan -- AzInTelecom, Azərbaycan 2- Yazılım Mühendisliği Profesörü, Kraliça Üniversitesi Belfast (Queen’s University Belfast), Böyük Britaniya vgeruslu [email protected] www.vgarousi.com / türkçe
  2. © Vehid Geruslu (Vahid Garousi) Webinar planı: Yapay-zeka (YZ, AI)

    Destekli Yazılım Testi • Giriş ◦ Konuşmacı hakkında ◦ Yazılım test ve QA alanının tarihi ve evrimi (1980'lerden bu yana) ◦ YZ’nın kendisini test etmek -- ve testte YZ’dan yardım almak --- iki farklı konu • YZ-destekli Yazılım Test Mühendisliği ◦ YZ hangi test faaliyetlerinde ve nasıl yardımcı olabilir? ◦ Sufle (prompt) mühendisliği: YZ’ya verdiğimiz komutların (‘suflelerin’) önemi ◦ YZ-tabanlı test araçlar ▪ “Genel-amaçlı” YZ test araçlar: ChatGPT gibi ▪ “Özel-amaçlı” YZ test araçlar • Sonuçlandırma (Wrapping Up): ◦ İçgörüler ve çıkarımlar (Insights and implications) ◦ Bu alanın geleceği… • Konular uygulamalı bir şekilde ve ChatGPT'de canlı örneklerle sunulacak 2
  3. © Vehid Geruslu (Vahid Garousi) Konuşmacı hakkında Education: PhD in

    Software Engineering, Carleton University, Ottawa, Canada, 2006 MSc in Computer Engineering, University of Waterloo, Canada, 2003 BSc in Software Engineering, Sharif University of Technology, Tehran, 2000 1998-2013 2020-2023 2013- now 2019- now 2022- now • 1998'den beri yazılım mühendisliği test ve QA alanında çalışıyorum • Aslen: Azerbaycanlı Türk • Milliyet: Kanadalı, İngiliz • 2000 yılından bu yana 4 farklı ülkede yaşayıp çalışmışım • 2013-2017 araları güzel Ankara'da yaşayıp çalıştım • İş deneyimi: 3 Kısaca uzmanlık alanım: • Yazılım şirketlerinin, yazılım mühendisliği süreç ve faaliyetlerinin iyileştirilmesi • ...ve etkinlik / verimlilik / kaliteyi artırmak
  4. © Vehid Geruslu (Vahid Garousi) Yazılım test ve QA alanının

    tarihi ve evrimi 4 Dünya çapında birçok yazılım şirketi, test ve kalite güvence faaliyetlerinde yapay-zekayı (YZ) kullanmaya başlamışlar... Geride kalmayalım !
  5. © Vehid Geruslu (Vahid Garousi) YZ’yı kendisini test etmek ve

    YZ’yı yazılım testinde kullanmak --- İki farklı konu İngilizce: “Testing of Aİ” versus “Aİ testing” 5 Test edilen sistem / bileşen = YZ / Aİ / ML modeller Test edilen sistem = Her hangi yazılım sistemi Aİ testing: Yazılım testi faaliyetlerinde, YZ kullanımı Also called: AI-assisted testing AI-powered testing AI-augmented testing AI-based testing Diğer terimler: YZ-destekli yazılım testi YZ-ile-güçlendirilen yazılım testi YZ-tabanlı yazılım testi Testing of Aİ YZ'yı test etmək Test ediyor Test ediyor Destek alıyor YZ / Aİ / ML modeller Amaç: Yazılım test faaliyetlerinde YZ'dan destek almak Her alanda, dünya genelinde, 10 binler mühendis ve araştırmacı çalışıyor Amaç: YZ ve ML modellerinin kendilerini test etmek, doğru çalıştıklarını doğrulamak
  6. © Vehid Geruslu (Vahid Garousi) Webinar planı: Yapay-zeka Destekli Yazılım

    Testi • Giriş ◦ Yazılım test ve QA alanının tarihi ve evrimi (1980'lerden bu yana) ◦ YZ’nın (AI) kendisini test etmek -- ve testte YZ’dan yardım almak --- iki farklı konu • YZ-destekli Yazılım Test Mühendisliği ◦ YZ hangi test faaliyetlerinde ve nasıl yardımcı olabilir? ◦ Sufle (prompt) mühendisliği: YZ’ya verdiğimiz komutların (‘suflelerin’) önemi ◦ YZ-tabanlı test araçlar ▪ “Genel-amaçlı” YZ test araçlar: ChatGPT gibi ▪ “Özel-amaçlı” YZ test araçlar • Sonuçlandırma (Wrapping Up): ◦ İçgörüler ve çıkarımlar (Insights and implications) ◦ Bu alanın geleceği… • Konular uygulamalı bir şekilde ve ChatGPT'de canlı örneklerle sunulacak 6
  7. © Vehid Geruslu (Vahid Garousi) YZ hangi test faaliyetlerinde ve

    nasıl yardımcı olabilir? Bunu analiz etmek için: • SDLC = Software Development Life Cycle = Yazılım Geliştirme Yaşam Döngüsü • STLC = Software Testing Life Cycle = Yazılım Test Yaşam Döngüsü 7
  8. © Vehid Geruslu (Vahid Garousi) YZ hangi test faaliyetlerinde ve

    nasıl yardımcı olabilir? • Neredeyse tüm test faaliyetlerinde … 8 Aynı yaşam döngü (süreç)
  9. © Vehid Geruslu (Vahid Garousi) YZ-destekli Yazılım Testi: Test Yönetimi

    (Planlama, vb.) Önemli konular: • YZ’ya verdiğimiz komutların (‘suflelerin’) önemi - YZ’dan alacağımız sonuçların kalitesi, YZ’ya verdiğimiz komutlara bağlıdır • ve yazılım test mühendisi olarak, kesinlikle YZ- dan aldıklarımızı dikkat ile gözden geçirmeliyiz 9 Canlı demo Test Planının Oluşturulması Prompt: My task is to test the following mobile banking app: https://play.google.com/store/apps/details?id=com.pozitron.iscep&h l=tr https://www.isbank.com.tr/iscep For functional manual testing of this app, design a draft test plan. Türkçe cevap ver Risk Analizi Prompt: Aynı mobil uygulama için, test plan dokümanına eklemek için, lütfen detay Risk Analiz yap. Türkçe cevap ver
  10. © Vehid Geruslu (Vahid Garousi) YZ-destekli Yazılım Testi: Test Yönetimi

    (Planlama, vb.) Test efor tahmini Prompt: Aynı mobil uygulama için, yukarıdaki Fonksiyonel Manuel Test Plan için, test efor tahmini yap • Verdiğimiz komutların (‘suflelerin’) önemi ◦ Genel bir komut verip, efor tahmininin türünü belirtmezsek, YZ herhangi bir yöntemi seçecektir. ◦ Ama spesifik sorular sorarsak, YZ’dan spesifik cevaplar alırız. ◦ Tıpkı iş arkadaşlarımıza (diğer yazılım mühendislerine) sorduğumuz gibi 10
  11. © Vehid Geruslu (Vahid Garousi) YZ-destekli Yazılım Testi: Test senaryo

    / durum / vaka (test-case) Tasarımı • Test tasarım için, kaç tıp “kapsama” kriterlerimiz var? ◦ Prompt: I want you to do test-case design based on test (requirements) coverage. For this, I suggest you generate requirements for the same above mobile app (in form of user stories), and then use those requirements to generate test cases that "cover" (test) all requirements. You can use tabular format for presentation, if that is suitable. Respond in Turkish . ◦ Prompt: For the same İşCep Mobile Banking App, as the next activity, I want you to do test-case design based on code coverage. ▪ For brevity, let’s only do this for the “Login” feature. To see code coverage in this example, generate back-end code in Java for Login feature. ▪ Then use generate test cases in tabular format to fully "cover" (test) the code. Note: I want test cases, and not test code (yet) ▪ When you design test cases in the process, provide details of which lines of code are covered by which test cases. And explain how you are adding new test cases to cover the uncovered lines of code so far. ▪ Respond in Turkish. All code and variables / comments in it should also be in Turkish • Keşifsel test: ◦ Sizce, YZ bunun için destek vere bilir mi? 11 Canlı demo Test Kapsama Kod Kapsama Test sırasında test olan gereksinimlerin yüzdesi % Test sırasında yürütülen kodun yüzdesi %
  12. © Vehid Geruslu (Vahid Garousi) YZ-destekli Yazılım Testi: Test senaryolardan,

    Test-kod geliştirme (Scripting) • Prompt: For the same İşCep Mobile Banking App, as the next activity… ◦ I want you to “script” (write) automate test code in JUnit, based on the test-cases that you designed in the previous interaction between us, for the “Login” feature ◦ Respond in Turkish ◦ No need for POM.XML or other info. Just give the JUnit code 12 Canlı demo
  13. © Vehid Geruslu (Vahid Garousi) • Prompt: Can you run

    each of the above manual or automated test cases on the basic Java code that you produced? Respond in Turkish ◦ Sürpriz olacaksınız! • Prompt: In general, if I have a real Software Under Test (SUT), like a large or mobile app: ◦ I believe you cannot run a given set of test cases on the real SUT, right? ◦ What kind of other help can you provide for test execution (manual or automated) for real SUTs? ◦ Respond in Turkish 13 Canlı demo YZ-destekli Yazılım Testi: Test Yürütme (koşum)
  14. © Vehid Geruslu (Vahid Garousi) Prompt: For the same İşCep

    Mobile Banking App as the SUT: ◦ If we want to test real SUT, the mobile app on an actual phone ◦ What kind of other help can you provide for the Test Evaluation phase of the STLC? ◦ Respond in Turkish Prompt: For the same İşCep Mobile Banking App as the SUT: ◦ For the Test Evaluation phase, give one single concrete example of the help that you can provide ◦ Respond in Turkish 14 Canlı demo YZ-destekli Yazılım Testi: Test Değerlendirme (Test Sonuçlarının Analizi)
  15. © Vehid Geruslu (Vahid Garousi) Prompt: In the login page

    of a university online service, I have received the following error message, which I believe is a bug: ◦ My first question: Do you agree that it is a bug? ◦ If you agree that it is a bug, generate a detailed bug report? ◦ Provide your response once in Turkish, and then in English 15 Canlı demo YZ-destekli Yazılım Testi: Hata (Defekt) Raporlama
  16. © Vehid Geruslu (Vahid Garousi) Prompt: For the same İşCep

    Mobile Banking App as the SUT (see the app screenshot also): ◦ For testing the “Para aktar” feature, generate test data ◦ Explain, using concrete examples, what other help you can provide in management of test-data? 16 Canlı demo YZ-destekli Yazılım Testi: Test Verisi Yönetimi - ve Test Ortamının Yönetimi
  17. © Vehid Geruslu (Vahid Garousi) Webinar planı: Yapay-zeka Destekli Yazılım

    Testi • Giriş ◦ Yazılım test ve QA alanının tarihi ve evrimi (1980'lerden bu yana) ◦ YZ’nın (AI) kendisini test etmek -- ve testte YZ’dan yardım almak --- iki farklı konu • YZ-destekli Yazılım Test Mühendisliği ◦ YZ hangi test faaliyetlerinde ve nasıl yardımcı olabilir? ◦ Sufle (prompt) mühendisliği: YZ’ya verdiğimiz komutların (‘suflelerin’) önemi ◦ YZ-tabanlı test araçlar ▪ “Genel-amaçlı” YZ test araçlar: ChatGPT gibi ▪ “Özel-amaçlı” YZ test araçlar • Sonuçlandırma (Wrapping Up): ◦ İçgörüler ve çıkarımlar (Insights and implications) ◦ Bu alanın geleceği… • Konular uygulamalı bir şekilde ve ChatGPT'de canlı örneklerle sunulacak 17
  18. © Vehid Geruslu (Vahid Garousi) Sufle mühendisliği • YZ-dan kaliteli

    ve istediğimiz cevabı almak için, etkili ve kaliteli yazılmış istem yazmalıyız… Kötü İstekler İyi İstekler / Etkili İstemler • Belirsizdirler • Önemli detaylardan yoksundurlar • Belirsiz dil kullanırlar • Yanıltıcıdırlar • Açık olurlar • Kısa ve özdürler • İlgili bağlamı verirler • Amaç doğrultusunda yönlendirilirler İnternette ÇOK kaynak var:
  19. © Vehid Geruslu (Vahid Garousi) Webinar planı: Yapay-zeka Destekli Yazılım

    Testi • Giriş ◦ Yazılım test ve QA alanının tarihi ve evrimi (1980'lerden bu yana) ◦ YZ’nın (AI) kendisini test etmek -- ve testte YZ’dan yardım almak --- iki farklı konu • YZ-destekli Yazılım Test Mühendisliği ◦ YZ hangi test faaliyetlerinde ve nasıl yardımcı olabilir? ◦ Sufle (prompt) mühendisliği: YZ’ya verdiğimiz komutların (‘suflelerin’) önemi ◦ YZ-tabanlı test araçlar ▪ “Genel-amaçlı” YZ test araçlar: ChatGPT gibi ▪ “Özel-amaçlı” YZ test araçlar • Sonuçlandırma (Wrapping Up): ◦ İçgörüler ve çıkarımlar (Insights and implications) ◦ Bu alanın geleceği… • Konular uygulamalı bir şekilde ve ChatGPT'de canlı örneklerle sunulacak 21
  20. © Vehid Geruslu (Vahid Garousi) YZ-tabanlı test araçlar 22 “Özel-amaçlı”

    YZ test araçlar (sadece Yazılım Testi için geliştirilmişler) Specific-purpose “Genel-amaçlı” YZ test araçlar General-purpose
  21. © Vehid Geruslu (Vahid Garousi) “Özel-amaçlı” YZ test araçlar- Bir

    örnek • healenium.io 23 I am reviewing tools such as https://healenium.io/ . can you give an estimate on extent of effort spent on maintaining "locators" in Selenium tests Old UI Updated new UI
  22. © Vehid Geruslu (Vahid Garousi) Webinar planı: Yapay-zeka Destekli Yazılım

    Testi • Giriş ◦ Yazılım test ve QA alanının tarihi ve evrimi (1980'lerden bu yana) ◦ YZ’nın (AI) kendisini test etmek -- ve testte YZ’dan yardım almak --- iki farklı konu • YZ-destekli Yazılım Test Mühendisliği ◦ YZ hangi test faaliyetlerinde ve nasıl yardımcı olabilir? ◦ Sufle (prompt) mühendisliği: YZ’ya verdiğimiz komutların (‘suflelerin’) önemi ◦ YZ-tabanlı test araçlar ▪ “Genel-amaçlı” YZ test araçlar: ChatGPT gibi ▪ “Özel-amaçlı” YZ test araçlar • Sonuçlandırma (Wrapping Up): ◦ İçgörüler ve çıkarımlar (Insights and implications) ◦ Bu alanın geleceği… • Konular uygulamalı bir şekilde ve ChatGPT'de canlı örneklerle sunulacak 24
  23. © Vehid Geruslu (Vahid Garousi) İçgörüler ve çıkarımlar (Insights and

    implications) • Yazılım test mühendisi YZ • Kim neyi nerden öğrenmiş? • Her ikisi test faaliyetlerinde, hata yapa bilir • Her birisi, neyi daha hızlı ve daha kaliteli yapa bilir? (etkinlik ve verimlilik) the World Wide Web contains over 100 billion indexed pages 100,000,000,000 +
  24. © Vehid Geruslu (Vahid Garousi) İçgörüler ve çıkarımlar (Insights and

    implications) • Yazılım test mühendisi ◦ Bu test faaliyetini ben kendi başıma mi yapayım, yoksa YZ-dan yardım alayım? • Biz (test mühendisleri) neyi daha hızlı ve daha kaliteli yapa biliriz? (etkinlik ve verimlilik) • YZ neyi daha hızlı ve kaliteli yapabilir? • Kendi 2 yıl YZ-destekli Yazılım Testi tecrübelerimde bunları gözlemlemişim In software testing, I want a table to support decision-making when to use AI and when not to. Create a table showing: what can we (test engineers) do faster and with higher quality (effectiveness and efficiency)? what can AI do faster and with higher quality?
  25. © Vehid Geruslu (Vahid Garousi) YZ test faaliyetlerinde, ne kadar

    yardım edebilir? • Faaliyete göre, YZ’dan alınacak destek seviyesi değişebilir 27 Öğrendiklerimizin özeti İnsan uzmanlığı / gözetimi intuition and experience corner cases
  26. © Vehid Geruslu (Vahid Garousi) İnsan YZ Yavaş Hızlı Gelecek

    = İnsan-YZ işbirliği Neden-sonuç Korelasyon Bilgelik Bilgi Yuvarlak Köşeli Irrasyonel Rasyonel Bağlam İçerik Teleolojik Deontolojik
  27. © Vehid Geruslu (Vahid Garousi) Bu alanın geleceği: YZ ile

    yazılım testinde özerklik (autonomy) düzeyleri • YZ bize hangi düzeyde yardımcı olabilir? Biraz mı, çok mu? • Öncelikle konuya başka bir bağlamda bakalım • Otonom araç sektöründe iyi bilinen model (özerklik düzeyleri)… • Benzer bir modeli yazılım testi üçün düşüne biliriz. Sizce neredeyiz? 29
  28. © Vehid Geruslu (Vahid Garousi) Bu alanın geleceği: YZ ile

    yazılım testinde özerklik (autonomy) düzeyleri • Sizce, yazılım test alanında, bu modelde neredeyiz? • Gelin GPT-nin kendisinden soralım   30
  29. © Vehid Geruslu (Vahid Garousi) Bu alanın geleceği: YZ test

    mühendislerinin işlerini nasıl değiştirecek ve etkileyecek? 31
  30. © Vehid Geruslu (Vahid Garousi) Bu alanın geleceği • ‘AI

    quest will ultimately lead to ASI’ • Yapay-zeka arayışı eninde sonunda ASI'ye yol açacak • Şimdi AGİ seviyesindeyiz • ASİ seviyesine geçiş yaptığımız zaman, YZ-destekli yazılım testinde durum biraz farklı ola bilir ! 32 Artificial Super Intelligence (ASI) Artificial General Intelligence (AGI) Artificial Narrow Intelligence (ANI) Yapay Süper Zeka (YSZ) Yapay Genel Zeka (YGZ) Yapay Dar Zeka (YDZ)
  31. © Vehid Geruslu (Vahid Garousi) İçgörüler ve çıkarımlar (Insights and

    implications) • Yazılım testinde: ◦ Hangi görevleri YZ-ya yaptırmalıyız? ◦ ve Hangi görevleri biz test mühendisler yapmalıyız? 36
  32. © Vehid Geruslu (Vahid Garousi) YZ'yı test etmek ve YZ’yı

    yazılım testinde kullanmak 37 Uluslararası Yazılım Test Yeterlilik Kurulu ISTQB.org
  33. © Vehid Geruslu (Vahid Garousi) YZ hangi test faaliyetlerinde ve

    nasıl yardımcı olabilir? • Neredeyse tüm test faaliyetlerinde … 38 • Önemli karar, biz test mühendisler için: Hangi test faaliyetlerinde ve ne kadar (% oran olarak) YZ-dan yardım almak istiyoruz? ◦ Cevap: test kapsamında, dikkat ile proje yönetim üçgenini analiz etmeliyiz. ◦ YZ, üçgenin hangi boyutlarında bize ne kadar kazandıracak? veya yârdim yerine işimize zarar verecek ! Aynı yaşam döngü (süreç)