[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:qa-test-automation\u002Ftest-automation":4,"config":148},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":7,"topic_name":7,"spec_key":8,"spec_name":9,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":61,"samples":63},"qa-test-automation","QA \u002F Test Otomasyonu","","test-automation","Test Automation","tr",450,1050,[14,15,16],"junior","mid","senior",[18,22,25,28,31,34,37,40,43,46,49,52,55,58],{"key":19,"name":20,"count":21},"qa-api-testing","Qa Api Testing",75,{"key":23,"name":24,"count":21},"qa-automation-fundamentals","Qa Automation Fundamentals",{"key":26,"name":27,"count":21},"qa-ci-cd-testing","Qa Ci Cd Testing",{"key":29,"name":30,"count":21},"qa-defect-management","Qa Defect Management",{"key":32,"name":33,"count":21},"qa-exploratory-manual-testing","Qa Exploratory Manual Testing",{"key":35,"name":36,"count":21},"qa-performance-testing","Qa Performance Testing",{"key":38,"name":39,"count":21},"qa-test-case-design","Qa Test Case Design",{"key":41,"name":42,"count":21},"qa-test-strategy","Qa Test Strategy",{"key":44,"name":45,"count":21},"ta-cross-browser-parallel-execution","Ta Cross Browser Parallel Execution",{"key":47,"name":48,"count":21},"ta-framework-architecture-patterns","Ta Framework Architecture Patterns",{"key":50,"name":51,"count":21},"ta-locators-selectors-strategy","Ta Locators Selectors Strategy",{"key":53,"name":54,"count":21},"ta-selenium-cypress-playwright-tradeoffs","Ta Selenium Cypress Playwright Tradeoffs",{"key":56,"name":57,"count":21},"ta-synchronization-flaky-tests","Ta Synchronization Flaky Tests",{"key":59,"name":60,"count":21},"ta-visual-regression-reporting","Ta Visual Regression Reporting",[62],{"key":8,"name":9,"count":11},[64,82,95,108,121,135],{"id":65,"topic":45,"difficulty":66,"body":67,"options":68,"correct_key":70,"explanation":81},"019faeb4-4ac4-7571-9b8f-9c913ffda3d6",1,"Bir test otomasyonu kurulumunda Selenium Grid'in temel amacı nedir?",[69,72,75,78],{"key":70,"text":71},"a","WebDriver test çalıştırmalarını birden fazla makine ve tarayıcı kombinasyonuna dağıtmak",{"key":73,"text":74},"b","Kullanıcı hikayelerinden manuel scriptleme olmadan otomatik olarak test case üretmek",{"key":76,"text":77},"c","Sayfaları saf olarak Node.js içinde render ederek browser driver ihtiyacını ortadan kaldırmak",{"key":79,"text":80},"d","Manuel exploratory test notlarını otomatik test scriptlerine dönüştürmek; bu genellikle bir Grid bileşeni değil, record-and-playback araçlarının işidir","Selenium Grid, WebDriver oturumlarını farklı uzak makinelere (node) yönlendirerek testlerin tek bir makinede tek bir tarayıcıyla değil, birden fazla tarayıcı\u002Fversiyon\u002Fişletim sistemi kombinasyonunda paralel çalışmasını sağlar.",{"id":83,"topic":45,"difficulty":66,"body":84,"options":85,"correct_key":73,"explanation":94},"019faeb4-4ad6-7733-a17c-978a4b328bf3","Selenium Grid'in hub-node mimarisinde hub hangi rolü üstlenir?",[86,88,90,92],{"key":70,"text":87},"Testlerin çalıştığı gerçek tarayıcı örneklerini çalıştırır",{"key":73,"text":89},"Test isteklerini alır ve her oturumu uygun, müsait bir node'a yönlendirir",{"key":76,"text":91},"Her node'un her oturum bittikten sonra ürettiği nihai HTML test raporlarını, daha sonra incelenmek üzere saklar",{"key":79,"text":93},"Test kodunu tarayıcıya göndermeden önce derler","Hub, gelen WebDriver oturum isteklerini kabul eden ve istenen tarayıcı\u002Fplatform yeteneklerine uyan kayıtlı bir node'a yönlendiren merkezi noktadır; gerçek tarayıcı hub'da değil node'da çalışır.",{"id":96,"topic":45,"difficulty":66,"body":97,"options":98,"correct_key":79,"explanation":107},"019faeb4-4ad7-7581-8a0e-52e8095af518","Selenium Grid terminolojisinde bir \"node\" nedir?",[99,101,103,105],{"key":70,"text":100},"Hangi testlerin önce çalışacağını listeleyen bir konfigürasyon dosyası",{"key":73,"text":102},"Belirli bir tarayıcı versiyonu için yazılmış tek bir test case",{"key":76,"text":104},"Tüm Grid genelinde birden fazla test çalıştırmasının geçti\u002Fkaldı sayılarını ve ekran görüntülerini toplayan bir raporlama panosu",{"key":79,"text":106},"Hub'a kaydolan ve tarayıcı örneklerini çalıştıran bir makine (fiziksel, sanal veya konteynerize)","Node, hub'a kendini kaydeden, desteklediği tarayıcı\u002Fplatformları duyuran ve test adımlarını çalıştıran tarayıcı örneklerini gerçekten başlatıp çalıştıran bir makinedir.",{"id":109,"topic":45,"difficulty":66,"body":110,"options":111,"correct_key":76,"explanation":120},"019faeb4-4ad8-70a1-a494-d3bc21e90c19","Selenium Grid node'larını Docker konteynerleri içinde çalıştırmak neden yaygın bir uygulamadır?",[112,114,116,118],{"key":70,"text":113},"Docker, tarayıcı binary'lerinin kurulmasına gerek bırakmaz",{"key":73,"text":115},"Konteynerler, konfigürasyon olmadan kırılgan locator'ları otomatik olarak düzeltir",{"key":76,"text":117},"Her konteyner, talep üzerine başlatılıp kapatılabilen izole, tekrarlanabilir bir tarayıcı ortamı sağlar",{"key":79,"text":119},"Docker konteynerleri, salt konteyner çalışma zamanı sayesinde tarayıcı otomasyonunu her zaman diğer tüm çalıştırma yöntemlerinden daha hızlı çalıştırır","Docker konteynerleri belirli bir tarayıcı ve driver versiyonunu izole bir ortamda paketler; bu ortamlar hızlı ve tutarlı biçimde ayağa kaldırılıp kapatılabildiğinden node kapasitesini ortamlar arası bağımlılık çakışması olmadan ölçeklemek kolaylaşır.",{"id":122,"topic":45,"difficulty":123,"body":124,"options":125,"correct_key":73,"explanation":134},"019faeb4-4ad8-7c71-9d37-0dcc0656b4b2",2,"Bulut tabanlı tarayıcı grid servisleri (ticari cihaz\u002Ftarayıcı çiftlikleri gibi) tipik olarak kendi barındırılan bir Selenium Grid'in ötesinde genel olarak ne sağlar?",[126,128,130,132],{"key":70,"text":127},"WebDriver uyumlu test kodu yazmayı tamamen atlama imkanı",{"key":73,"text":129},"Altyapıyı kendiniz bakımını yapmadan geniş, hazır bir gerçek tarayıcı\u002Fversiyon\u002Fişletim sistemi matrisi",{"key":76,"text":131},"Manuel test case'lerin otomatik olarak Playwright scriptlerine dönüştürülmesi",{"key":79,"text":133},"Altta yatan test kodu ne kadar kötü yazılmış olursa olsun tüm flaky testlerin otomatik olarak ortadan kalkması garantisi","Bulut tarayıcı grid servisleri geniş bir gerçek tarayıcı\u002Fversiyon\u002Fişletim sistemi (mobil cihazlar dahil) kombinasyonunu barındırıp bakımını üstlenir; böylece ekipler bu altyapıyı kendileri kurup bakımını yapmak zorunda kalmaz, ancak yine de bu servislere karşı çalıştırılacak geçerli WebDriver-uyumlu testler gerekir.",{"id":136,"topic":45,"difficulty":123,"body":137,"options":138,"correct_key":70,"explanation":147},"019faeb4-4ad9-7a5f-aacc-ab51a349617f","Playwright test çalıştırması bağlamında \"sharding\" ne anlama gelir?",[139,141,143,145],{"key":70,"text":140},"Toplam test dosyası kümesini birden fazla makine veya sürece bölerek her shard'ın yalnızca bir alt kümeyi çalıştırmasını sağlamak",{"key":73,"text":142},"Tek bir test dosyasını birden fazla küçük assertion fonksiyonuna bölmek",{"key":76,"text":144},"Test verisini tarayıcıya gönderilmeden önce şifrelemek",{"key":79,"text":146},"Bir test içindeki yalnızca başarısız assertion'ları, testin geri kalan adımlarını yeniden çalıştırmadan otomatik olarak yeniden denemek","Playwright'ta sharding, tüm test suite'ini belirtilen sayıda parçaya böler (ör. --shard=1\u002F4) ve her shard farklı bir makinede veya süreçte çalışarak yalnızca kendisine atanan test dosyası alt kümesini yürütür, böylece toplam çalışma süresi kısalır.",{"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":123,"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":8,"name":9,"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]