I test che asseriscono che un utente non può eseguire un'azione hanno alcun valore?

3

Dato un sistema con permessi statici (1 permesso per ogni azione che può essere fatta: creare una risorsa, aggiornare una risorsa, ecc.) e ruoli dinamici (possono essere creati e assegnare permessi dinamicamente).

Il sistema ha una serie preconfigurata di ruoli con lo scopo di impostare e / o test iniziali. Questi possono essere cancellati o modificati dopo la configurazione iniziale, quindi "dinamici".

Quando agisce come utente con uno di questi ruoli preconfigurati su un test [funzionale / accettazione] per far sì che un caso d'uso funzioni correttamente, esegue test che asseriscono un utente con un ruolo che non ha il permesso di eseguire quel caso d'uso ha qualche valore?

    
posta Christopher Francisco 06.01.2017 - 16:37
fonte

3 risposte

9

Sì. Verifica che i ruoli siano presi in considerazione quando si verifica l'autorizzazione.

Verifica anche che l'autorizzazione per il ruolo sia stata impostata correttamente.

Si noti che si tratta di test delle unità del sistema di autorizzazione, non indipendentemente dall'operazione con l'autorizzazione. Pertanto, i test creeranno un ruolo e modificheranno le autorizzazioni e testeranno un'operazione (fittata) per verificare se l'autorizzazione viene effettivamente presa in considerazione.

Detto questo, un duo di test (uno con il permesso e uno senza il permesso) per ogni operazione per assicurarsi che l'autorizzazione sia cablata correttamente per quell'operazione è anche di valore.

    
risposta data 06.01.2017 - 16:48
fonte
2

Non so che questa domanda abbia una risposta affermativa sì / no. Ma ecco qui.

  • Stai testando il sistema o solo l'implementazione del codice? Se vuoi testare l'intero sistema, questo sembra un test di integrazione valido e valido. Se stai testando solo il tuo nuovo codice, allora vorrai creare dei test unitari che testino solo la tua nuova logica. Vedi i prossimi passi ...
  • Sembra che il tuo sistema abbia già autorizzazioni statiche che impediscono agli utenti di eseguire determinate attività. Se questo è il ruolo del sistema e non della tua applicazione, non lo includerei come test unitario.
  • La tua applicazione include la logica per controllare le autorizzazioni prima di eseguire il codice? Se il tuo codice contiene la logica per controllare le autorizzazioni e il tuo codice è responsabile del blocco di tali azioni, allora sì, quel test ha un valore e lo includerei.
risposta data 06.01.2017 - 16:50
fonte
2

Sono un utente del sistema di gestione stipendi della mia azienda. Posso vedere il mio stipendio, ma non posso modificarlo. Pensi che un test che si accerti di non poter modificare il mio stipendio sia utile? Sapere che il test fallisce sarebbe molto prezioso per l'azienda (e probabilmente porterà ad un po 'di panico).

    
risposta data 07.01.2017 - 15:10
fonte