Qualità del Software

10
Progetto – Fase 3 Integrazione Strumenti UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA Corso di Laurea Magistrale in Informatica Corso di Controllo della Qualità del Software Anno Accademico 2008/2009 Carella Carmine Capra Pietro Amer Yeser

description

 

Transcript of Qualità del Software

Page 1: Qualità del Software

Progetto – Fase 3Integrazione Strumenti

UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCACorso di Laurea Magistrale in Informatica

Corso di Controllo della Qualità del SoftwareAnno Accademico 2008/2009

Carella CarmineCapra PietroAmer Yeser

Page 2: Qualità del Software

Analisi Requisiti-riassunto• Architettura del sistema divisa logicamente in

tre livelli: presentazione layer, business logic layer e data layer,

• Linguaggio object-oriented: Java• Progettazione e sviluppo per componenti con la

tecnologia EJB e anche l’uso di servlet secondo il modello MVC

• Processo di sviluppo iterativo

Page 3: Qualità del Software

Goal• Focalizzare l’attenzione su come le attività di controllo della

qualità del software individuate nella prima fase, si integrano nelle varie fasi del processo di sviluppo di Chipmunk computer.

• L’insieme delle attività compongono il nostro piano di qualità che è trasversale al nostro piano di sviluppo. Per quasi tutte le attività indichiamo il tool utilizzato per l’automazione.

• L’insieme dei tool compongono il nostro framework per il supporto dell’intero processo di qualità. Gli strumenti sono stati scelti in modo tale da creare un ambiente omogeneo e facilitarne l’integrazione tra essi

Page 4: Qualità del Software

Attività di qualità nel processo di sviluppo

• relazione tra il processo di qualità e il processo di sviluppo• attività di qualità non sono isolate ma trasversali a tutto il processo• processo di sviluppo influenza le attività di qualità

Page 5: Qualità del Software

Strumenti per ogni attività (1)• Verifica delle specifiche: non sono stati individuati strumenti

efficienti per l’automazione, si prevede che venga eseguita tramite ispezione manuale.

• Generazione Casi di Test: – creazione di tutti quei test che possono essere derivati dalle

specifiche (test funzionali). – strumento Concordion, in quanto tra quei pochi disponibili è

l’unico potente e facile da usare. Inoltre si integra con JUnit, utilizzato per il test strutturale, grazie al fatto che i casi di test sono generati in Java ; offre anche una buona documentazione ed i casi di test generati sono in un formato leggibile che li rende una buona forma di documentazione del sistema.

Page 6: Qualità del Software

Strumenti per ogni attività (2)• Analisi Statica:

– utile per analizzare il codice in modo esaustivo alla ricerca di bug patterns

– tool PMD perché:• si integra perfettamente in un IDE come Eclipse che

intendiamo utilizzare come ambiente di sviluppo, • effettua l’analisi statica di codice scritto in Java.

• Test Strutturale: – JUnit: il più usato e robusto strumento per i test di unità di

codice Java ed è alla base di numerosi altri strumenti. – Cactus: si basa su JUnit, è specializzato per il codice java lato

server (Servlets, EJBs, Tag Libs, Filters, ...), ed è utile per la nostra applicazione che sarà sviluppata a componenti Java (EJB) utilizzando anche le servlet.

Page 7: Qualità del Software

Strumenti per ogni attività (3)• Test Funzionale: Selenium

– Conversione dei test case in altri linguaggi come Java, per il riuso di tali casi di test con altri framework.

– E’facile da utilizzare e installare, ha un ottima automazione nella creazione dei casi di test ed è probabile una

– relazione con il tool concordion che genera i test case dalle specifiche in Java, che potrebbero poi essere eseguiti su più

• Test di Performance: Jmeter – Test su risorse statiche e dinamiche (come Servlet), – si presta particolarmente bene all’utilizzo sulla nostra web

application, per testare l’ambiente (web server) che ospiterà l’applicazione dopo il suo deployment. Questo tool è utile per valutare i requisiti non funzionali riguardanti le prestazioni e l’affidabilità della nostra applicazione.

Page 8: Qualità del Software

Strumenti per ogni attività (4)• Test di Sicurezza: Nikto, è un software per trovare diversi tipi di

problemi all'interno di webserver– Considerata la natura web-based del sistema e la presenza

di un web server, questo tool di scansione risulta utile per verificare i requisiti non funzionali riguardanti in particolare la sicurezza del web server coinvolto.

• Test Usabilità: questa attività viene eseguita tramite l’utilizzo di beta tester

Page 9: Qualità del Software

Strumenti per ogni attività (5)• Test Management e BugTracking:

– Bugtracking: BugZilla • strumento maturo, robusto e supportato dalla comunità ed adatto

per progetti anche di grandi dimensioni come il ChipMunk Computer.

– Test management: BugZillaTestopia • un estensione di BugZilla per la gestione dei Test Case che ci

permette di rilevare automaticamente i bug a partire dai fallimenti dei test effettuati (link tra i bug e test).

– Questi due tool utilizzati insieme formano un ambiente che supporterà il processo di qualità dalla prima fase di analisi dei requisiti fino alla manutenzione

Page 10: Qualità del Software

Framework

Concordion

PMD

JUnit

Cactus

Selenium

JMeter

Nikto

BugZilla

BugZilla Testopia

Eclipse