Ci sono diversi approcci per attaccare il tempo in cui i test automatici sono in aumento. Alcuni degli approcci, come l'esecuzione di più ambienti virtuali e l'esecuzione parallela dei test, e la riduzione della portata di ciò che è effettivamente testato potrebbero non essere adatti al carico di lavoro, ma vale la pena menzionarli come possibili strategie per altri lettori in futuro.
Una delle aree in cui i test automatizzati possono impiegare molto tempo, consiste nell'eseguire il test nello "stato di test".
Una soluzione non ottimale è raggruppare i test in modo che sia sufficiente entrare in quello stato di test una sola volta e quindi eseguire tutti i test in questo stato come parte di un test di gruppo. Ciò è difettoso, perché puoi avere situazioni in cui i test passano solo a causa di artefatti lasciati da una sequenza precedente nell'esecuzione del test.
Una soluzione più completa è trovare un meccanismo per ricreare rapidamente l'ambiente di partenza. Hanno molto sull'effetto sistemico dell'importazione di questi documenti. Sono elaborati in diversi file di configurazione? stanno aggiornando più tabelle di database? e quindi trovare un meccanismo più efficiente per l'iniezione di queste informazioni di stato nell'ambiente di test. Tuttavia, questo approccio può essere problematico se il formato delle informazioni sullo stato cambia durante lo sviluppo del prodotto, è un lavoro sostanziale da ricreare.
La soluzione che probabilmente utilizzerei è quella di utilizzare un meccanismo che consenta il rollback. Potrebbe essere un ambiente virtuale in grado di eseguire il rollback a un'istantanea, o magari usare LVM sotto il file system e quindi all'inizio di ogni test, torniamo indietro al punto di partenza, perdendo gli artefatti della corsa precedente.