I tester hanno accesso root o no, sulla VM personale, dato che gli sviluppatori fanno?

3

In un ambiente di sviluppo in cui gli sviluppatori hanno liberamente accesso root / admin ai loro VM di sviluppo personale è necessario impedire ai tester di integrazione di avere accesso root / admin nelle loro VM di test personali?

L'ambiente utilizzerà l'integrazione continua e la distribuzione continua e mira a seguire DevOps .

Naturalmente chiunque abbia accesso root / admin non dovrebbe accedere come root / admin in ogni momento. Questa domanda riguarda chi è autorizzato ad accedere ad entrambi gli account quando fanno il loro lavoro.

Gli sviluppatori hanno accesso root / admin in modo che possano configurare i propri VM personali per soddisfare le loro esigenze. Un tester che sta creando test dovrebbe essere in grado di fare lo stesso?

Questa domanda non riguarda se un test debba essere eseguito con i privilegi di root. Riguarda se una persona che scrive test deve chiedere a qualcun altro di configurare la VM personale che usa per creare i test.

Dai tester VM personali mi riferisco alla VM che usano per creare test di integrazione automatizzati. Quelli che uno sviluppatore dovrebbe essere in grado di eseguire sulla propria VM personale prima di controllare il codice.

    
posta candied_orange 30.03.2017 - 05:07
fonte

5 risposte

12

La situazione mi sembra abbastanza semplice: le persone hanno bisogno degli strumenti per svolgere correttamente il proprio lavoro. Se hanno bisogno di un accesso root, dovrebbero avere accesso root e dovrebbero essere considerati attendibili (e addestrati, se necessario) per usarlo in modo responsabile.

Allo stesso modo, se non hanno bisogno dell'accesso di root, non c'è motivo di darglielo.

    
risposta data 30.03.2017 - 13:39
fonte
6

Sebbene l'accesso root / admin alla macchina possa essere utile per l'impostazione dell'ambiente, i test dovrebbero essere eseguiti in modo da fare l'utente "normale" del prodotto. Nella maggior parte dei casi, ciò significa che deve essere utilizzato un account utente "normale" (che non esclude un account root aggiuntivo per l'installazione / configurazione). Se il sistema in prova ha una propria gestione dei diritti utente, i test con diritti utente bassi sono estremamente importanti. Nella mia esperienza, i bug peggiori e più difficili da trovare riguardano problemi con i diritti dell'utente.

Dal punto di vista del testing, i diritti di accesso generalmente concessi agli sviluppatori sono irrilevanti. La concessione dei diritti di root / admin ai tester è rilevante solo se devono eseguire attività che richiedono diritti così elevati (che potrebbe essere il caso per l'installazione e la configurazione). E dovrebbero essere consapevoli del fatto che quando si tempera con la configurazione della macchina, ciò potrebbe influire sui risultati dei test e produrre problemi di riproducibilità. Quindi, non concedere diritti elevati dovrebbe normalmente essere la strada da percorrere.

    
risposta data 30.03.2017 - 09:59
fonte
2

DevOps integra l'intero ciclo di vita del software, compresa l'amministrazione di sistema richiesta per le operazioni.

Poiché le operazioni possono includere attività di configurazione e configurazione del sistema (incluse attività che richiedono l'accesso root), alcuni tester di integrazione potrebbero aver bisogno di un accesso root (incluso per testare i server) per testare gli attributi di qualità previsti per le operazioni (es. operabilità). / p>

Ovviamente un sistema ha non solo le operazioni, ma anche gli utenti finali. Alcuni test di integrazione devono quindi verificare che le funzionalità degli utenti finali funzionino come previsto (ovvero senza accesso root: alcune volte le cose non funzionano altrettanto bene senza l'accesso come dovrebbero e questi problemi devono essere rilevati durante i test).

In breve: nulla parla contro l'accesso root per alcuni tester di integrazione, ma qualcosa sostiene che almeno alcuni tester di integrazione abbiano solo accesso all'utente finale (cioè: nessun accesso root, né sul proprio VM né sul server)

N.B: il fatto che gli sviluppatori abbiano accesso root o no è IMO irrilevante per la risposta

    
risposta data 30.03.2017 - 08:14
fonte
1

Direi che i tester hanno sicuramente bisogno di un accesso root, anche più degli sviluppatori.

Se lo vuoi o no, il tuo programma verrà eseguito in un ambiente elevato. Gli utenti sono proprio così.

Le possibilità per il tuo software di rompere le cose in modo spettacolare sono molto maggiori in un ambiente elevato, quindi limitato.

Quindi sì, i tester hanno bisogno di root per verificare se l'applicazione non fa cose cattive durante l'esecuzione come root.

Alla fine: devi testare sia in un ambiente limitato che in uno senza restrizioni.

    
risposta data 30.03.2017 - 16:35
fonte
0

Se la maggior parte dei clienti esegue il software non come utente root, il tester non dovrebbe eseguirlo come utente root. Potrebbero esserci dei bug che fanno funzionare il tuo software solo come root, e lo vuoi trovare prima di spedirlo ai clienti.

Se si sospetta che alcuni clienti possano essere eseguiti come root, potrebbe avere una macchina in cui si esegue il software come root - nel caso in cui il software esegua qualcosa di stupido che è impedito dalla mancanza di privilegi, ma causa danni come root. D'altra parte, le persone che corrono come root senza una buona ragione non hanno scuse.

    
risposta data 30.03.2017 - 20:50
fonte