TSM - Optica QE prin lentila AI

Marcela State - Engineering Manager @ Cognizant


La fel cum lentilele concentrează lumina pentru a dezvălui o imagine clară, AI-ul clarifică viziunea asupra QE (Quality Engineering), aducând în prim-plan perspective neclare. Rama care ține lentila este la fel de importantă, deoarece cadrul potrivit este necesar pentru o perspectivă echilibrată și cuprinzătoare în viziunea Quality Engineering. Așa cum lentilele trebuie îndreptate cu atenție pentru a capta subiectul, ghidarea AI cu așteptări clare asigură o perspectivă concentrată și perspicace asupra QE.

Fig 1. Evoluția AI în QA

Călătoria inteligenței artificiale în QA (Asigurarea Calității) a fost una de evoluție constantă, transformând modul în care software-ul este testat și validat. De la începuturile sale în 2016, când AI a fost introdus pentru prima dată pentru a optimiza procesele QA, până în prezent și dincolo, unde AI joacă un rol important în asigurarea atât a calității, cât și a conformității aplicațiilor inteligente, această transformare a remodelat industria.

Pe măsură ce AI s-a maturizat, rolul său s-a extins dincolo de simpla susținere a QA, devenind o parte integrantă a asigurării că sistemele bazate pe AI sunt adecvate scopului. Inteligența artificială generativă a deschis noi frontiere, revoluționând automatizarea testelor, în timp ce certificările de reglementare au devenit esențiale pentru a garanta fiabilitatea și încrederea în AI.

Această evoluție a urmat o traiectorie clară, de la incubație la scalare și, în final, la industrializare, fiecare fază marcând o integrare mai profundă a AI în fluxurile de lucru QA. Pe parcurs, au apărut capabilități cheie, cum ar fi optimizarea testelor, generarea automată de scripturi și date, QA bazată pe feedbackul din producție, validarea modelelor AI și certificări pentru AI de încredere. Peisajul QA nu mai este doar despre găsirea erorilor, ci despre modelarea sistemelor bazate pe AI care sunt eficiente, conforme și pregătite pentru viitor.

Fig. 2. Utilitatea GenAI pentru QA

În domeniul QA, a rămâne în frunte înseamnă adesea a găsi modalități inteligente de a menține calitatea ridicată fără a încetini livrarea. Inteligența artificială generativă (GenAI) nu este doar un cuvânt la modă, ci un factor de schimbare pentru echipele QA.

Prin preluarea sarcinilor repetitive și adăugarea de inteligență la testare, GenAI ajută testerii să se concentreze pe ceea ce contează cel mai mult: livrarea de software impecabil.

Iată o privire mai atentă asupra modului în care acest lucru se desfășoară în scenarii din lumea reală.

Provocarea proiectării cazurilor de testare: Acum este un lucru de domeniul trecutului

De obicei, ar trebui să parcurgi cerințe nesfârșite, să-ți dai seama de modurile în care utilizatorii ar putea interacționa și să scrii scenarii detaliate. Dar cu GenAI, întregul proces devine fără efort și se desfășoară sub o presiune de timp mult mai mică pentru a livra.

AI poate identifica cazuri limită și scenarii pe care testerii umani le-ar putea trece cu vederea din cauza lipsei de timp dedicat.

Exemplu

O companie de comerț electronic de dimensiuni medii a folosit GenAI pentru a analiza User Stories și a genera cazuri de testare (Test Cases) pentru un nou flux de finalizare a comenzii. AI-ul nu a acoperit doar scenarii tipice, cum ar fi achizițiile cu succes, ci și scenarii excepționale, cum ar fi aplicarea cupoanelor expirate sau testarea în condiții de încărcare mare a serverului.

De asemenea, ar putea analiza suitele de teste existente pentru cazuri de testare învechite sau pentru unele cazuri de testare care necesită actualizări pe baza noului design al fluxului de checkout.

Rezultatul? Utilizarea GenAI ca accelerator pentru QE a redus efortul manual cu 30% și a îmbunătățit acoperirea testelor.

Potențialul? Beneficiile maxime pot crește semnificativ, în funcție de capacitatea de a valorifica GenAI fără a pierde controlul.

Exemplu de Test Case generat:

Test Case ID: TC-CHK-001

Titlu: Achiziție finalizată cu succes, prin intermediul unei plăți valide.

Rezultate: vezi Tabelul 1

Pas de test Rezultat
1. Navigați la pagina de checkout Pagina de checkout se încarcă cu
succes, afișând rezumatul coșului și
opțiunile de plată.
2. Introduceți detalii de livrare Detaliile de livrare sunt acceptate și
valide nu apar erori de validare.
3.Selectați o metodă de plată validă Metoda de plată selectată este
(de ex., card de credit) evidențiată și pregătită pentru
procesarea plății.
4. Aplicați un cod de reducere valid Reducerea este aplicată, iar prețul
(dacă este cazul) total este actualizat corespunzător.
5. Faceți clic pe “Plasați comanda” Plata este procesată, iar sistemul
redirecționează către pagina de
confirmare a comenzii.
6. Verificați că pagina de confirmare a Pagina de confirmare apare cu detaliile
comenzii este afișată comenzii, inclusiv ID-ul comenzii, suma
totală și data estimată a livrării.
7. Verificați detaliile comenzii în Comanda este listată în istoricul
istoricul comenzilor utilizatorului comenzilor utilizatorului cu detaliile
corecte.

