[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:qa-test-automation\u002Fpf-environment-fidelity-test-design":4,"config":211},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":112,"samples":126},"qa-test-automation","QA \u002F Test Otomasyonu","","pf-environment-fidelity-test-design","Pf Environment Fidelity Test Design","tr",75,2400,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109],{"key":19,"name":20,"count":11},"mq-appium-driver-architecture","Mq Appium Driver Architecture",{"key":22,"name":23,"count":11},"mq-device-lab-emulator-parallelization","Mq Device Lab Emulator Parallelization",{"key":25,"name":26,"count":11},"mq-mobile-locators-sync-flakiness","Mq Mobile Locators Sync Flakiness",{"key":28,"name":29,"count":11},"mq-native-frameworks-espresso-xcuitest","Mq Native Frameworks Espresso Xcuitest",{"key":31,"name":32,"count":11},"mq-network-conditioning-offline-validation","Mq Network Conditioning Offline Validation",{"key":34,"name":35,"count":11},"mq-permissions-lifecycle-system-interactions","Mq Permissions Lifecycle System Interactions",{"key":37,"name":38,"count":11},"pf-apm-profiling-bottleneck-correlation","Pf Apm Profiling Bottleneck Correlation",{"key":40,"name":41,"count":11},"pf-distributed-load-generation","Pf Distributed Load Generation",{"key":8,"name":9,"count":11},{"key":44,"name":45,"count":11},"pf-load-model-design","Pf Load Model Design",{"key":47,"name":48,"count":11},"pf-metrics-percentiles-analysis","Pf Metrics Percentiles Analysis",{"key":50,"name":51,"count":11},"pf-scripting-correlation-parameterization","Pf Scripting Correlation Parameterization",{"key":53,"name":54,"count":11},"qa-api-testing","Qa Api Testing",{"key":56,"name":57,"count":11},"qa-automation-fundamentals","Qa Automation Fundamentals",{"key":59,"name":60,"count":11},"qa-ci-cd-testing","Qa Ci Cd Testing",{"key":62,"name":63,"count":11},"qa-defect-management","Qa Defect Management",{"key":65,"name":66,"count":11},"qa-exploratory-manual-testing","Qa Exploratory Manual Testing",{"key":68,"name":69,"count":11},"qa-performance-testing","Qa Performance Testing",{"key":71,"name":72,"count":11},"qa-test-case-design","Qa Test Case Design",{"key":74,"name":75,"count":11},"qa-test-strategy","Qa Test Strategy",{"key":77,"name":78,"count":11},"sd-ci-test-infrastructure","Sd Ci Test Infrastructure",{"key":80,"name":81,"count":11},"sd-code-quality-test-code","Sd Code Quality Test Code",{"key":83,"name":84,"count":11},"sd-contract-testing","Sd Contract Testing",{"key":86,"name":87,"count":11},"sd-test-data-management","Sd Test Data Management",{"key":89,"name":90,"count":11},"sd-test-doubles-mocking","Sd Test Doubles Mocking",{"key":92,"name":93,"count":11},"sd-test-framework-design","Sd Test Framework Design",{"key":95,"name":96,"count":11},"ta-cross-browser-parallel-execution","Ta Cross Browser Parallel Execution",{"key":98,"name":99,"count":11},"ta-framework-architecture-patterns","Ta Framework Architecture Patterns",{"key":101,"name":102,"count":11},"ta-locators-selectors-strategy","Ta Locators Selectors Strategy",{"key":104,"name":105,"count":11},"ta-selenium-cypress-playwright-tradeoffs","Ta Selenium Cypress Playwright Tradeoffs",{"key":107,"name":108,"count":11},"ta-synchronization-flaky-tests","Ta Synchronization Flaky Tests",{"key":110,"name":111,"count":11},"ta-visual-regression-reporting","Ta Visual Regression Reporting",[113,117,120,123],{"key":114,"name":115,"count":116},"mobile-qa","Mobile QA",450,{"key":118,"name":119,"count":116},"performance-testing","Performance Testing",{"key":121,"name":122,"count":116},"sdet","SDET",{"key":124,"name":125,"count":116},"test-automation","Test Automation",[127,145,158,171,185,198],{"id":128,"topic":9,"difficulty":129,"body":130,"options":131,"correct_key":139,"explanation":144},"019ff6e3-961d-7637-9fa3-ef7710b5ad5f",1,"Staging ortamında geçen bir yük testi neden production davranışını doğru öngöremeyebilir?",[132,135,138,141],{"key":133,"text":134},"a","Çünkü staging ortamları her zaman production'dan daha yeni bir uygulama kodu sürümü kullanır",{"key":136,"text":137},"b","Çünkü yük test araçları staging için yeterli sanal kullanıcı üretemez",{"key":139,"text":140},"c","Çünkü veri hacmi, altyapı ölçeği veya ağ topolojisi farkları sonuçları geçersiz kılabilir",{"key":142,"text":143},"d","Çünkü staging ortamlarının yasal olarak sınırsız kaynağa sahip olması gerekir","Ortam sadakati (environment fidelity), test ortamının production'ı ne kadar yansıttığıdır. Staging'de daha küçük veri kümesi, daha az sunucu örneği veya farklı bir ağ yolu varsa, gözlemlenen gecikme\u002Fthroughput sayıları test temiz geçse bile prod'a taşınmayabilir.",{"id":146,"topic":9,"difficulty":129,"body":147,"options":148,"correct_key":136,"explanation":157},"019ff6e3-961e-74e5-a18f-835db2e5d5dc","Bir performans testi yalnızca 500 satır içeren bir veritabanı tablosuna karşı çalıştırılıyor, production tablosunda ise 50 milyon satır var. Bu kurulumun temel riski nedir?",[149,151,153,155],{"key":133,"text":150},"Satır sayısı hiçbir veritabanı motorunda sorgu planlamasını veya performansını etkilemediği için sonuçlar her koşulda aynı olacaktır",{"key":136,"text":152},"Küçük ölçekte sorgu planları ve index davranışı keskin şekilde farklı olabilir, sonuçlar production'ı yansıtmaz",{"key":139,"text":154},"Veritabanı, production boyutundan küçük tablolarda sorgu çalıştırmayı reddeder",{"key":142,"text":156},"Küçük tablolar her zaman büyük tablolara göre yapay olarak yüksek gecikmeye neden olur","Sadece 500 satırla optimizer, eksik index olsa bile hızlı olan bir full scan seçebilir; ya da 50M satırda farklı davranacak bir index kullanabilir (daha fazla sayfa okuma, farklı join stratejisi). Gerçekçi performans sonuçları için veri hacmi sadakati kritiktir.",{"id":159,"topic":9,"difficulty":129,"body":160,"options":161,"correct_key":142,"explanation":170},"019ff6e3-961f-7078-a27b-425a399e5ce3","Performans test tasarımı bağlamında 'ortam sadakati' (environment fidelity) ne anlama gelir?",[162,164,166,168],{"key":133,"text":163},"Test scriptinin uygulamanın tüm fonksiyonel kullanıcı akışlarını ne kadar kapsadığı",{"key":136,"text":165},"Bir yük test aracının aynı anda simüle edebileceği sanal kullanıcı sayısı",{"key":139,"text":167},"Test ortamında mevcut production release'i ile tam olarak aynı kaynak kod branch'inin deploy edilmiş olup olmadığı",{"key":142,"text":169},"Test ortamının ölçek, veri, topoloji ve konfigürasyon açısından production'a ne kadar yakın olduğu","Ortam sadakati özellikle test ortamının production özelliklerini (donanım ölçeği, veri hacmi, ağ topolojisi, cache katmanları, konfigürasyon) ne kadar temsil ettiğini ifade eder — kod kapsamı veya branch eşleşmesi değil.",{"id":172,"topic":9,"difficulty":173,"body":174,"options":175,"correct_key":133,"explanation":184},"019ff6e3-9621-70da-8cd2-a4ff5b91cc8b",2,"Bir ekip yük testini tek node'lu bir test ortamına karşı çalıştırıyor, production ise 6 uygulama node'u barındıran bir load balancer arkasında çalışıyor. En olası sonuç nedir?",[176,178,180,182],{"key":133,"text":177},"Tek node daha düşük yükte darboğaza girerek kapasiteyi production'dan düşük gösterebilir",{"key":136,"text":179},"Load balancer'lar throughput'u etkilemediği için sonuçlar tamamen aynı olacaktır",{"key":139,"text":181},"Tek node'lu test her zaman 6 node'lu production kurulumundan daha yüksek throughput gösterecektir",{"key":142,"text":183},"Load balancer'lar yalnızca güvenliği etkiler, performans test doğruluğunu etkilemez","Tek bir node, 6 node'lu kümenin toplam CPU\u002Fbellek\u002Fbağlantı kapasitesinin yalnızca bir kesrine sahiptir, bu yüzden production'ın rahatça kaldırabileceği bir yük seviyesinde doyuma ulaşıp gecikme\u002Fhata artışı gösterir — gerçek kapasiteyi olduğundan düşük gösterir.",{"id":186,"topic":9,"difficulty":173,"body":187,"options":188,"correct_key":136,"explanation":197},"019ff6e3-9622-7507-a358-7b86a863cd96","Production önünde bir CDN (Content Delivery Network) olması performans test tasarımını neden zorlaştırır?",[189,191,193,195],{"key":133,"text":190},"CDN'ler cache durumundan tamamen bağımsız olarak her tek isteği her zaman yavaşlatır, bu yüzden testler onları basitçe tamamen göz ardı etmelidir",{"key":136,"text":192},"Test CDN cache hit'ine isabet edip gerçek origin\u002Fbackend performansı yerine edge cache gecikmesini ölçebilir",{"key":139,"text":194},"CDN'ler production benzeri ortamlara karşı herhangi bir yük testi çalıştırmayı imkansız hale getirir",{"key":142,"text":196},"CDN'ler yalnızca DNS çözümleme süresini etkiler, ölçülen yanıt sürelerine hiçbir etkisi yoktur","İstekler CDN edge cache'lerinden sunulduğunda, yük testi origin sunucunun gerçek işlem süresini değil CDN'in cache-hit gecikmesini ölçer. Backend\u002Forigin performansını test etmek için test tasarımı cache bypass'ı ya da doğrudan origin'i hedeflemeyi göz önünde bulundurmalıdır.",{"id":199,"topic":9,"difficulty":129,"body":200,"options":201,"correct_key":139,"explanation":210},"019ff6e3-9623-7219-b011-8672c24f4efa","Performans testlerini CI\u002FCD'ye entegre etme bağlamında 'performans regresyon baseline'ı nedir?",[202,204,206,208],{"key":133,"text":203},"Bir testin geçerli sayılması için gereken minimum sanal kullanıcı sayısı",{"key":136,"text":205},"Bir performans testinin çalışabilmesi için önce geçmesi gereken tüm fonksiyonel test senaryolarının listesi",{"key":139,"text":207},"Yeni build'lerdeki performans regresyonlarını saptamak için kullanılan kayıtlı referans metrik kümesi",{"key":142,"text":209},"Hiçbir seçenek belirtilmediğinde yük test aracının kullandığı varsayılan konfigürasyon dosyası","Baseline, önceki performans metriklerinin saklanmış bir referansıdır. Yeni test koşuları, her seferinde manuel yargıya güvenmek yerine CI\u002FCD pipeline'ının bir parçası olarak otomatik regresyon tespiti (ör. p95 gecikmenin %20 artması) için bununla karşılaştırılır.",{"fields":212,"seniorities":427,"interview_shapes":428,"locales":433,"oauth":435,"question_count":438,"coach_enabled":439,"jd_match_enabled":439},[213,238,258,275,299,312,331,350,372,381,396,418],{"key":214,"name_tr":215,"name_en":215,"sort":129,"specializations":216},"backend","Backend",[217,220,223,226,229,232,235],{"key":218,"name":219,"field":214},"general","Genel",{"key":221,"name":222,"field":214},"go","Go",{"key":224,"name":225,"field":214},"python","Python",{"key":227,"name":228,"field":214},"java","Java",{"key":230,"name":231,"field":214},"csharp","C#\u002F.NET",{"key":233,"name":234,"field":214},"nodejs","Node.js",{"key":236,"name":237,"field":214},"php","PHP",{"key":239,"name_tr":240,"name_en":240,"sort":173,"specializations":241},"frontend","Frontend",[242,243,246,249,252,255],{"key":218,"name":219,"field":239},{"key":244,"name":245,"field":239},"javascript","JavaScript",{"key":247,"name":248,"field":239},"typescript","TypeScript",{"key":250,"name":251,"field":239},"react","React",{"key":253,"name":254,"field":239},"vue","Vue",{"key":256,"name":257,"field":239},"angular","Angular",{"key":259,"name_tr":260,"name_en":260,"sort":261,"specializations":262},"fullstack","Fullstack",3,[263,264,265,266,267,268,269,270,271,272,273,274],{"key":218,"name":219,"field":259},{"key":221,"name":222,"field":214},{"key":224,"name":225,"field":214},{"key":227,"name":228,"field":214},{"key":230,"name":231,"field":214},{"key":233,"name":234,"field":214},{"key":236,"name":237,"field":214},{"key":244,"name":245,"field":239},{"key":247,"name":248,"field":239},{"key":250,"name":251,"field":239},{"key":253,"name":254,"field":239},{"key":256,"name":257,"field":239},{"key":276,"name_tr":277,"name_en":277,"sort":278,"specializations":279},"devops-cloud","DevOps \u002F Cloud",4,[280,281,284,287,290,293,296],{"key":218,"name":219,"field":276},{"key":282,"name":283,"field":276},"aws","AWS",{"key":285,"name":286,"field":276},"gcp","GCP",{"key":288,"name":289,"field":276},"azure","Azure",{"key":291,"name":292,"field":276},"kubernetes","Kubernetes",{"key":294,"name":295,"field":276},"terraform","Terraform",{"key":297,"name":298,"field":276},"linux","Linux",{"key":300,"name_tr":301,"name_en":301,"sort":302,"specializations":303},"ai-engineer","AI Engineer",5,[304,305,306,309],{"key":218,"name":219,"field":300},{"key":224,"name":225,"field":300},{"key":307,"name":308,"field":300},"llm-rag","LLM\u002FRAG",{"key":310,"name":311,"field":300},"mlops","MLOps",{"key":313,"name_tr":314,"name_en":315,"sort":316,"specializations":317},"database","Veritabanı","Database",6,[318,319,322,325,328],{"key":218,"name":219,"field":313},{"key":320,"name":321,"field":313},"postgresql","PostgreSQL",{"key":323,"name":324,"field":313},"mysql","MySQL",{"key":326,"name":327,"field":313},"mongodb","MongoDB",{"key":329,"name":330,"field":313},"redis","Redis",{"key":332,"name_tr":333,"name_en":334,"sort":335,"specializations":336},"mobile","Mobil","Mobile",7,[337,338,341,344,347],{"key":218,"name":219,"field":332},{"key":339,"name":340,"field":332},"ios-swift","iOS (Swift)",{"key":342,"name":343,"field":332},"android-kotlin","Android (Kotlin)",{"key":345,"name":346,"field":332},"flutter","Flutter",{"key":348,"name":349,"field":332},"react-native","React Native",{"key":351,"name_tr":352,"name_en":353,"sort":354,"specializations":355},"security","Güvenlik","Security",8,[356,357,360,363,366,369],{"key":218,"name":219,"field":351},{"key":358,"name":359,"field":351},"appsec","AppSec",{"key":361,"name":362,"field":351},"offensive-pentest","Offensive \u002F Pentest",{"key":364,"name":365,"field":351},"cloud-security","Cloud Security",{"key":367,"name":368,"field":351},"devsecops","DevSecOps",{"key":370,"name":371,"field":351},"blue-team-incident","Blue Team \u002F Incident",{"key":5,"name_tr":6,"name_en":373,"sort":374,"specializations":375},"QA \u002F Test Automation",9,[376,377,378,379,380],{"key":218,"name":219,"field":5},{"key":124,"name":125,"field":5},{"key":121,"name":122,"field":5},{"key":118,"name":119,"field":5},{"key":114,"name":115,"field":5},{"key":382,"name_tr":383,"name_en":383,"sort":384,"specializations":385},"data-engineer","Data Engineer",10,[386,387,390,393],{"key":218,"name":219,"field":382},{"key":388,"name":389,"field":382},"pipelines-etl","Pipelines \u002F ETL",{"key":391,"name":392,"field":382},"streaming","Streaming",{"key":394,"name":395,"field":382},"warehousing","Warehousing",{"key":397,"name_tr":398,"name_en":399,"sort":400,"specializations":401},"game-dev","Oyun Geliştirme","Game Development",11,[402,403,406,409,412,415],{"key":218,"name":219,"field":397},{"key":404,"name":405,"field":397},"unity-csharp","Unity (C#)",{"key":407,"name":408,"field":397},"unreal-cpp","Unreal (C++)",{"key":410,"name":411,"field":397},"gameplay","Gameplay",{"key":413,"name":414,"field":397},"graphics-rendering","Graphics \u002F Rendering",{"key":416,"name":417,"field":397},"multiplayer-netcode","Multiplayer \u002F Netcode",{"key":419,"name_tr":420,"name_en":420,"sort":421,"specializations":422},"ml-engineer","ML Engineer",12,[423,424],{"key":218,"name":219,"field":419},{"key":425,"name":426,"field":419},"classical-ml","Classical ML",[14,15,16],{"junior":429,"mid":431,"senior":432},{"questions":430,"median_sec":3},20,{"questions":430,"median_sec":3},{"questions":430,"median_sec":3},[10,434],"en",[436,437],"google","github",27600,true]