Come utilizzare le transazioni in QTP/UFT

⚡ Riepilogo intelligente

Transazioni in UFT Una misura di quanto tempo impiega una sezione scelta di un test a essere eseguita, tramite avvolgimentoping quei passaggi tra un'istruzione di inizio e un'istruzione di fine che riportano la durata nei risultati dell'esecuzione.

  • 🔘 Scopo: Una transazione viene calcolata su un singolo flusso aziendale, come ad esempio la prenotazione di un volo, anziché sull'intero processo.
  • ☑️ Inserimento: Il menu Inserisci aggiunge le istruzioni Inizio transazione e Fine transazione attorno alle fasi selezionate.
  • ✅ dichiarazioni: I metodi Services.StartTransaction e Services.EndTransaction svolgono la stessa funzione direttamente nell'Editor.
  • 🧪 risultati: Il report finale riporta nome, stato, durata totale e tempo perso.
  • ️ Nidificazione: Le transazioni possono essere annidate, ma due transazioni aperte non devono mai avere lo stesso nome.
  • ⚠️ Integrazione: LoadRunner e Business Process Monitor leggono solo i dati registrati all'interno di una transazione.

Come utilizzare le transazioni in QTP UFT

In UFT Un/QTPÈ possibile misurare il tempo necessario per eseguire una sezione del test definendo delle transazioni. Le transazioni vengono definite all'interno del test racchiudendo le sezioni appropriate del test tra le istruzioni di inizio e fine transazione.

Le transazioni possono essere inserite in qualsiasi punto dello script e non esiste un limite al numero di transazioni che possono essere aggiunte a un test.

⚠️ Denominazione del prodotto: lo strumento fornito come HP QuickTest Professional (QTP), è diventata HP e poi Micro Focus Unified Functional Testing, ed è venduta oggi da OpenText, le cui attuali pagine di aiuto lo chiamano OpenText Test funzionali. Le transazioni funzionano allo stesso modo in tutte queste versioni.

Come inserire transazioni in QTP?

Puoi anche inserire una transazione all'interno di una transazione

Il video seguente ti guiderà attraverso i passaggi per inserire una transazione in UFT Uno.

Clicchi Qui. se il video non è accessibile

Ad esempio, potresti voler annotare il tempo impiegato prenotare un volo.

  1. In QTPSeleziona lo stato appropriato in cui desideri avviare la transazione.
  2. Selezionare Inserisci inizio transazione. Avvia la finestra di dialogo della transazione Box apre
  3. Dai alla transazione un nome adatto, ad esempio "Ora di prenotazione"
  4. Nel test viene aggiunta un'istruzione di inizio transazione
  5. Seleziona lo stato in cui desideri terminare la transazione
  6. Fare clic su Inserisci > Termina transazione
  7. Finestra di dialogo Fine transazione Box Si apre con l'elenco di tutte le transazioni disponibili
  8. Fare clic su OK. Viene aggiunta un'istruzione di fine transazione
  9. Eseguiamo il test
  10. Nei risultati, l'estratto conto di fine transazione fornisce il tempo impiegato per inserire l'ordine

Nota: le stesse finestre di dialogo sono raggiungibili da Visualizzazione per parola chiavee il Passo Generator inserisce le stesse istruzioni senza aprire il menu Inserisci.

Dichiarazioni delle transazioni nell'editor

Le finestre di dialogo sopra scrivono due VBScript righe nel test. Typing Ricrearli autonomamente nell'editor è più veloce una volta che si ha familiarità con lo schema, ed è l'unica opzione quando i passaggi vengono generati tramite codice.

Services.StartTransaction "Booking Time"

' the steps that book the flight go here

Services.EndTransaction "Booking Time"

Entrambi i metodi appartengono all'oggetto Services. L'istruzione start accetta un argomento, mentre l'istruzione end ne accetta un secondo facoltativo.

dichiarazione argomenti Ciò che fa
Servizi.AvviaTransazione Nome Inizia la misurazione del tempo in quel punto della corsa
Servizi.FineTransazione Nome, [Stato] Interrompe la misurazione e registra il risultato

Lo stato facoltativo determina come viene valutata la transazione. Ometterlo equivale a passare Automatico.

  • Automatico — l'operazione viene eseguita correttamente a meno che non si verifichi un errore tra le due istruzioni. Questa è l'impostazione predefinita.
  • Passare — termina sempre con uno stato di Pass.
  • Fallire — termina sempre con uno stato di fallimento.
Services.StartTransaction "Booking Time"
Wait 1
Services.EndTransaction "Booking Time", Pass

