yoklateknik mülakat

QA / Test Otomasyonu Mq Native Frameworks Espresso Xcuitest Mülakat Soruları

75 doğrulanmış QA / Test Otomasyonu Mq Native Frameworks Espresso Xcuitest mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Mq Native Frameworks Espresso XcuitestZorluk 1
Espresso'da bir view ile etkileşim kurup onu doğrulamak için kullanılan standart yapı nedir?
  • aBulmak için onView(matcher), etkileşim için .perform(action), doğrulamak için .check(assertion)
  • bBulmak için onView(matcher), etkileşim için .assert(action), doğrulamak için .perform(assertion)
  • cBulmak için findElement(matcher), etkileşim için .click(action), doğrulamak için .verify(assertion)
  • dBulmak için waitFor(matcher), etkileşim için .tap(action), doğrulamak için .expect(assertion)
Açıklama:Espresso'nun kanonik zinciri onView().perform().check()'tir. Diğer seçenekler başka framework'lerin isimlendirmelerini karıştırır (Selenium tarzı findElement/click/verify, Detox tarzı waitFor/tap/expect) — bunlar Espresso'nun gerçek API'sinde yoktur.
Mq Native Frameworks Espresso XcuitestZorluk 2
Espresso enstrümante testleri AndroidJUnitRunner ile çalışır. Espresso'nun "in-process" çalışması ne anlama gelir?
  • aTest kodu, uygulamadan tamamen ayrı bir işletim sistemi sürecinde çalışır ve onunla IPC üzerinden konuşur.
  • bTest kodu, herhangi bir uygulama sürecinden izole olarak Android sistem sunucusu içinde çalışır.
  • cTest kodu ve test edilen uygulama aynı süreç içinde çalışır.
  • dTest kodu uzak bir test lab makinesinde çalışırken uygulama cihazda yerel olarak çalışır.
Açıklama:"In-process", test ile uygulamanın tek bir süreci paylaşması demektir; bu sayede Espresso uygulamanın UI thread'ine doğrudan ve senkron şekilde çağrı yapabilir — tanım budur. Diğer seçeneklerin hepsi out-of-process ya da altyapı seviyesinde bir model tarif eder, Espresso'nun yaptığı bu değildir.
Mq Native Frameworks Espresso XcuitestZorluk 2
Espresso, varsayılan olarak bir sonraki ViewAction'ı çalıştırmadan önce neyi bekler?
  • aHer action'dan önce otomatik olarak eklenen sabit 500ms'lik bir gecikmeyi
  • bHangi thread'den yapıldığına bakılmaksızın uygulamanın yaptığı herhangi bir ağ isteğini
  • cAna thread'in mesaj kuyruğunun ve kayıtlı AsyncTask pool'unun idle olmasını
  • dCihazın erişilebilirlik servisinin ekran içeriğinin sabitlendiğini bildirmesini
Açıklama:Espresso'nun varsayılan senkronizasyonu ana thread'in mesaj kuyruğunu ve AsyncTask thread pool'unu izler; sabit bir gecikme eklemez, kendi başına keyfi arka-plan thread ağ çağrılarını izlemez ve UI Automator tarzı araçlar gibi erişilebilirlik servisine bağımlı değildir.
Mq Native Frameworks Espresso XcuitestZorluk 2
Bir Espresso testi onView(withId(R.id.submit)) üzerinde NoMatchingViewException fırlatıyor. Bu en doğrudan neyi gösterir?
  • aEşleşen view var ama şu anda tıklanabilir durumda değil.
  • bO an görüntülenen hiyerarşide verilen matcher ile eşleşen hiçbir view yok.
  • cHiyerarşide, verilen matcher ile eşleşen birden fazla view var.
  • dUygulama süreci, instrumentation bağlanamadan önce çöktü.
Açıklama:NoMatchingViewException özellikle mevcut hiyerarşide sıfır eşleşme bulunduğu anlamına gelir. "Tıklanabilir değil" durumu PerformException olarak ortaya çıkar, birden fazla eşleşme ise NoMatchingViewException değil AmbiguousViewMatcherException fırlatır.
Mq Native Frameworks Espresso XcuitestZorluk 2
Bir Espresso action'ı, hedef view'in görüntülenmediğini bildiren bir PerformException fırlatıyor. Bu sana ne söyler?
  • aEşleşen view hiyerarşide var, ama Espresso istenen action'ı üzerinde gerçekleştiremedi.
  • bMatcher, verilen kriterlere uyan hiçbir view bulamadı.
  • cTest runner, test APK'sını hedef cihaza kuramadı.
  • dEspresso view'i tespit etti ama erişilebilirlik etiketi olan hiçbir view ile etkileşime girmeyi reddediyor.
Açıklama:Zaten eşleşmiş bir view üzerinde PerformException, view'in bulunduğu ama action'ın gerçekleştirilemediği anlamına gelir; yaygın sebep view'in yeterince görüntülenmemesidir. "Hiç eşleşme yok" durumu NoMatchingViewException'dır, bu değil.
Mq Native Frameworks Espresso XcuitestZorluk 3
Espresso'ya özel bir IdlingResource kaydetmenin temel amacı nedir?
  • aEspresso'nun varsayılan idle kontrollerini tamamen atlayarak test çalışmasını hızlandırmak.
  • bEspresso'nun varsayılan senkronizasyonunun izlemediği bir iş için ek bir meşgul/idle sinyali vermek.
  • cEspresso'nun herhangi bir view'i bulabilmesi için gereken erişilebilirlik ağacını üretmek.
  • dUI her idle olduğunda otomatik olarak ekran görüntüsü almak.
Açıklama:Özel bir IdlingResource, Espresso'nun devam etmeden önce dikkate aldığı şeyi genişletir — bir sinyal ekler; Espresso'nun mevcut kontrollerini kaldırmaz, erişilebilirlik ağacı üretmez ya da ekran görüntüsü almaz.

2400 soruluk QA / Test Otomasyonu bankasında kendini sına.

Mülakata başla