I miei clienti sono responsabili dei test, di cosa ho bisogno per assumermi questa responsabilità?

5

Lavoro in una piccola impresa contraente facendo piccoli progetti personalizzati. Abbiamo questo problema continuo in cui il cliente vuole essere responsabile per testare la build finale per risparmiare un po 'di soldi. La maggior parte dei progetti legge da un file di un sistema e crea ordini o altro in un altro sistema. In questo modo il cliente può capire di poter eseguire alcuni file e assicurarsi che gli ordini vengano pubblicati correttamente.

Tuttavia, come potresti già prevedere, non fanno mai un ottimo lavoro. Inevitabilmente, l'ordine che vedono creato finisce per non apparire abbastanza corretto sul rapporto, o manca qualche bandiera che lo mantiene convertito in un lavoro, o qualsiasi altra cosa. Poi sono incolpato perché "il software non funziona". Certo, funziona. Funziona davvero bene. Rileva errori e scrive registri e fa tutto ciò che è stato chiesto di fare. È solo che hanno mancato un requisito, o hanno mancato la mancanza, perché non hanno fatto un test approfondito.

Aiutami qui. Vorrei prendere in carico i test per essere completo.

Come si chiama questo test di integrazione? E come lavoro con il cliente per assicurarmi che ogni scenario sia coperto? Ho bisogno di trovare un modo per disegnare da loro ogni possibile scenario in modo da poter consegnare loro la build finale e dire, (1) questo software funziona e (2) questo software funziona secondo le VOSTRE specifiche.

    
posta Price Jones 09.06.2017 - 02:08
fonte

4 risposte

6

We have this continual problem where the customer wants to be responsible for testing the final build to save some money

Suggerirei ai futuri clienti che non permetti loro di essere il tester esclusivo del software. In genere i clienti non hanno personale dedicato al QA e non hanno le qualifiche o l'esperienza per testare adeguatamente il software.

Per piccoli progetti, è spesso utile creare una specifica che descriva le caratteristiche del sistema. Insieme alle specifiche dovresti creare una suite di "test di accettazione". Questi sono test end-to-end del sistema che mostrano che funziona correttamente. Il cliente deve firmare sia le specifiche che i test di accettazione.

Gli unici test che il cliente dovrebbe essere responsabile della corsa sono i test di accettazione in modo che tu possa mostrare che il software funziona come concordato. Dovresti eseguirli anche tu stesso prima di consegnare il sistema.

Help me out here. I would like to take over testing in order to be thorough.

È un po 'difficile con il tuo progetto attuale, perché sembra che tu abbia stipulato nel contratto in qualche modo che non dovrai pagare il cliente per i test. Sarebbe comunque utile scrivere casi di test di accettazione insieme al tuo cliente in modo che tu possa essere d'accordo su come funziona un sistema funzionante. Fornisce inoltre un modo documentato per addebitare al cliente le modifiche ai requisiti.

Indipendentemente dal fatto che sia possibile fatturare il client per il test, suggerisco comunque di scrivere test unitari e test di integrazione automatici e test di accettazione. Forse non puoi fatturare questo cliente per quel lavoro, ma vale comunque la pena farlo perché aumenterà le tue possibilità di successo del progetto, e darà al tuo cliente la ragione per chiedere più della tua attività. Dopo questo progetto puoi apportare la modifica della politica che ho suggerito sopra.

L'altra opzione è che provi a negoziare una modifica al contratto in modo che tu possa essere pagato per testare il tuo software. Sembra che tu abbia delle prove per giustificare questo cambiamento, e il cliente potrebbe esserne a suo agio.

    
risposta data 09.06.2017 - 02:32
fonte
3

Hai scritto che il tuo software funziona bene a livello tecnico, ma hai il problema dei requisiti mancanti e cerchi di risolvere questo problema prendendo la responsabilità dei test lontano dal cliente? Veramente? A me sembra che al momento non riceviate abbastanza feedback da parte dei clienti e provate a risolvere questo problema riducendo ulteriormente il feedback dei clienti , giusto?

Mi spiace, ma ovviamente non può funzionare.

Ecco un approccio migliore: attribuisci al cliente più responsabilità, concentrandosi sui test di accettazione . Scrivi alcune cose sulla quantità di test che devono eseguire nel contratto , richiedi un protocollo per ogni test e rendi chiaro dopo aver accettato una funzione non lagnandoti nel protocollo, lo faranno Devo pagare un costo aggiuntivo quando vogliono una modifica in seguito. Il contratto può anche contenere qualcosa sul cliente che fornisce a una o più persone che eseguono i test regolarmente e in tempo, in cicli definiti.

Puoi star certo che se i test sciatti costeranno i soldi dei tuoi clienti, lo prenderanno più sul serio.

    
risposta data 09.06.2017 - 08:42
fonte
1

Suppongo che tu non abbia l'installazione per eseguire il test finale, che verrebbe chiamato test di integrazione. Se non è facile ottenere una copia di quel sistema sul tuo sito per qualsiasi motivo, puoi parlare di avere un contatto a cui puoi lanciare le versioni ogni giorno e farle fare test più frequentemente, nelle prime fasi del ciclo di sviluppo . Si sentiranno più coinvolti e responsabili e qualsiasi bug rilevato non avrà un tale impatto perché ci stai ancora lavorando, non dovrebbe funzionare ancora. Una volta che è il momento di consegnare per davvero, tutti dovrebbero essere sicuri che sia OK e non ci saranno sorprese.

    
risposta data 09.06.2017 - 07:28
fonte
1

Solo perché il cliente desidera eseguire i propri test, non significa che ti allevia dal test di accettazione prima di rilasciare un rilascio.

La tua azienda ha bisogno di un processo e parte di tale processo è che non rilasci software al cliente a meno che non abbia superato i test di accettazione interni. Questo test di accettazione verifica che ogni requisito del cliente sia soddisfatto.

Non è possibile per il cliente assumere la responsabilità del test di accettazione senza creare impatti significativi per il team di sviluppo e non richiedere diverse iterazioni di release man mano che i bug vengono scoperti e risolti durante i test di accettazione.

Pertanto, il cliente non può semplicemente escluderlo dal contratto per evitare i costi. I costi saranno ancora lì (in un modo o nell'altro) per gli sviluppatori. Nella migliore delle ipotesi, ci sono probabilmente alcuni costi per la contabilità e il testing che il cliente potrebbe risparmiare.

    
risposta data 09.06.2017 - 18:17
fonte

Leggi altre domande sui tag