[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:qa-test-automation\u002Fta-synchronization-flaky-tests":4,"config":148},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":58,"samples":63},"qa-test-automation","QA \u002F Test Otomasyonu","","ta-synchronization-flaky-tests","Ta Synchronization Flaky Tests","tr",75,1050,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,55],{"key":19,"name":20,"count":11},"qa-api-testing","Qa Api Testing",{"key":22,"name":23,"count":11},"qa-automation-fundamentals","Qa Automation Fundamentals",{"key":25,"name":26,"count":11},"qa-ci-cd-testing","Qa Ci Cd Testing",{"key":28,"name":29,"count":11},"qa-defect-management","Qa Defect Management",{"key":31,"name":32,"count":11},"qa-exploratory-manual-testing","Qa Exploratory Manual Testing",{"key":34,"name":35,"count":11},"qa-performance-testing","Qa Performance Testing",{"key":37,"name":38,"count":11},"qa-test-case-design","Qa Test Case Design",{"key":40,"name":41,"count":11},"qa-test-strategy","Qa Test Strategy",{"key":43,"name":44,"count":11},"ta-cross-browser-parallel-execution","Ta Cross Browser Parallel Execution",{"key":46,"name":47,"count":11},"ta-framework-architecture-patterns","Ta Framework Architecture Patterns",{"key":49,"name":50,"count":11},"ta-locators-selectors-strategy","Ta Locators Selectors Strategy",{"key":52,"name":53,"count":11},"ta-selenium-cypress-playwright-tradeoffs","Ta Selenium Cypress Playwright Tradeoffs",{"key":8,"name":9,"count":11},{"key":56,"name":57,"count":11},"ta-visual-regression-reporting","Ta Visual Regression Reporting",[59],{"key":60,"name":61,"count":62},"test-automation","Test Automation",450,[64,82,95,108,121,134],{"id":65,"topic":9,"difficulty":66,"body":67,"options":68,"correct_key":73,"explanation":81},"019faeb4-4b75-7002-a340-693809e1efc2",1,"Selenium WebDriver'da implicit wait ile explicit wait arasındaki temel pratik fark nedir?",[69,72,75,78],{"key":70,"text":71},"a","Implicit wait yalnızca CSS seçicilerle, explicit wait yalnızca XPath ile çalışır",{"key":73,"text":74},"b","Implicit wait tüm aramalar için tek bir global timeout ayarlar; explicit wait tek bir elemandaki adlandırılmış tek bir koşulu bekler",{"key":76,"text":77},"c","Explicit wait tüm test paketini duraklatır, implicit wait yalnızca mevcut test metodunu duraklatır",{"key":79,"text":80},"d","Implicit wait her eleman örneği için ayrı ayrı yapılandırılır, explicit wait ise tüm driver oturumu için tek seferde yapılandırılır","Implicit wait (driver.manage().timeouts().implicitlyWait(...)) driver'ın her findElement çağrısına uyguladığı global bir polling timeout'udur; explicit wait ise (WebDriverWait + ExpectedConditions) devam etmeden önce tek, belirli bir elemandaki belirli, adlandırılmış bir koşulu bekler.",{"id":83,"topic":9,"difficulty":66,"body":84,"options":85,"correct_key":70,"explanation":94},"019faeb4-4b76-7c82-b8de-736ee5a3ec56","Test otomasyonu bağlamında \"flaky test\" (kararsız test) nedir?",[86,88,90,92],{"key":70,"text":87},"Test edilen kod değişmediği halde ara sıra geçen ara sıra kalan bir test",{"key":73,"text":89},"Kapsadığı özellik kaldırıldığı için her zaman başarısız olan bir test",{"key":76,"text":91},"Ekibin üzerinde anlaştığı performans bütçesinden daha yavaş çalışan bir test",{"key":79,"text":93},"Statik olarak derlenen bir dil yerine yorumlanan bir script dilinde yazılmış bir test","Kararsız (flaky) bir test, aynı kod üzerinde aralıklı olarak geçer ve kalır; bu genellikle gerçek bir hatadan değil, zamanlama, ortam ya da test izolasyonu sorunlarından kaynaklanır ve pakete duyulan güveni zedeler.",{"id":96,"topic":9,"difficulty":66,"body":97,"options":98,"correct_key":76,"explanation":107},"019faeb4-4b7e-755a-bdda-ab857d290b07","Aynı Selenium WebDriver script'inde implicit ve explicit wait'i karıştırmak neden genellikle önerilmez?",[99,101,103,105],{"key":70,"text":100},"İkisi aynı anda yapılandırıldığında Selenium derleme zamanı hatası verir",{"key":73,"text":102},"Explicit wait, oturumun geri kalanında implicit wait'i sessizce devre dışı bırakır",{"key":76,"text":104},"Timeout'ları öngörülemez biçimde birleşerek bazı çağrıların çok daha uzun beklemesine yol açabilir",{"key":79,"text":106},"Implicit wait, ancak script içinde herhangi bir yerde tanımlanan her explicit wait çoktan tamamlandıktan sonra devreye girer","İki mekanizma aynı anda etkili olabildiğinden, bir explicit wait'in polling döngüsü içindeki bir findElement çağrısı implicit wait timeout'una da tabi olabilir; bu da ikisinin üst üste binerek beklenmedik derecede uzun veya tutarsız beklemelere yol açmasına neden olur.",{"id":109,"topic":9,"difficulty":66,"body":110,"options":111,"correct_key":79,"explanation":120},"019faeb4-4b80-7567-a984-6e9cc64df99f","Selenium'da (Java binding) hangi satır, bir elemana tıklamadan önce onun tıklanabilir hale gelmesini en fazla 10 saniye bekleyerek doğru şekilde bekler?",[112,114,116,118],{"key":70,"text":113},"driver.findElement(By.id(\"submit\")).waitUntilClickable(10).click();",{"key":73,"text":115},"try { Thread.sleep(10000); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } driver.findElement(By.id(\"submit\")).click();",{"key":76,"text":117},"driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);",{"key":79,"text":119},"new WebDriverWait(driver, Duration.ofSeconds(10)).until(ExpectedConditions.elementToBeClickable(By.id(\"submit\"))).click();","WebDriverWait ile ExpectedConditions.elementToBeClickable birlikte kullanıldığında, bulunan eleman hem görünür hem etkin olana kadar polling yapılır ve ardından .click() zincirlenebilir şekilde eleman döndürülür; diğer seçenekler ya var olmayan bir metot kullanır, ya sabit bir sleep içerir ya da alakasız bir sayfa-yükleme timeout'u yapılandırır.",{"id":122,"topic":9,"difficulty":66,"body":123,"options":124,"correct_key":70,"explanation":133},"019faeb4-4b82-757d-880c-5b28b4a31232","Bir UI testindeki bir zamanlama sorununu çözmek için sabit bir sleep (ör. Thread.sleep(5000)) kullanmanın genel olarak en büyük sorunu nedir?",[125,127,129,131],{"key":70,"text":126},"Sayfa hızlıysa zaman kaybettirir, beklenenden yavaşsa yine de başarısız olur",{"key":73,"text":128},"Hiçbir modern otomasyon framework'ü tarafından desteklenmez",{"key":76,"text":130},"Assertion çalışmadan önce tarayıcının kapanmasına neden olur",{"key":79,"text":132},"Yalnızca Cypress ile çalışır, Selenium ile asla çalışmaz","Sabit bir sleep bir süre tahmin eder: gerçek bekleme daha kısaysa test gereksiz yere yavaş çalışır; gerçek bekleme bazen daha uzunsa (yavaş ağ, animasyon, sunucu yükü) test yine de başarısız olur; bu yüzden koşul-tabanlı explicit wait'ler tercih edilir.",{"id":135,"topic":9,"difficulty":136,"body":137,"options":138,"correct_key":76,"explanation":147},"019faeb4-4b83-727e-bbec-3effac570b45",2,"Cypress'in yerleşik \"retry-ability\" (tekrar deneme) mekanizması, cy.get('.item').should('be.visible') gibi bir komutu nasıl ele alır?",[139,141,143,145],{"key":70,"text":140},"Komutu tam olarak bir kez çalıştırır ve mevcut DOM durumuna göre anında geçti\u002Fkaldı raporlar",{"key":73,"text":142},"Geliştiricinin komutu JavaScript ile yazılmış özel bir retry döngüsüne manuel olarak sarmasını gerektirir",{"key":76,"text":144},"DOM'u yeniden sorgular ve assertion geçene ya da timeout dolana kadar tekrar tekrar kontrol eder",{"key":79,"text":146},"Tüm test çalışmasını duraklatır ve bir insanın elemanın görünür olduğunu onaylamasını bekler","Cypress komutları ve .should() gibi assertion'lar, yapılandırılabilir bir timeout içinde (çoğu komut için varsayılan 4sn) assertion geçene ya da süre dolana kadar mevcut DOM durumuna karşı otomatik olarak yeniden denenir; Cypress testlerini explicit wait olmadan zamanlamaya dayanıklı yapan şey budur.",{"fields":149,"seniorities":334,"interview_shapes":335,"locales":340,"oauth":342,"question_count":345,"coach_enabled":346,"jd_match_enabled":346},[150,175,195,212,236,249,268,287,309,315,321,328],{"key":151,"name_tr":152,"name_en":152,"sort":66,"specializations":153},"backend","Backend",[154,157,160,163,166,169,172],{"key":155,"name":156,"field":151},"general","Genel",{"key":158,"name":159,"field":151},"go","Go",{"key":161,"name":162,"field":151},"python","Python",{"key":164,"name":165,"field":151},"java","Java",{"key":167,"name":168,"field":151},"csharp","C#\u002F.NET",{"key":170,"name":171,"field":151},"nodejs","Node.js",{"key":173,"name":174,"field":151},"php","PHP",{"key":176,"name_tr":177,"name_en":177,"sort":136,"specializations":178},"frontend","Frontend",[179,180,183,186,189,192],{"key":155,"name":156,"field":176},{"key":181,"name":182,"field":176},"javascript","JavaScript",{"key":184,"name":185,"field":176},"typescript","TypeScript",{"key":187,"name":188,"field":176},"react","React",{"key":190,"name":191,"field":176},"vue","Vue",{"key":193,"name":194,"field":176},"angular","Angular",{"key":196,"name_tr":197,"name_en":197,"sort":198,"specializations":199},"fullstack","Fullstack",3,[200,201,202,203,204,205,206,207,208,209,210,211],{"key":155,"name":156,"field":196},{"key":158,"name":159,"field":151},{"key":161,"name":162,"field":151},{"key":164,"name":165,"field":151},{"key":167,"name":168,"field":151},{"key":170,"name":171,"field":151},{"key":173,"name":174,"field":151},{"key":181,"name":182,"field":176},{"key":184,"name":185,"field":176},{"key":187,"name":188,"field":176},{"key":190,"name":191,"field":176},{"key":193,"name":194,"field":176},{"key":213,"name_tr":214,"name_en":214,"sort":215,"specializations":216},"devops-cloud","DevOps \u002F Cloud",4,[217,218,221,224,227,230,233],{"key":155,"name":156,"field":213},{"key":219,"name":220,"field":213},"aws","AWS",{"key":222,"name":223,"field":213},"gcp","GCP",{"key":225,"name":226,"field":213},"azure","Azure",{"key":228,"name":229,"field":213},"kubernetes","Kubernetes",{"key":231,"name":232,"field":213},"terraform","Terraform",{"key":234,"name":235,"field":213},"linux","Linux",{"key":237,"name_tr":238,"name_en":238,"sort":239,"specializations":240},"ai-engineer","AI Engineer",5,[241,242,243,246],{"key":155,"name":156,"field":237},{"key":161,"name":162,"field":237},{"key":244,"name":245,"field":237},"llm-rag","LLM\u002FRAG",{"key":247,"name":248,"field":237},"mlops","MLOps",{"key":250,"name_tr":251,"name_en":252,"sort":253,"specializations":254},"database","Veritabanı","Database",6,[255,256,259,262,265],{"key":155,"name":156,"field":250},{"key":257,"name":258,"field":250},"postgresql","PostgreSQL",{"key":260,"name":261,"field":250},"mysql","MySQL",{"key":263,"name":264,"field":250},"mongodb","MongoDB",{"key":266,"name":267,"field":250},"redis","Redis",{"key":269,"name_tr":270,"name_en":271,"sort":272,"specializations":273},"mobile","Mobil","Mobile",7,[274,275,278,281,284],{"key":155,"name":156,"field":269},{"key":276,"name":277,"field":269},"ios-swift","iOS (Swift)",{"key":279,"name":280,"field":269},"android-kotlin","Android (Kotlin)",{"key":282,"name":283,"field":269},"flutter","Flutter",{"key":285,"name":286,"field":269},"react-native","React Native",{"key":288,"name_tr":289,"name_en":290,"sort":291,"specializations":292},"security","Güvenlik","Security",8,[293,294,297,300,303,306],{"key":155,"name":156,"field":288},{"key":295,"name":296,"field":288},"appsec","AppSec",{"key":298,"name":299,"field":288},"offensive-pentest","Offensive \u002F Pentest",{"key":301,"name":302,"field":288},"cloud-security","Cloud Security",{"key":304,"name":305,"field":288},"devsecops","DevSecOps",{"key":307,"name":308,"field":288},"blue-team-incident","Blue Team \u002F Incident",{"key":5,"name_tr":6,"name_en":310,"sort":311,"specializations":312},"QA \u002F Test Automation",9,[313,314],{"key":155,"name":156,"field":5},{"key":60,"name":61,"field":5},{"key":316,"name_tr":317,"name_en":317,"sort":318,"specializations":319},"data-engineer","Data Engineer",10,[320],{"key":155,"name":156,"field":316},{"key":322,"name_tr":323,"name_en":324,"sort":325,"specializations":326},"game-dev","Oyun Geliştirme","Game Development",11,[327],{"key":155,"name":156,"field":322},{"key":329,"name_tr":330,"name_en":330,"sort":331,"specializations":332},"ml-engineer","ML Engineer",12,[333],{"key":155,"name":156,"field":329},[14,15,16],{"junior":336,"mid":338,"senior":339},{"questions":337,"median_sec":3},20,{"questions":337,"median_sec":3},{"questions":337,"median_sec":3},[10,341],"en",[343,344],"google","github",22200,true]