Domanda

Sono nuovo di garanzia della qualità del software. Mi è stato detto dal mio capo per scoprire come siamo in grado di andare su di esso nella nostra azienda. Si prega di qualcuno potrebbe dirmi che cosa la garanzia della qualità del software è tutto e che l'open source strumenti potrei usare per la garanzia della qualità del software.

È stato utile?

Soluzione

Si potrebbe provare a leggere i blog di "grande e il bene", gente come Martin Fowler su ciao 'Bliki' e Robert Martin Blatherings di zio Bob ... e ormai defunta Joel on Software Joel Spolsky. Tutto bene per i pareri su ciò che la qualità è di circa.

Al momento usando Java e strumenti come Macker e Findbugs per verificare la correttezza del codice e l'aderenza alle linee guida.

Per la ripetibilità e piacere gestione, unit test eseguiti automaticamente da un server di build, come Hudson e Cruise Control sul codice estratto da un sistema di controllo del codice sorgente è una buona idea. Si darà anche i 'poteri forti' alcuni parametri in modo da poter mostrare come il vostro codice costruzione, collaudo, ecc.

In definitiva però si tratta solo verso il basso per brave persone che si preoccupano di quello che stanno facendo.

Altri suggerimenti

Si tratta di test, test, test. Ci sono molti strumenti che possono aiutare a raggiungere questo obiettivo, come Unit Testing quadri, analizzatori di codice, profiler di memoria, ecc Gli strumenti si usa dipende dalla piattaforma di linguaggio di programmazione e sviluppo i vostri usi aziendali per il suo software.

Mentre gli altri hanno detto, il test è una parte essenziale di QA software. Ma sono sorpreso che nessuno ha ancora citato revisioni del codice. Date un'occhiata come è possibile integrare le revisioni del codice tra pari nel tuo processo di sviluppo; si tratta di un ottimo modo per migliorare la qualità del codice e condividere conoscenze in tutta la squadra. La prima si verifichi un problema, più facile e più economico è quello di risolvere il problema, in modo da prendere in considerazione una revisione del codice per ogni modifica del codice sorgente.

Se volete un'introduzione eccellente e approfondita per QA, leggere parti II e V della codice completo da Steve McConnell . In realtà, leggere tutto questo - fornisce esempi pratici di come migliorare la qualità del codice, e le metriche (che è possibile mostrare al management) che spiegano i vantaggi di diverse tecniche di QA

.

I capitoli che ho citato comprendono argomenti quali:

  • Design concetti e pratiche per migliorare la qualità
  • routine di alta qualità
  • programmazione difensiva
  • programmazione Pseudocodice
  • Tecniche per migliorare la qualità del software (compresa una valutazione dell'efficacia relativa)
  • Quando fare Quality Assurance
  • costruzione collaborativa (compresi pair programming, controlli di codice)
  • test Developer
  • Debug (tra cui considerazioni psicologiche)
  • refactoring
  • strategie e tecniche Codice-tuning

Per citare Principio generale di McConnell di software di qualità:

  

Il miglioramento della qualità riduce i costi di sviluppo

E 'anche sul processo di validazione che viene utilizzato. È possibile provare il software per tutto il giorno, ma se non sai quello che è destinato a fare e ciò che il risultato atteso è che si potrebbe essere alla prova per la cosa sbagliata del tutto. C'è un vero e proprio libro bene che delinea un quadro solido per cominciare (che tratteremo anche i requisiti ISO se la vostra azienda è certificata ISO): http://www.amazon.com/Computer-System-Management-Validation-Cycle/dp/1932828095

Come Bernardo dice in precedenza, è necessario fare dei test. Se si sviluppa in Java, è possibile utilizzare JUnit (NUnit funziona in modo simile a Net). Unit testing è solo l'inizio, però, si potrebbe guardare gli strumenti di copertura del codice a dare un indicazione di come completare il test di unità è (strumenti open source EMMA e Cobertura forniscono questo per Java). Si potrebbe anche usare Hudson automaticamente eseguire questi test ogni volta che un cambiamento è verificata nel vostro albero dei sorgenti (Hudson vi darà un'indicazione di come stabile vostri sviluppi sono, un sacco di fluttuazioni dei tassi di passaggio di casi di test indicano che si sta facendo un sacco di rottura cambia per esempio).

Dopo di che, si poteva guardare qualcosa di simile Findbugs per Java per individuare le pratiche ingannevoli. Se si utilizza Eclipse per lo sviluppo Java è possibile ottenere le metriche plugin per eseguire vari altri pezzi di analisi sul codice, ma è necessario sapere che cosa queste metriche in realtà indicano.

In ultima analisi, la qualità del vostro prodotto sarà definito da se è possibile introdurre in modo affidabile le modifiche che consentano di raggiungere il loro obiettivo senza causare regressioni. Gli strumenti di cui sopra sono solo l'inizio, ci vuole molto tempo per diventare bravi a testare (io non ci sono io), ma se si introducono gli strumenti e le pratiche per l'organizzazione si può lavorare su di essa da lì.

In generale, Non cadere nella trappola di pensare comune si tratta di un IT-personale unico problema. Chiaramente non volete bug nel codice, e ci sono un numero qualsiasi di strumenti / processi che aiutano con quello - QA è in realtà un processo di portata più ampia. Come accennato in precedenza da DBA_Alex, è necessario sapere quale problema si sta risolvendo per il business con il software, e alla fine della giornata, gli organi aziendali bisogno di essere coinvolti a rispondere a questa domanda. Assicurati che il tuo soluzione end comprende persone sia da IT e business ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top