Le operazioni di testing possono richiedere molto tempo e possono implicare ingenti costi per le imprese. Per questo motivo è di fondamentale importanza individuare sul mercato le migliori soluzioni disponibili, al fine di ridurre al minimo gli effort impiegati per testare le proprie applicazioni.
TestComplete di SmartBear centra appieno questi obiettivi: TestComplete, infatti, offre una piattaforma di test per creare, eseguire e mantenere in modo semplice test automatici per applicazioni software di tipo desktop, Web, mobile, e client-server, favorendo un’elevata riduzione dei tempi e dei costi dedicati alle operazioni di testing.
In questo webinar uno dei Testing Guru di Emerasoft mostra come sfruttare al meglio le potenzialità offerte dal testing automatico grazie all’utilizzo di TestComplete.
Guarda il webinar on demand: https://www.youtube.com/watch?v=N7aTTfSoREI
2. Agenda
• Il testing automatico
• La soluzione TestComplete
• Solution demo
• Q&A
Webinar: “Testing automatico: la scelta vincente per
ottenere una riduzione di tempi, costi ed effort”
OTTOBRE 2015
3. Chi siamo
Data di nascita: 2005
Dove siamo:
via Po, 1 – Torino
via del Poggio Laurentino, 118 - Roma
Creare valore per i nostri clienti
implementando soluzioni
che aumentano la produttività,
facilitando la collaborazione.
La nostra mission:
5. DevOps
IoT
System & Software Engineering
Testing
ALM
SOA
Process Intelligence
Business Intelligence
Security
Digital Publishing
Training
ALM+PLM
traceability
standard compliance
collaboration
Big Data
BYOD
User Experience
Quality
Enterprise Mobility
agile
IoD
IoH
Usability
API
BPM
Continuous DeliveryContinuous Integration
6. DevOps
IoT
System & Software Engineering
Testing
ALM
SOA
Process Intelligence
Business Intelligence
Security
Digital Publishing
Training
ALM+PLM
traceability
standard compliance
collaboration
Big Data
BYOD
User Experience
Quality
Enterprise Mobility
agile
IoD
IoH
Usability
API
BPM
Continuous DeliveryContinuous Integration
7. STRUMENTI
E SERVIZI
DI
SOFTWARE
TESTING
Test Automation web e mobile
Test Execution:
• Excel Integration
• Test Report KPI e SLA
Test di carico e di performance:
• Web
• Mobile
• Virtual environments (CITRIX; Oracle Forms)
• Gestione requisiti
• Configuration Management con
Subversion e Git
• Continuous Integration e deploy
con Jenkins
• DEVOPS
17. Cos'è e cosa serve
Vi sono due distinzioni fondamentali in ambito Testing
Functional Testing
ovvero quei test che verificano e validano il comportamento di un software, quindi “cosa fa” un sistema
Non - Functional Testing
ovvero quei test che verificano “come” funziona il sistema, e quindi test di stress, carico, affidabilità,
manutenibilità, usabilità e portabilità
18. Cos'è e cosa serve
Il Testing o Software Testing fa parte delle assicurazioni di qualità, ma non è l’unica
Debugging (lato sviluppo)
Profiling
Benchmarking
Sono altre assicurazioni di qualità che fanno parte dell’accezione comune di Software Testing
parleremo oggi di tutti gli aspetti legati alle assicurazioni di qualità
20. Il termine Software Testing,
è in informatica, il collaudo del software
Il quale è un procedimento, che fa parte del ciclo di vita del software,
utilizzato per individuare le carenze di correttezza, completezza e affidabilità
delle componenti software in corso di sviluppo.
Consiste nell'eseguire il software da collaudare, da solo o in combinazione
ad altro software di servizio, e nel valutare se il comportamento del software
rispetta i requisiti.
Cos'è e cosa serve
21. Cos'è e cosa serve
In generale, occorre distinguere i "malfunzionamenti" del software
"failure"
dai "difetti” del software
"fault" o "defect" o "bug”
22. Cos'è e cosa serve
Il malfunzionamento o "failure” è un comportamento del software
difforme dai requisiti espliciti o impliciti.
Il failure
Si verifica quando, in assenza di malfunzionamenti della piattaforma,
(hardware + software), il sistema non fa quello che ci si aspetta
Per esempio un link non corretto, una funzionalità assente
ma necessaria o tracciata in modo implicito o esplicito nei
requisiti del software
23. Cos'è e cosa serve
Il difetto o bug oppure defect, è una sequenza di istruzioni, sorgenti
eseguibili, che quando eseguita con particolari dati in input, genera
un malfunzionamento.
Il Bug o Defect
In pratica, si ha un defect, solo quando viene eseguita una specifica
procedura che contiene il difetto e solo se i dati di input sono tali da
evidenziare l’errore
Per esempio: un form in una web application che accetta
qualsiasi
parametro in input, come ?!”£$ etc, come per il campo “nome
utente” o “email”
24. Cos'è e cosa serve
Lo scopo del collaudo è di rilevare i defects tramite i malfunzionamenti,
al fine di minimizzare le probabilità che il software rilasciato
abbia dei malfunzionamenti nella normale operatività.
Nessun collaudo può ridurre a zero tale probabilità, in quanto le possibili
combinazioni di valori di input validi sono enormi, e non possono essere riprodotte
in un tempo ragionevole.
Tuttavia un buon collaudo può rendere la probabilità di malfunzionamenti abbastanza
bassa da essere accettabile dall'utente.
25. Cos'è e cosa serve
L'accettabilità di una data probabilità di malfunzionamento dipende dal tipo di applicazione.
Il software per cui è richiesta la massima qualità, è quello cosiddetto "life-critical", cioè in
cui un malfunzionamento può mettere a rischio la vita umana, come quello per
apparecchiature medicali o aeronautiche. Per tale software è accettabile solo una probabilità
di malfunzionamento molto bassa, e pertanto il collaudo è molto approfondito e rigoroso.
Per rilevare il maggior numero possibile di difetti, nel collaudo si sollecita il
software in modo che sia eseguita la maggior quantità possibile di codice con
svariati dati di input.
27. Il Functional testing
Il functional testing o test funzionale è un’attività che fa parte delle procedure di qualità
Si riferisce alle attività che verificano un’azione specifica o una funzione nell’applicazione.
Le azioni e le funzioni da testare sono generalmente derivabili in modo
diretto dai requisiti software.
29. In ingegneria, un requisito è una singolare e documentata necessità fisica e
funzionale che un particolare prodotto o servizio deve possedere.
E‘ comunemente usato nel senso formale nell’ingegneria dei sistemi, del software
engineering, o ingegneria aziendale.
Si tratta di un'istruzione che identifica un attributo necessario, capacità,
caratteristiche, o la qualità di un sistema per produrre un valore.
Il Functional testing
30. Il Functional testing
Saturn V
Per vincere la gravità terrestre, un vettore
deve raggiungere quella che viene chiamata
la “velocità di fuga”.
Questa velocità equivale a 11,2 km/sec.
Per esempio…
31. Il Functional testing
Il Requirement Based Testing
Si introduce durante la prima fase dello sviluppo software, dove la correzione degli errori ha un costo
inferiore;
Si introduce nella fase della raccolta dei requisiti, dove la maggior parte dei difetti hanno effettivamente
luogo;
Risponde in modo effettivo alla crescita della qualità dei requisiti: i requisiti inadeguati sono spesso la
ragione del fallimento del progetto;
Permette ai casi di test di evolvere, seguendo la volatilità dei requisiti stessi ed adeguandosi di
conseguenza.
Un approccio comunemente utilizzato per la creazione dei casi di test funzionali
è proprio quello di derivare questi test direttamente dai Requisiti
Questo processo prende il nome di Requirement Based Testing (RBT)
34. Il Functional testing
La scrittura e la definizione dei casi di test è fondamentale
È sempre necessario avere una quantità ragionevole di casi di test
Assicurandosi che questi test siano davvero efficaci per verificare le funzionalità, quindi i requisiti
Funzionalità
(requisito)
Test
Test
Test
35. Il Functional testing
Una corretta strategia è quindi di integrare la definizione dei
test durante il ciclo di vita e di sviluppo del progetto stesso, avendo
sempre in mente le specifiche ed i requisiti.
40. Supports users with multiple skill sets
Increased technical Skills
Dev Tester
Uses open source
• Selenium support
‒ JUnit, TestNG, PyUnit, Ruby, PHPUnit, & NUnit
‒ Scale tests w/o Selenium grid
‒ Report
‒ Get screenshots
Automation Engineer
Builds frameworks using TestComplete
• Multiple scripting language support
‒ VB, Jscript, C#, C++, Delphi, Python
• SCM integration
• Continuous Integration
Business Analyst / Manual Tester
Non-programmers
• Keyword-driven
• Record and replay
• Gesture capture
41. Defect
‒ Jira
Version Control
‒ Git
‒ Subversion
‒ Mercurial
Build, test, & deploy continuously
• DevTester
• QAEngineer
• BA/Manual Tester
• Unit
• Integration
• API
• Selenium
Sprint–Based Testing
• CI System Server
‒ Jenkins
‒ Bamboo
Run Tests
Developers
Backlog
Create test definations
‒ BDD
‒ Lettuce + TC
42. Use API integration to go underneath the
GUI to prevent false defects
API
Desktop
Mobile
Web
1
2
3
4
43. Tested and proven to work
• 10,000 + global customer base
‒ J.P. Morgan, Boeing, GE Healthcare, Cisco
• Presence in multiple verticals
‒ Finance, Aerospace, Healthcare, Telecom etc.
• Strong Performer in The Forrester Wave
• Visionary in Gartner 2014 Magic Quadrant for Integrated
Software Quality Suites
45. Contenuti disponibili su:
Canale slideshare di Emerasoft
Canale Youtube Emerasoft
www.emerasoft.com
www.emerasoft.com/servizi/qcloud
Q&A
?
What’s next
46. Segui i nostri
canali …
www.emerasoft.com
sales@emerasoft.com
Emerasoft Srl
via Po, 1 – 10124 Torino
via del Poggio Laurentino, 118 – 00144 Roma
T +39 011 0120370
T +39 06 87811323
F +39 011 3710371
Grazie…
Contatti
Hinweis der Redaktion
Contenuto del webinar: panoramica generale dei criteri di selezione dei prodotti e successiva descrizione tecnica dei prodotti di test.
Emerasoft si occupa di analizzare il mercato e di selezionare le migliori tecnologie per rispondere al meglio alle esigenze dei clienti.. Attraverso nuove metodologie e strumenti vuole favorire la crescita di modelli di Business e di Sviluppo più efficaci a costi e investimenti ridotti.
Some customer in Italy Market.
Quando un problema si può aggirare, non è un problema sensibile. L’esperienza ci ha insegnato che il problema diventa importante quando non è aggirabile
Approccio problem solving su problemi specifici anche se di grande impatto. Il Qcloud nasce per gestire in maniera specifica tutta una serie di problemi critici e non, prima che diventino emergenza.
Evitaimo che il problema di trasformi in situazione di emergenza continuativa, che crea costi indotti ed enormi effort di gestione.
Fattori che portano allo stato di emergenza:
il driver organizzativo: conseguente a cambi organizzativi o di processo.
il time to market: l’evoluzione tecnologica è tale da richiedere un delivery sempre più rapido. Le aziende hanno la necessità di aumentare i tempi e il numero dei rilasci.
il business: cambia sempre idea. I requisiti di progetto mutano in continuazione, anche durante lo sviluppo applicativo.
la tecnologia: evolve cambiando i linguaggi di programmazione e i framework utilizzati al supporto dello sviluppo
Gli strumenti e i supporti che devono agevolare gli uffici di test devono avere queste caratteristiche:
rapida configurabilità: cambiando il processo o l’organizzazione gli strumenti devono essere in grado di seguire questo processo in tempi rapidi.
dopanti: devono essere in grado di accelerare i tempi, ma senza creare overhead nella gestione dello strumento stesso.
Moderni: devono seguire l’evoluzione tecnologica per es. adatti a gestire tecnologie flex o flash
Collaborativi: in grado di far transitare le informazioni attraverso più ruoli dell’organizzazione. Ad esempio far dialogare il business con l’ufficio tecnico
L’applicazione di questi strumenti deve abbracciare ambiti orizzontali e ambiti verticali.
Per ambiti orizzontali si intendono tutte le discipline che coinvolgono più enti o un numero elevato di persone all’interno dello stesso processo o organizzazione.
Gli ambiti verticali hanno un altrettanto valore complessivo ma coinvolgono un gruppo molto ristretto di persone su un pezzo di processo molto piccolo.
Noi risolviamo problemi.
Con Polarion copriamo i problemi crosscompany e con gli altri risolviamo problemi e porzioni di processo specifici, quali configuration management, modeling, continuous delivery, test automation e di performance.