Come migliorare questa procedura di test delle app Web?

1

Il mio capo aveva un'idea di semplificare i test per le dichiarazioni di tipo inglese in modo che anche i non programmatori potessero scrivere test. Abbiamo scelto Lisp come sintassi in cui scrivere i test. Questo framework di test è costruito per applicazioni web e utilizza Selenium.

Per sintassi simile all'inglese intendo che abbiamo tolto via la maggior parte dei dettagli tecnici in modo che i non programmatori possano scrivere facilmente test. Non devono preoccuparsi di cose banali come la registrazione, l'apertura delle istanze del browser, le librerie python, i report ecc.

Usiamo Python per interpretare i test scritti in una sintassi simile a Lisp, ottenere un output personalizzato da loro e poi darli da mangiare al selenio.

I test possono contenere dichiarazioni che fanno roba o semplicemente controllano qualcosa. Nient'altro. Diciamo che può fare clic su un pulsante, può controllare se ci sono 4 caselle di input, ecc. Non puoi dare alcuna condizione.

Ad esempio: - (visit "http://localhost:5000") (click (select "#searchButton")) (expect (select ".result") "count" 0) (expect (select "#resultcontainer") "contains" "Nothing Found")

Il test writer non può utilizzare cicli, se istruzioni e variabili come non vogliamo un linguaggio di programmazione. Solo dichiarazioni per fare cose o controllare cose.

Il problema che affrontiamo attualmente è gestibilità . Abbiamo scritto parecchi test per inserire nuove banconote in un database. Abbiamo anche test per verificare le funzioni di ricerca relative a tali fatture. Si prevede che i risultati della ricerca cambino, il che porterà a test falliti. Senza l'accesso ai condizionali, il tester deve essere esatto ogni volta.

Cose che ho considerato: -

  • Versione che controlla il database di sviluppo.
    Il framework di test funziona su Linux e Windows. Dovremo scrivere script che sostituiranno il database esistente con un database di test controllato dalla versione e quindi ripristinarlo dopo i test (o configurare l'app per utilizzare un database diverso). Avremo un lavoro extra quando eseguiremo le migrazioni nel database, dovremo migrare anche questo database. Tutti questi sono compiti banali ma non conosco un modo per farlo senza renderlo più complesso per le persone che non sono programmatori. Una volta che il database è tornato allo stato precedente, i test sarebbero eseguiti come previsto.

  • Specifica i passaggi da eseguire manualmente dal tester nella pagina dei risultati.
    Insieme ai risultati del display potrei disporre alcune istruzioni per essere seguito manualmente dal tester. Si prega di testare "x" e "y" manualmente. Crea nuove fatture con un cliente casuale ed eliminale .... & presto. Questo ha un lato negativo che stiamo per perdere tempo. Tra l'altro, i dettagli tecnici non sono un ostacolo.

Voglio un consiglio che mi possa aiutare con uno dei seguenti.

  • Alcune misure per controllare la versione e ripristinare un DB senza molto sforzo su Linux e su Windows. Usiamo PostgreSQL.
  • Pro e contro di cui non sono ancora a conoscenza.
  • Altre idee per migliorare questo processo.
posta Abhirath Mahipal 14.11.2016 - 10:54
fonte

0 risposte

Leggi altre domande sui tag