Esperienza effettiva di membri del team non tecnico che scrivono il codice del selenio: non è andato bene
In realtà abbiamo avuto questa situazione in cui abbiamo avuto un membro del team non tecnico (in questo caso, un SQA senza background di programmazione). Questo purtroppo non è andato molto bene.
Registra e gioca i test non mantenibili creati
Prima il nostro team aveva provato gli strumenti di registrazione e riproduzione, ma come altri hanno detto, i test che genera sono molto fragili e difficili da mantenere. Il nostro SQA finì per cadere in un modello di registrazione di un test ogni volta che è cambiato, il che non era poi così efficiente, specialmente quando un cambiamento ha rotto la maggior parte dei nostri test (abbiamo avuto una modifica alla pagina principale del nostro sito che ha rotto circa 60 % dei nostri test).
Senza l'aiuto di quelli con uno sfondo di programmazione, il codice scritto manualmente era orrendo
Abbiamo scritto i nostri test sul selenio in Java e lo SQA non aveva mai usato Java prima, quindi lo stava imparando da solo. Abbiamo scoperto che i test si concludevano con alcune pratiche di programmazione davvero scadenti:
- Uso di variabili statiche pubbliche quando avrebbero dovuto essere effettivamente variabili di istanza private
- Avere blocchi di codice che non hanno fatto nulla
- Un sacco di Thread.sleep () invece di usare WebDriverWait perché non riusciva a capire come scrivere condizioni personalizzate
- Test unitario davvero imbarazzante: ho visto un bel po 'di
assertTrue(false)
di righe per terminare un test
- Nomi di variabili scadenti
- Soppressione delle eccezioni che avrebbero dovuto essere gestite (o impedite in precedenza)
- Test che sono passati indipendentemente dall'input che hai usato
- Alcuni codici che non abbiamo mai capito e abbiamo appena finito di riscrivere
Quando sono arrivato nel team, lo SQA originale era uscito e l'esecuzione di qualsiasi test ha comportato una serie di eccezioni console che ci è stato appena detto di ignorare. Dopodiché, abbiamo finito col coinvolgere gli sviluppatori e riscrivere in maniera massiccia gran parte del codice per farlo funzionare correttamente, essere manutenibile e facile da capire.
Se hai persone non tecniche che scrivono il codice selenio, chiedi a un tecnico di aiutarle
Penso che alcuni di questi problemi avrebbero potuto essere evitati se avessimo avuto qualcuno che fosse tecnico e li aiutasse. Se avessero spiegato perché le variabili statiche pubbliche dovrebbero invece essere variabili di istanze private, o come funziona JUnit, o come utilizzare WebDriverWait, o perché lo scattering di Thread.sleep () in giro ovunque sia cattivo, potremmo avere un codice migliore.
Ma, come è, siamo finiti con un codice che alla fine è stato irraggiungibile e, alla fine, abbiamo appena riscritto la maggior parte di esso, con un notevole spreco di tempo e denaro.