Risultati della transazione di lettura

Una volta terminato il test, la fase "Fine transazione" nei risultati dell'esecuzione contiene quattro valori che spiegano la misurazione.

Campo dei risultati Significato
Nome della transazione Il nome fornito nell'istruzione di avvio
Stato finale Superato o non superato, deciso dall'argomento di stato o da Auto
Durata totale Tempo trascorso tra le istruzioni di inizio e fine
Tempo perso Tempo all'interno della durata che UFT Uno stesso ha aggiunto

Il tempo perso è importante perché lo strumento esegue processi in background mentre la transazione è aperta.traccalcolalo dalla durata totale per stimare quanto tempo avrebbe impiegato la sola applicazione, che è il dato che vale la pena confrontare tra le diverse build.

La durata di un singolo utente è un benchmark funzionale, non una cifra di carico. La concorrenza è misurata da un test delle prestazioni strumento, e una transazione che va bene per un utente può comunque fallire sotto un centinaio di utenti.

Transazioni annidate e distribuite

L'elenco dei passaggi sorgente indica che una transazione può essere contenuta all'interno di un'altra, ed è così che un sotto-passaggio lento viene isolato senza perdere la sincronizzazione dell'intero flusso. La transazione esterna continua a essere eseguita mentre quella interna si apre e si chiude.

Due regole garantiscono la sicurezza della nidificazione.

  • Ogni nome necessita di una coppia corrispondente e l'istruzione di apertura deve apparire prima dell'istruzione di chiusura.
  • Con un determinato nome può essere aperta una sola transazione alla volta. L'apertura di una seconda transazione con lo stesso nome comporta la chiusura della prima con stato "Errore".

Una transazione distribuita va oltre e comprende due test: Servizi.AvviaTransazioneDistribuita lo apre nel primo test e Servizi.FineTransazioneDistribuita lo chiude nel secondo, abbinato da un ID univoco anziché dal nome. Esiste per Business Process Monitor e LoadRunner scenari che leggono solo i dati registrati all'interno di una transazione e ignorano tutto ciò che si trova al di fuori di essa.

Quando un passaggio all'interno di una transazione può legittimamente fallire, associa la transazione a un scenario di recupero quindi l'esecuzione raggiunge l'istruzione end invece di fermarsiping a metà.

DOMANDE FREQUENTI

Una transazione segnala un risultato denominato con uno stato nei risultati dell'esecuzione e in LoadRunner. MercuryIl timer misura solo i millisecondi trascorsi all'interno dello script, che poi dovrai riportare o convertire tu stesso.

Cronometrare l'operazione non correlata con un MercuryIl timer viene impostato e il valore viene passato a Services.AddWastedTime. Il tempo sprecato viene detratto da ogni transazione aperta, quindi la durata riportata riflette solo il flusso in fase di test.

Un errore prima dell'istruzione end interrompe l'esecuzione per impostazione predefinita. Nel riquadro Esegui delle Impostazioni di test, impostare l'opzione di errore in modo da procedere al passaggio successivo, così che l'istruzione end venga comunque raggiunta e la transazione venga registrata.

Nella finestra LoadRunner Controller anziché nella finestra Risultati esecuzione. Vengono inviati solo i passaggi inclusi in una transazione, quindi tutto ciò che si trova al di fuori di una coppia inizio-fine non viene mai incluso nel report delle prestazioni.

Sì. Services.SetTransaction accetta un nome, una durata in secondi e uno stato, il che consente a uno script di registrare una misurazione calcolata autonomamente anziché una temporizzata dallo strumento.

I modelli di apprendimento automatico definiscono una base di riferimento per ogni transazione denominata in tutte le build e generano un avviso quando la durata si discosta dal suo intervallo normale, individuando una lenta regressione che un semplice stato di successo o fallimento nasconderebbe.

Sì. Le serrature scorrevoli portatili e i catenacci a superficie possono essere usati per mettere in sicurezza una porta a scomparsa dall'esterno. Alcuni kit con catena di sicurezza consentono anche il bloccaggio esterno con chiave o manopola girevole. Copilota GitHub completa la coppia Services.StartTransaction e Services.EndTransaction da un commento, anche se il nome della transazione e la costante di stato devono ancora essere verificati rispetto alla convenzione di denominazione in uso.

Non esiste un limite tecnico, ma una sola transazione per flusso aziendale mantiene il report leggibile. Decine di piccole transazioni seppelliscono il dato importante sotto un eccesso di rumore di misurazione.

Riassumi questo post con: