Întrebări și răspunsuri la interviu Junit [Pentru începători și cu experiență]

Publicat: 2020-09-22

JUnit este o soluție excelentă pentru dezvoltatorii care lucrează cu limbajul de programare Java. Poate fi folosit pentru a implementa testarea unitară, precum și testarea UI. Este una dintre cele mai căutate competențe pentru organizațiile care doresc să-și îmbunătățească calitatea codului și viteza de programare. Acest articol ar discuta întrebările standard ale interviului JUnit pentru a vă ajuta să vă pregătiți și să ajungeți pe lista scurtă!

Top 15 întrebări și răspunsuri la interviu JUnit

1. Ce este JUnit?

JUnit este un cadru folosit pentru efectuarea testării unitare a codului Java. Este considerat baza testării la nivel de dezvoltator pe motorul JVM. Prin urmare, JUnit este o parte integrantă a domeniului de programare și a dezvoltării bazate pe teste.

2. Ce înțelegeți prin testare și testare unitară?

Testarea este procesul prin care se verifică dacă aplicația îndeplinește cerințele și realizează funcționalitățile dorite. Testarea unitară se referă la evaluarea unei funcționalități individuale sau a unei unități a aplicației.

3. Faceți diferența între testarea manuală și cea automată.

Testarea manuală este executată fără scripturi de testare și necesită un efort uman dedicat pentru diferiții pași implicați. Pe de altă parte, testarea automată poate fi făcută fără asistență umană folosind instrumente tehnologice și programe software. Automatizarea testelor este mai ieftină și necesită mai puțin timp decât testarea manuală. De asemenea, testarea manuală este mai puțin fiabilă, deoarece nu poate fi programată.

4. Trebuie să scrieți un caz de testare pentru fiecare logică?

Un caz de testare este un cod care este scris pentru a stabili logica unui program. În JUnit, nu este necesar să scrieți un caz de testare pentru fiecare logică, ci numai pentru cele care pot fi întrerupte în mod rezonabil.

Un caz de testare unitară ar cuprinde o colecție de date de intrare și rezultate așteptate. Pachetul org.junit conține mai multe clase și interfețe pentru a vă ajuta în testarea unitară, cum ar fi Assert, Test, Before, After etc.

5. Menționați câteva exemple de instrumente cu care puteți integra JUnit?

JUnit este un cadru ușor de utilizat pentru dezvoltarea Java. Poate fi extins și integrat cu ușurință cu Eclipse IDE, Apache Ant și Maven.

6. Enumerați câteva extensii JUnit utile și explicați scopul lor.

Există patru extensii JUnit principale, și anume Cactus, JWebUnit, XMLUnit și MockObject. Am descris mai jos utilizările lor în detaliu.

  • Cactus: este un cadru pentru testarea codului Java de pe partea de server care implementează teste în interiorul unui container. Ecosistemul de cactus are două componente, și anume Cactus Framework și Cactus Integration Modules. Frame-ul este motorul care furnizează API-ul pentru scrierea testelor, în timp ce modulele de integrare se ocupă de front-end cu ajutorul pluginurilor.
  • JWebUnit: Acest cadru bazat pe Java oferă o interfață de testare unificată, combinând capacitățile HtmlUnit și Selenium. JWebUnit simplifică navigarea aplicațiilor web prin linkuri, validarea conținutului tabelului, introducerea și trimiterea formularelor și alte funcții. Pe lângă API-ul Java de nivel înalt, permite crearea rapidă a testelor cu afirmațiile sale gata de utilizare.
  • XMLUnit: oferă o singură clasă de extensie numită XMLTestCase. XMLUnit oferă, de asemenea, clase de sprijin care permit afirmații despre validitatea unei piese XML (clasa Validator), diferențele dintre două bucăți de XML (Diff și DetailedDiff), rezultatul transformării XML (clasa Transformer), printre altele.
  • MockObject: Când este imposibil sau impracticabil să includeți obiecte reale într-un test unitar, obiectele simulate se pot dovedi a fi o binefacere. Puteți simula comportamentul obiectelor complexe și le puteți încorpora cu următorii pași de codare:
  1. Creați instanțe de obiecte simulate
  2. Stabiliți starea și așteptările
  3. Invocați codul de domeniu folosind obiecte simulate ca parametri
  4. Verificați consistența

7. Cum testați metodele „protejat” și „privat”?

În metoda protejată, clasa de testare și clasa țintă sunt declarate în același pachet. Cu toate acestea, în metoda privată, nu există o modalitate directă de testare. Fie trebuie să vă schimbați metoda la „protejat”, fie să faceți testarea manual.

8. Ce se întâmplă în JUnit când tipul de returnare este „șir”?

În această situație, compilarea ar trece, dar execuția va eșua. Acest lucru s-ar întâmpla deoarece toate metodele de testare JUnit sunt concepute pentru a returna „void”.

9. Definiți (i) Fixtures (ii) Test Suit (iii) Test Runner (iv) JUnit Classs

(i) Fixările sunt folosite ca bază pentru executarea testelor, stabilind repetabilitatea rezultatelor. Un dispozitiv de testare cuprinde o stare fixă ​​a unui set de obiecte. Metodele includ:

  • setUp(): rulează înainte de o invocare de testare.
  • tearDown(): rulează după o metodă de testare.

