Sobes.tech
Middle

Cum se efectuează testarea părții backend a aplicației?

sobes.tech AI

Răspuns de la AI

Testarea backend include:

  1. Testarea API:

    • Verificarea funcționalității endpoint-urilor (operații CRUD, logică de afaceri).
    • Validarea solicitărilor și răspunsurilor (structură, tipuri de date, intervale de valori).
    • Teste de autorizare și autentificare.
    • Verificarea gestionării erorilor și excepțiilor.
    • Utilizarea instrumentelor precum Postman, Swagger, cURL.
  2. Testarea bazei de date:

    • Verificarea corectitudinii stocării și recuperării datelor.
    • Teste pentru schemele de date, restricțiile de integritate.
    • Verificarea tranzacționalității operațiunilor.
    • Teste de performanță ale interogărilor.
    • Utilizarea instrumentelor client de baze de date (SQL Developer, pgAdmin, DBeaver).
  3. Testarea integrărilor:

    • Verificarea interacțiunii backend-ului cu alte servicii, sisteme (gateway-uri de plată, API-uri terțe).
    • Teste pentru schimbul de date, formate (JSON, XML).
    • Verificarea gestionării erorilor în timpul interacțiunii.
  4. Testarea performanței:

    • Teste de încărcare - evaluarea comportamentului sub sarcină așteptată.
    • Teste de stres - determinarea punctului de eșec.
    • Teste de stabilitate/durată (soak testing) - identificarea scurgerilor de memorie și a degradării performanței.
    • Utilizarea instrumentelor precum JMeter, Gatling, Locust.
  5. Testarea securității:

    • Verificarea conform OWASP Top 10 (Injection, Broken Authentication, Sensitive Data Exposure etc.).
    • Teste de vulnerabilitate cu scanere (OWASP ZAP, Burp Suite).
    • Verificarea drepturilor de acces și a rolurilor.
  6. Testarea unitară și de integrare (dezvoltatori):

    • Teste unitare acoperă modulele/funcțiile individuale.
    • Teste de integrare verifică interacțiunea dintre module.

Pentru automatizare se folosesc framework-uri:

  • Java: Rest Assured, JUnit, TestNG.
  • Python: Requests, Pytest, Django Test Client, Flask Test Client.
  • JavaScript (Node.js): Jest, Mocha, Supertest.