webinar: “testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed...

46
Emerasoft srl Mission Vision Market & Solutions Monica Burzio Mauro Della Toffola

Upload: emerasoft-solutions-to-collaborate

Post on 11-Jan-2017

313 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

•Emerasoft srl•Mission•Vision•Market & Solutions

Monica BurzioMauro Della Toffola

Page 2: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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

Page 3: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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:

Page 4: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Alcuni clienti

Page 5: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

DevOpsIoT

System & Software Engineering

Testing

ALM

SOAProcess Intelligence

Business Intelligence

Security

Digital Publishing

Training

ALM+PLMtraceability

standard compliance

collaboration

Big Data

BYOD

User Experience

QualityEnterprise Mobility

agileIoD

IoH

Usability

APIBPM

Continuous Delivery Continuous Integration

Page 6: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

DevOpsIoT

System & Software Engineering

Testing

ALM

SOAProcess Intelligence

Business Intelligence

Security

Digital Publishing

Training

ALM+PLMtraceability

standard compliance

collaboration

Big Data

BYOD

User Experience

QualityEnterprise Mobility

agileIoD

IoH

Usability

APIBPM

Continuous Delivery Continuous Integration

Page 7: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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

Page 8: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Problem ?

Page 9: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Problem solv ing

Page 10: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”
Page 11: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

ORGANIZZATIVI

TTMBUSINESS

TECNOLOGIA

Page 12: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

rapida configurabilità

dopanti

moderni

collaborativi

ORGANIZZATIVI

TTMBUSINESS

TECNOLOGIA

Page 13: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

ORGANIZZATIVI

TTMBUSINESS

TECNOLOGIA

Ambiti orizzontaliAm

biti

verti

cali

Page 14: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Ambiti orizzontaliAm

biti

verti

cali

Page 15: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Requirement, Test, Task, Defect, Planning, Release, Compliancy

AutomationModel CIDelivery PerformanceConfig

Page 16: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Introduzione al testing

Page 17: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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 Testingovvero quei test che verificano “come” funziona il sistema, e quindi test di stress, carico, affidabilità, manutenibilità, usabilità  e portabilità

Page 18: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Cos'è e cosa serve

Il Testing o Software Testing fa parte delle assicurazioni di qualità, ma non è l’unica

Debugging (lato sviluppo)ProfilingBenchmarking

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à

Page 19: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Il collaudo, o software testing

Page 20: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Il termine Software Testing,

è in informatica, il collaudo del softwareIl 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

Page 21: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Cos'è e cosa serve

In generale, occorre distinguere i "malfunzionamenti" del software

"failure"

dai "difetti” del software

"fault" o "defect" o "bug”

Page 22: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Cos'è e cosa serve

Il malfunzionamento o "failure” è un comportamento del softwaredifforme 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à assentema necessaria o tracciata in modo implicito o esplicito neirequisiti del software

Page 23: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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 specificaprocedura che contiene il difetto e solo se i dati di input sono tali daevidenziare 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”

Page 24: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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.

Page 25: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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.

Page 26: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Il Functional testing

Page 27: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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.

Page 28: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Ok, ma… cos’è un requisito?

Page 29: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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

Page 30: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Il Functional testing

Saturn VPer 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…

Page 31: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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)

Page 32: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Requisiti; 56%Design; 27%

Altro; 10%

Codice; 7%

Distribuzione dei bug

Il Functional testing

Page 33: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Requisiti; 82%

Design; 13%Altro; 4% Codice; 1%

Distribuzione dell'effort per correggere i bug

Il Functional testing

Page 34: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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)

TestTestTest

Page 35: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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.

Page 36: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

TestComplete

Test desktop, web, and mobile apps at the GUI and API layer

Page 37: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

The Leader in Software Quality Tools for the Connected World

Page 38: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Automated testing tool for variety of apps

Page 39: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

One tool for all your testing needs

Page 40: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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

Page 41: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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

Page 42: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Use API integration to go underneath the GUI to prevent false defects

API

Desktop

Mobile

Web

1

2

3

4

Page 43: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

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

Page 44: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

DEMO

Page 45: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Contenuti disponibili su:

Canale slideshare di Emerasoft

Canale Youtube Emerasoftwww.emerasoft.comwww.emerasoft.com/servizi/qcloud

Q&A?

What’s next

Page 46: Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione di tempi, costi ed effort”

Segui i nostri canali …

[email protected]

Emerasoft Srl

via Po, 1 – 10124 Torinovia del Poggio Laurentino, 118 – 00144 Roma

T +39 011 0120370 T +39 06 87811323F +39 011 3710371 

Grazie…

Contatti