(ii) Test Runner: execută cazurile de testare.

(iii) Clasele JUnit: Conțin metode care trebuie utilizate în scrierea și testarea JUnit-urilor.

(iv) Test Suite este un pachet sau o colecție de cazuri de testare unitară care se rulează împreună. Puteți rula un test de suită în JUnit fie cu @Suite, fie cu adnotarea @RunWith.

Citiți: Proiect de sistem de management al bibliotecii în Java

10. Menționați câteva adnotări JUnit utilizate frecvent.

Adnotările sunt pur și simplu meta-etichete pe care le puteți adăuga la codul dvs. Adnotarea @Test marchează o anumită metodă ca metodă de testare. Alte adnotări utile includ @Before, @BeforeClass, @After și @AfterClass și @Ignores. Pentru a implementa un test JUnit, ar trebui să cunoașteți importanța acestor adnotări. Deci, haideți să facem cunoștință cu ei unul câte unul.

  • Test: Această adnotare îi spune lui JUnit că poate rula metoda public void ca caz de testare. Practic este un înlocuitor pentru org.junit.TestCase
  • Înainte: Dacă doriți să executați orice instrucțiuni (de exemplu, precondiții) înainte de un anumit caz de testare, utilizați @Before. Această adnotare vă permite să rulați obiecte similare înaintea metodelor de testare.
  • Înainte de clasă: puteți utiliza adnotarea @BeforeClass în JUnit pentru a rula instrucțiuni înainte de toate cazurile de testare.
  • După: Determină rularea unor instrucțiuni după fiecare caz de testare, cum ar fi ștergerea fișierelor temporare, resetarea variabilelor etc.
  • After Class: Adnotarea @AfterClass vă permite să executați instrucțiuni după toate cazurile de testare. De exemplu, eliberarea tuturor resurselor după finalizarea execuției.
  • Ignorare: este folosit pentru a ignora anumite instrucțiuni în timpul execuției. De exemplu, dezactivarea cazurilor de testare.

Citiți și : Întrebări de interviu Java

11. Explicați diferitele tipuri de clase JUnit.

Assert, TestCase și TestResult sunt câteva dintre clasele vitale JUnit. Assert oferă metode pentru cazurile de testare. TestCase conține un caz de testare, care definește dispozitivul pentru a executa mai multe teste. TestResult include metode de colectare a rezultatelor.

12. Când scrieți un test unitar?

Într-un ciclu de dezvoltare tipic, testele unitare sunt scrise înaintea codului. Această practică le permite dezvoltatorilor să mențină calitatea codului lor.

13. De ce ar trebui să vă abțineți de la a utiliza System.out.printIn() pentru depanare?

Dacă utilizați System.out.printIn() pentru a vă depana codul, ar beneficia pe termen lung. De fiecare dată când programul este rulat, ar avea ca rezultat scanarea manuală a întregii ieșiri pentru a se asigura că codul funcționează corect. Deci, ar necesita relativ mai puțin timp pentru a codifica metodele JUnit și a efectua testarea fișierelor de clasă.

14. Unde se duce gunoiul de testare din JUnit?

Runnerul de testare deține referințele pe durata testului. În cazul unui test extins care are mai multe instanțe de testare, gunoiul poate să nu fie colectat până la sfârșitul testului. Putem folosi tearDown() pentru a colecta gunoiul înainte de finalizarea testului. În această metodă, setăm în mod explicit un obiect la null.

15. Cum instalezi Junit?

Primul pas este să descărcați JUnit 5, cea mai recentă versiune a JUnit (ar fi un fișier numit junit.zip). Ni se va cere să dezarhivăm fișierul de distribuție într-un director, %JUNIT_HOME%. Apoi, am adăuga JUnit la classpath.

Apoi, vom testa instalarea. Aceasta ar implica rularea probelor de teste (situate nu în fișierul junit.jar, ci în directorul de instalare) distribuite cu Junit. În cele din urmă, confirmăm că toate testele trec cu un mesaj „OK”. Dacă nu, ne-am întoarce și vom verifica dacă junit.jar se află în calea clasei.

Consultați: Cum să codificați, să compilați și să rulați proiecte Java

Concluzie

Cu întrebările de mai sus pentru interviul JUnit, vă puteți perfecționa conceptele în pregătirea pentru joburi de dezvoltator. Pozițiile precum Test Automation Engineer și Software Engineer includ, de asemenea, JUnit în setul de abilități dorit. Recruitorii doresc să vă evalueze cunoștințele tehnice și capacitatea de comunicare. Deci, conținutul răspunsului dvs. și modul în care îl prezentați ar face toată diferența.

Dacă sunteți interesat să aflați mai multe despre dezvoltarea de software full-stack, consultați UpGrad & IIIT-B PG Diploma in Full-stack Software Development, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte și misiuni, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Aterizează la locul de muncă visat

UPGRAD ȘI DIPLOMA PG LUI IIIT-BANGALORE ÎN DEZVOLTARE COMPLETĂ
Înscrie-te azi