Generarea datelor de testare: O potrivire perfectă pentru GenAI

Puterea unui Test Case bun vine dintr-un set de date de testare la fel de solid. Crearea de date realiste și diverse poate fi la fel de provocatoare ca testarea în sine. GenAI simplifică acest proces prin:

Exemplu

O nouă funcționalitate a unei aplicații implică un proces de clasificare în mai multe categorii. GenAI analizează și completează seturile de date existente, asigurând acoperirea Boundary Value Analysis fără a adăuga date redundante.

Rezultatul? Acoperirea și optimizarea adecvată a datelor de testare este realizată cu un efort minim din partea inginerilor.

Scripturi de automatizare: Transformarea complexității în simplitate interconectată

Testarea automată necesită, de obicei, ingineri specializați pentru a scrie și a întreține scripturi, dar GenAI eficientizează acest proces. Acum, chiar și persoanele fără experiență în coding pot descrie scenarii de testare în limbaj natural și genera scripturi automate funcționale (ex. Selenium). Totuși, validarea umană rămâne esențială.

Exemplu:

În timp ce o nouă funcționalitate este introdusă într-o aplicație, o altă funcționalitate existentă este actualizată. GenAI poate fi utilizată pentru a crea un punct de plecare atât în acoperirea noii funcționalități, cât și în actualizarea Test Case-urilor pentru funcționalitatea modificată.

Rezultatul? Inginerul de automatizare poate începe cu o bază de cod generată de AI.

Cod Java cu Selenium generat pe baza Test Case ID: TC-CHK-001

{
  // ...
  @Test(
    testName="Successful Purchase with Valid Payment"
    , description = "[AI Generated] TC-CHK-001"
    , groups = {"GenAI", "Checkout"})

  public void testSuccessfulCheckout() {
    // Prerequisites: Sign in / load item to cart
    loginPage.signInWith(
      TestData.DEFAULT_VALID_USER);

    productPage.loadPage(TestData.DEFAULT_PRODUCT);
    productPage.addItemToCart();

    // Step 1: Navigate to login page and sign in 
    //with valid credentials
    checkoutPage.loadPage();

    // Step 2: Enter valid shipping details
    CheckoutPage.enterShippingDetails(
      TestData.DEFAULT_PURCHASE_DETAILS);

  // Step 3: Select a valid payment method (e.g., 
  //credit card)
  CheckoutPage.enterPaymentDetails(
    TestData.DEFAULT_PURCHASE_DETAILS);

  // Step 4: Apply a valid discount code 
  // (if applicable)
  CheckoutPage.applyVoucher(
    TestData.DEFAULT_PURCHASE_DETAILS);

  // Step 5: Click on "Place Order"
  CheckoutPage.clickPlaceOrderButton();

  // Step 6: Verify order confirmation page 
  // is displayed
  AssertUtils.pageIsDisplayed(
    OrderConfirmationPage.class, 
    Errors.build(ErrorMessages.PAGE_IS_NOT_DISPLAYED, 
    OrderConfirmationPage.class));

  // Step 7: Check order details in user 
  // order history
  orderHistoryPage.loadPage();
  AssertUtils.isTrue(
    orderHistoryPage.checkContainsNewOrder(
      TestData.DEFAULT_PRODUCT, 
      TestData.DEFAULT_PURCHASE_DETAILS), 
        Errors.build(ErrorMessages
          .ORDER_HISTORY_DOESNT_CONTAIN_NEW_ORDER, 
          OrderConfirmationPage.class)
      );
    }
    // ...
}

Un cuvânt de precauție: Provocări de luat în considerare

Deși beneficiile sunt evidente, GenAI nu este perfectă și necesită:

Studiu de caz end-to-end

Fig 3. Impactul GenAI

Integrarea GenAI în generarea Test Case-urilor eficientizează procesul prin reducerea efortului manual, automatizarea extragerii scenariilor și permiterea validării, ducând la economii de aproximativ 20% din efortul total.

GenAI nu este doar un instrument, ci un partener pentru echipele QA care urmăresc excelența. Prin automatizarea sarcinilor și oferirea de perspective inteligente, AI le permite testerilor să se concentreze pe strategie și creativitate. Fie că faci parte dintr-un start-up sau dintr-o companie mare, adoptarea GenAI ar putea fi pasul care vă diferențiază într-un peisaj competitiv.

Așadar, pe măsură ce lumea testării software evoluează, întrebarea nu este dacă ar trebui să adoptați GenAI, ci cât de curând puteți începe și cum se poate încununa cu succes adoptarea.

Referințe:

  1. https://www.cognizant.com/us/en/services/software-engineering-services/flowsource

  2. https://www.youtube.com/watch?v=cLuGhM2_Xf0