SlideShare uma empresa Scribd logo
1 de 70
Baixar para ler offline
A Backpack to go the Extra-Functional Mile

a hitched hike by the PROWESS project

Laura M. Castro
Universidade da Coruña (Spain)
SF Erlang Factory, March 6th, 2014
relationship between the
business criticality of modiability and IT project
success.

There is a signicant negative

relationship between the
performance and IT project

There is a possible signicant
business criticality of

success.

The impact of NFRs on project success
N. Martens (University of Utrecht, 2011)
The application of

verication (starting as early as

possible during the software development life cycle) has a
positive inuence on IT
The long term

project success.

benets of verication outweigh the
costs.

short term extra

The impact of NFRs on project success
N. Martens (University of Utrecht, 2011)
www.prowess-project.eu
Smother

The PROWESS Tools
Smother

The PROWESS Tools

What does it do?

Code coverage

for Erlang.
Smother

The PROWESS Tools

What does it do?

Code coverage

Wait. . . what about cover?

for Erlang.

While cover accounts for executable LOC,
smother applies MC/DC coverage.
Smother

The PROWESS Tools

What does it do?

Code coverage

for Erlang.

Wait. . . what about cover?

While cover accounts for executable LOC,
smother applies MC/DC coverage.

What's MC/DC coverage?
•
•
•
•

Each decision tries every possible outcome.
Each condition in a decision takes on every possible outcome.
Each entry and exit point is invoked.
Each condition in a decision is shown to independently aect
the outcome of the decision.
Smother

The PROWESS Tools

How does it work?

Let's see a demo!
Smother

The PROWESS Tools

How does it work?

Let's see a demo!
There's also a tutorial on Youtube.
Smother

The PROWESS Tools

How does it work?

Can I use it?

Let's see a demo!
There's also a tutorial on Youtube.

Yes.
Smother

The PROWESS Tools

How does it work?

Can I use it?

Let's see a demo!
There's also a tutorial on Youtube.

Yes.
And if you do, there's a user survey :).
Smother

The PROWESS Tools

How does it work?

Can I use it?

Where can I get it?

Let's see a demo!
There's also a tutorial on Youtube.

Yes.
And if you do, there's a user survey :).

GitHub:

https://github.com/ramsay-t/Smother
JSONGEN

The PROWESS Tools
JSONGEN

The PROWESS Tools

What does it do?

Generates and validates JSON instances
w.r.t. a JSON schema.
JSONGEN

The PROWESS Tools

What does it do?

Generates and validates JSON instances
w.r.t. a JSON schema.

Wait. . . what? I've seen this before!

Not Suresh Khatri's (Javascript).
Not Rick Byington's (Java).
Not Douglas Hall's (Golang).
Not JSON-Generator (online data sampler).
Not Luká² Gergel's (online data sampler).
JSONGEN

The PROWESS Tools

What does it do?

Generates and validates JSON instances
w.r.t. a JSON schema.

Wait. . . what? I've seen this before!

Not Suresh Khatri's (Javascript).
Not Rick Byington's (Java).
Not Douglas Hall's (Golang).
Not JSON-Generator (online data sampler).
Not Luká² Gergel's (online data sampler).

What's the dierence?

Implemented in Erlang :).
JSONGEN

The PROWESS Tools

What does it do?

Generates and validates JSON instances
w.r.t. a JSON schema.

Wait. . . what? I've seen this before!

Not Suresh Khatri's (Javascript).
Not Rick Byington's (Java).
Not Douglas Hall's (Golang).
Not JSON-Generator (online data sampler).
Not Luká² Gergel's (online data sampler).

What's the dierence?

Implemented in Erlang :).
Uses PBT data generation capabilities.
JSONGEN

The PROWESS Tools

How does it work?

Let's see a demo!
JSONGEN

The PROWESS Tools

How does it work?

Can I use it?

Let's see a demo!

Yes.
JSONGEN

The PROWESS Tools

How does it work?

Can I use it?

Let's see a demo!

Yes.
But it's work in progress.
JSONGEN

The PROWESS Tools

How does it work?

Can I use it?

Where can I get it?

Let's see a demo!

Yes.
But it's work in progress.

GitHub:

https://github.com/aherranz/jsongen
WSToolKit

The PROWESS Tools
WSToolKit

The PROWESS Tools

What does it do?

Assists in using PBT tools for web

services.
WSToolKit

The PROWESS Tools

What does it do?

Assists in using PBT tools for web

What do web services have in particular?

services.

They are described in WSDL documents,
accessed via REST APIs,
change and evolve continuously.
WSToolKit

The PROWESS Tools

What does it do?

Assists in using PBT tools for web

services.

What do web services have in particular?

They are described in WSDL documents,
accessed via REST APIs,
change and evolve continuously.

How does this tool help?

Generates test model skeletons from WSDL descriptions.
Generates test model skeletons by interacting with a REST API.
Provides a powerful WSDL-like DSL for custom data generation.
Updates existing test models to adjust to WS changes.
WSToolKit

The PROWESS Tools

How does it work?

Let's see some code. . .
WSToolKit

The PROWESS Tools

How does it work?

Can I use it?

Let's see some code. . .

You can run the provided examples,
but it's still work in progress.
WSToolKit

The PROWESS Tools

How does it work?

Can I use it?

Where can I get it?

Let's see some code. . .

You can run the provided examples,
but it's still work in progress.

GitHub:

https://github.com/RefactoringTools/WSToolkit
readSpec

The PROWESS Tools
readSpec

The PROWESS Tools

What does it do?

Generates human readable versions
of test properties and test models.
readSpec

The PROWESS Tools

What does it do?

Readable how?

Generates human readable versions
of test properties and test models.

Cucumber-like.
readSpec

The PROWESS Tools

What does it do?

Readable how?
What is Cucumber?

Generates human readable versions
of test properties and test models.

Cucumber-like.

Behavior-driven development tool.
Originally written in Ruby, many clones.
Automated acceptance tests.
readSpec

The PROWESS Tools

How does it work?

Let's see some code. . .
readSpec

The PROWESS Tools

How does it work?

Can I use it?

Let's see some code. . .

You can run the provided examples,
but it's still work in progress.
readSpec

The PROWESS Tools

How does it work?

Can I use it?

Let's see some code. . .

You can run the provided examples,
but it's still work in progress.

Where can I get it?

GitHub:

https://github.com/lauramcastro/readspec
a11y-checker

The PROWESS Tools
a11y-checker

The PROWESS Tools

What does it do?

Tests web pages for

conformance to WCAG 2.0.
a11y-checker

The PROWESS Tools

What does it do?

Tests web pages for

conformance to WCAG 2.0.

Wait. . . what? I've seen this before, too!

Not Wave (online checker).
Not AChecker (online checker).
a11y-checker

The PROWESS Tools

What does it do?

Tests web pages for

conformance to WCAG 2.0.

Wait. . . what? I've seen this before, too!

Not Wave (online checker).
Not AChecker (online checker).

What's the dierence?

Implemented in Erlang :).
a11y-checker

The PROWESS Tools

What does it do?

Tests web pages for

conformance to WCAG 2.0.

Wait. . . what? I've seen this before, too!

Not Wave (online checker).
Not AChecker (online checker).

What's the dierence?

Implemented in Erlang :).
A11y guidelines as QuickCheck properties.
Features a PBT-like HTML generator.
a11y-checker

The PROWESS Tools

How does it work?

Let's see a demo!
a11y-checker

The PROWESS Tools

How does it work?

Can I use it?

Let's see a demo!

Yes!
a11y-checker

The PROWESS Tools

How does it work?

Can I use it?

Where can I get it?

Let's see a demo!

Yes!

GitHub:

https://github.com/antiapuentes/a11y-checker
MEGALoad

The PROWESS Tools
MEGALoad

The PROWESS Tools

What does it do?

Provides a cloud

testing framework.
MEGALoad

The PROWESS Tools

What does it do?

What kind of tests?

Provides a cloud

testing framework.

Performance and load

testing.
MEGALoad

The PROWESS Tools

What does it do?

What kind of tests?

Provides a cloud

testing framework.

Performance and load

Wait. . . what? There are many load testing tools!

testing.

Not SaaS, rather TaaS.
PBT for powerful exibility, automation, reporting.
MEGALoad

The PROWESS Tools

How does it work?

A teaser. . .
MEGALoad

The PROWESS Tools

How does it work?

A teaser. . .
MEGALoad

The PROWESS Tools

How does it work?

A teaser. . .

What else can I expect?

Integration with JSONGEN.
A NFR property library for ne-grain tests.
MEGALoad

The PROWESS Tools

How does it work?

A teaser. . .

What else can I expect?

Integration with JSONGEN.
A NFR property library for ne-grain tests.

Where will I be able to use it?

Soon!
MEGALoad

The PROWESS Tools

How does it work?

A teaser. . .

What else can I expect?

Integration with JSONGEN.
A NFR property library for ne-grain tests.

Where will I be able to use it?

Soon!
(stay tunned at upcoming Erlang events)
To take home

•

•
•
•

An improved way to have a
measure about how well do
your tests cover your code
Two ways to generate data for
your tests
A way to generate skeletons
for your test models
A way to turn your test
properties and models into
readable text

•

A way to certify your
accesibility compliance

•

A way to assess your behaviour
under congurable load
Thanks for your attention!

time_for ( Questions ) -
[ speaker ! OneByOne || OneByOne - Questions ] .

@lauramcastro
lcastro@udc.es
Credits

Image authoring attribution (in order of appearance)

•
•
•
•
•
•
•
•
•
•
•
•
•

Hitch-hiking Iceland, `Something about Iceland (a blog about Iceland)'.
Newspaper kid, `Stamping Julie' paper crafting blog.
US Navy cadets, Wikimedia Commons.
Success kid, self-education `And be there' website.
Condescending Wonka, `A Sub's Life' blog.
James Bond's artwork, by Tozani.
Q's gadgets, Hostalia (blog).
The backpack, by Targus Group International, Inc.
FP7 logo, `Adventure (The Plug-and-Play Virtual Factory)' website.
Keep Calm and Wrap it Up, Mallika Khurana's blog.
The Extra Mile sign, `Personal Development' blog.
Douglas Adam's `The ultimate hitchhiker's guide to the galaxy', `Books Come First' blog.
Hitch-hiker to Anywhere but here , `Nomad Sage' travel blog.

Mais conteúdo relacionado

Mais procurados

Black Ops Testing Workshop from Agile Testing Days 2014
Black Ops Testing Workshop from Agile Testing Days 2014Black Ops Testing Workshop from Agile Testing Days 2014
Black Ops Testing Workshop from Agile Testing Days 2014Alan Richardson
 
Tdd is not about testing (OOP)
Tdd is not about testing (OOP)Tdd is not about testing (OOP)
Tdd is not about testing (OOP)Gianluca Padovani
 
Tdd is not about testing (C++ version)
Tdd is not about testing (C++ version)Tdd is not about testing (C++ version)
Tdd is not about testing (C++ version)Gianluca Padovani
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Alan Richardson
 
Technical Testing Webinar
Technical Testing WebinarTechnical Testing Webinar
Technical Testing WebinarAlan Richardson
 
Secrets and Mysteries of Automated Execution Keynote slides
Secrets and Mysteries of Automated Execution Keynote slidesSecrets and Mysteries of Automated Execution Keynote slides
Secrets and Mysteries of Automated Execution Keynote slidesAlan Richardson
 
How to fix bug or defects in software
How to fix bug or defects in software How to fix bug or defects in software
How to fix bug or defects in software Rajasekar Subramanian
 
Hotfixing iOS apps with Javascript
Hotfixing iOS apps with JavascriptHotfixing iOS apps with Javascript
Hotfixing iOS apps with JavascriptSergio Padrino Recio
 
Agile Infrastructure Velocity 09
Agile Infrastructure Velocity 09Agile Infrastructure Velocity 09
Agile Infrastructure Velocity 09Andrew Shafer
 
Reactive Streams, j.u.concurrent, & Beyond!
Reactive Streams, j.u.concurrent, & Beyond!Reactive Streams, j.u.concurrent, & Beyond!
Reactive Streams, j.u.concurrent, & Beyond!C4Media
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Fwdays
 
Effective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentEffective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentAlan Richardson
 
Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604Alan Richardson
 
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...Alan Richardson
 
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)Christian Catalan
 
JavaScript Metaprogramming with ES 2015 Proxy
JavaScript Metaprogramming with ES 2015 ProxyJavaScript Metaprogramming with ES 2015 Proxy
JavaScript Metaprogramming with ES 2015 ProxyAlexandr Skachkov
 
Dev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrDev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrJohn Allspaw
 
How do you tame a big ball of mud? One test at a time.
How do you tame a big ball of mud? One test at a time.How do you tame a big ball of mud? One test at a time.
How do you tame a big ball of mud? One test at a time.Matt Eland
 

Mais procurados (19)

Black Ops Testing Workshop from Agile Testing Days 2014
Black Ops Testing Workshop from Agile Testing Days 2014Black Ops Testing Workshop from Agile Testing Days 2014
Black Ops Testing Workshop from Agile Testing Days 2014
 
Tdd is not about testing (OOP)
Tdd is not about testing (OOP)Tdd is not about testing (OOP)
Tdd is not about testing (OOP)
 
Tdd is not about testing (C++ version)
Tdd is not about testing (C++ version)Tdd is not about testing (C++ version)
Tdd is not about testing (C++ version)
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014
 
Technical Testing Webinar
Technical Testing WebinarTechnical Testing Webinar
Technical Testing Webinar
 
Secrets and Mysteries of Automated Execution Keynote slides
Secrets and Mysteries of Automated Execution Keynote slidesSecrets and Mysteries of Automated Execution Keynote slides
Secrets and Mysteries of Automated Execution Keynote slides
 
How to fix bug or defects in software
How to fix bug or defects in software How to fix bug or defects in software
How to fix bug or defects in software
 
Devfest 2019-slides
Devfest 2019-slidesDevfest 2019-slides
Devfest 2019-slides
 
Hotfixing iOS apps with Javascript
Hotfixing iOS apps with JavascriptHotfixing iOS apps with Javascript
Hotfixing iOS apps with Javascript
 
Agile Infrastructure Velocity 09
Agile Infrastructure Velocity 09Agile Infrastructure Velocity 09
Agile Infrastructure Velocity 09
 
Reactive Streams, j.u.concurrent, & Beyond!
Reactive Streams, j.u.concurrent, & Beyond!Reactive Streams, j.u.concurrent, & Beyond!
Reactive Streams, j.u.concurrent, & Beyond!
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"
 
Effective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentEffective Software Testing for Modern Software Development
Effective Software Testing for Modern Software Development
 
Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604
 
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...
 
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
 
JavaScript Metaprogramming with ES 2015 Proxy
JavaScript Metaprogramming with ES 2015 ProxyJavaScript Metaprogramming with ES 2015 Proxy
JavaScript Metaprogramming with ES 2015 Proxy
 
Dev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrDev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and Flickr
 
How do you tame a big ball of mud? One test at a time.
How do you tame a big ball of mud? One test at a time.How do you tame a big ball of mud? One test at a time.
How do you tame a big ball of mud? One test at a time.
 

Semelhante a A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS project)

Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming languageMarco Cedaro
 
Open Source and the MEAN stack
Open Source and the MEAN stackOpen Source and the MEAN stack
Open Source and the MEAN stackLiran Tal
 
quantum_leap_angularjs_tools_redefining_development_in_2023.pptx
quantum_leap_angularjs_tools_redefining_development_in_2023.pptxquantum_leap_angularjs_tools_redefining_development_in_2023.pptx
quantum_leap_angularjs_tools_redefining_development_in_2023.pptxsarah david
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space DemoBoyd Hemphill
 
openQA Hoverboard - Open-source Question Answering Framework
openQA Hoverboard - Open-source Question Answering FrameworkopenQA Hoverboard - Open-source Question Answering Framework
openQA Hoverboard - Open-source Question Answering FrameworkEdgard Marx
 
The Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To KnowThe Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To KnowAll Things Open
 
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SKHTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SKDavid Wesst
 
Open IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings APIOpen IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings APISensorUp
 
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...CodeOps Technologies LLP
 
Introduction to Protractor - Habilelabs
Introduction to Protractor - HabilelabsIntroduction to Protractor - Habilelabs
Introduction to Protractor - HabilelabsHabilelabs
 
Supporting Software Developers with a Holistic Recommender System
Supporting Software Developers with a Holistic Recommender SystemSupporting Software Developers with a Holistic Recommender System
Supporting Software Developers with a Holistic Recommender SystemLuca Ponzanelli
 
War of the Machines: PVS-Studio vs. TensorFlow
War of the Machines: PVS-Studio vs. TensorFlowWar of the Machines: PVS-Studio vs. TensorFlow
War of the Machines: PVS-Studio vs. TensorFlowPVS-Studio
 
Testing Big in JavaScript
Testing Big in JavaScriptTesting Big in JavaScript
Testing Big in JavaScriptRobert DeLuca
 
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now10 practices that every developer needs to start right now
10 practices that every developer needs to start right nowCaleb Jenkins
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityMatt Tesauro
 
Ep keyote slides
Ep  keyote slidesEp  keyote slides
Ep keyote slidesOpenEBS
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Applitools
 
How to NLProc from .NET
How to NLProc from .NETHow to NLProc from .NET
How to NLProc from .NETSergey Tihon
 
Bledar Gjocaj - Java open source
Bledar Gjocaj - Java open sourceBledar Gjocaj - Java open source
Bledar Gjocaj - Java open sourceOpen Labs Albania
 

Semelhante a A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS project) (20)

Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
 
Open Source and the MEAN stack
Open Source and the MEAN stackOpen Source and the MEAN stack
Open Source and the MEAN stack
 
quantum_leap_angularjs_tools_redefining_development_in_2023.pptx
quantum_leap_angularjs_tools_redefining_development_in_2023.pptxquantum_leap_angularjs_tools_redefining_development_in_2023.pptx
quantum_leap_angularjs_tools_redefining_development_in_2023.pptx
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space Demo
 
openQA Hoverboard - Open-source Question Answering Framework
openQA Hoverboard - Open-source Question Answering FrameworkopenQA Hoverboard - Open-source Question Answering Framework
openQA Hoverboard - Open-source Question Answering Framework
 
The Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To KnowThe Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To Know
 
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SKHTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
 
Open IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings APIOpen IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings API
 
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
 
Introduction to Protractor - Habilelabs
Introduction to Protractor - HabilelabsIntroduction to Protractor - Habilelabs
Introduction to Protractor - Habilelabs
 
Supporting Software Developers with a Holistic Recommender System
Supporting Software Developers with a Holistic Recommender SystemSupporting Software Developers with a Holistic Recommender System
Supporting Software Developers with a Holistic Recommender System
 
War of the Machines: PVS-Studio vs. TensorFlow
War of the Machines: PVS-Studio vs. TensorFlowWar of the Machines: PVS-Studio vs. TensorFlow
War of the Machines: PVS-Studio vs. TensorFlow
 
Testing Big in JavaScript
Testing Big in JavaScriptTesting Big in JavaScript
Testing Big in JavaScript
 
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based Security
 
Ep keyote slides
Ep  keyote slidesEp  keyote slides
Ep keyote slides
 
Ep keyote slides
Ep  keyote slidesEp  keyote slides
Ep keyote slides
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
 
How to NLProc from .NET
How to NLProc from .NETHow to NLProc from .NET
How to NLProc from .NET
 
Bledar Gjocaj - Java open source
Bledar Gjocaj - Java open sourceBledar Gjocaj - Java open source
Bledar Gjocaj - Java open source
 

Mais de Laura M. Castro

Ola, ChatGPT... que carreira sería boa para min?
Ola, ChatGPT... que carreira sería boa para min?Ola, ChatGPT... que carreira sería boa para min?
Ola, ChatGPT... que carreira sería boa para min?Laura M. Castro
 
IAs xerativas e nesgos de xénero
IAs xerativas e nesgos de xéneroIAs xerativas e nesgos de xénero
IAs xerativas e nesgos de xéneroLaura M. Castro
 
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...Laura M. Castro
 
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...Laura M. Castro
 
Why on Earth would I test if I have to just "Let it crash"?
Why on Earth would I test if I have to just "Let it crash"?Why on Earth would I test if I have to just "Let it crash"?
Why on Earth would I test if I have to just "Let it crash"?Laura M. Castro
 
How the BEAM will change your mind
How the BEAM will change your mindHow the BEAM will change your mind
How the BEAM will change your mindLaura M. Castro
 
So I used Erlang... is my system as scalable as they say it'd be?
So I used Erlang... is my system as scalable as they say it'd be?So I used Erlang... is my system as scalable as they say it'd be?
So I used Erlang... is my system as scalable as they say it'd be?Laura M. Castro
 
Elixir: the not-so-hidden path to Erlang
Elixir: the not-so-hidden path to ErlangElixir: the not-so-hidden path to Erlang
Elixir: the not-so-hidden path to ErlangLaura M. Castro
 
Automatic generation of UML sequence diagrams from test counterexamples
Automatic generation of UML sequence diagrams from test counterexamplesAutomatic generation of UML sequence diagrams from test counterexamples
Automatic generation of UML sequence diagrams from test counterexamplesLaura M. Castro
 
Making property-based testing easier to read for humans
Making property-based testing easier to read for humansMaking property-based testing easier to read for humans
Making property-based testing easier to read for humansLaura M. Castro
 
Erlang as a supporting technology for teaching Software Architecture
Erlang as a supporting technology for teaching Software ArchitectureErlang as a supporting technology for teaching Software Architecture
Erlang as a supporting technology for teaching Software ArchitectureLaura M. Castro
 
Experiencias Industriales con Programación Declarativa
Experiencias Industriales con Programación DeclarativaExperiencias Industriales con Programación Declarativa
Experiencias Industriales con Programación DeclarativaLaura M. Castro
 
Functional programming goes to Hollywood... and around the world!
Functional programming goes to Hollywood... and around the world!Functional programming goes to Hollywood... and around the world!
Functional programming goes to Hollywood... and around the world!Laura M. Castro
 
Failover and takeover contingency mechanisms for network partition and node f...
Failover and takeover contingency mechanisms for network partition and node f...Failover and takeover contingency mechanisms for network partition and node f...
Failover and takeover contingency mechanisms for network partition and node f...Laura M. Castro
 
Editing documents with LaTeX
Editing documents with LaTeXEditing documents with LaTeX
Editing documents with LaTeXLaura M. Castro
 
Introdución á edición de textos con LaTeX
Introdución á edición de textos con LaTeXIntrodución á edición de textos con LaTeX
Introdución á edición de textos con LaTeXLaura M. Castro
 
Edición de textos con LaTeX
Edición de textos con LaTeXEdición de textos con LaTeX
Edición de textos con LaTeXLaura M. Castro
 
Edición de textos con LaTeX
Edición de textos con LaTeXEdición de textos con LaTeX
Edición de textos con LaTeXLaura M. Castro
 
Improving software development using Erlang/OTP
Improving software development using Erlang/OTPImproving software development using Erlang/OTP
Improving software development using Erlang/OTPLaura M. Castro
 

Mais de Laura M. Castro (20)

Ola, ChatGPT... que carreira sería boa para min?
Ola, ChatGPT... que carreira sería boa para min?Ola, ChatGPT... que carreira sería boa para min?
Ola, ChatGPT... que carreira sería boa para min?
 
IAs xerativas e nesgos de xénero
IAs xerativas e nesgos de xéneroIAs xerativas e nesgos de xénero
IAs xerativas e nesgos de xénero
 
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
 
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
 
Why on Earth would I test if I have to just "Let it crash"?
Why on Earth would I test if I have to just "Let it crash"?Why on Earth would I test if I have to just "Let it crash"?
Why on Earth would I test if I have to just "Let it crash"?
 
How the BEAM will change your mind
How the BEAM will change your mindHow the BEAM will change your mind
How the BEAM will change your mind
 
Elixir vs Java
Elixir vs JavaElixir vs Java
Elixir vs Java
 
So I used Erlang... is my system as scalable as they say it'd be?
So I used Erlang... is my system as scalable as they say it'd be?So I used Erlang... is my system as scalable as they say it'd be?
So I used Erlang... is my system as scalable as they say it'd be?
 
Elixir: the not-so-hidden path to Erlang
Elixir: the not-so-hidden path to ErlangElixir: the not-so-hidden path to Erlang
Elixir: the not-so-hidden path to Erlang
 
Automatic generation of UML sequence diagrams from test counterexamples
Automatic generation of UML sequence diagrams from test counterexamplesAutomatic generation of UML sequence diagrams from test counterexamples
Automatic generation of UML sequence diagrams from test counterexamples
 
Making property-based testing easier to read for humans
Making property-based testing easier to read for humansMaking property-based testing easier to read for humans
Making property-based testing easier to read for humans
 
Erlang as a supporting technology for teaching Software Architecture
Erlang as a supporting technology for teaching Software ArchitectureErlang as a supporting technology for teaching Software Architecture
Erlang as a supporting technology for teaching Software Architecture
 
Experiencias Industriales con Programación Declarativa
Experiencias Industriales con Programación DeclarativaExperiencias Industriales con Programación Declarativa
Experiencias Industriales con Programación Declarativa
 
Functional programming goes to Hollywood... and around the world!
Functional programming goes to Hollywood... and around the world!Functional programming goes to Hollywood... and around the world!
Functional programming goes to Hollywood... and around the world!
 
Failover and takeover contingency mechanisms for network partition and node f...
Failover and takeover contingency mechanisms for network partition and node f...Failover and takeover contingency mechanisms for network partition and node f...
Failover and takeover contingency mechanisms for network partition and node f...
 
Editing documents with LaTeX
Editing documents with LaTeXEditing documents with LaTeX
Editing documents with LaTeX
 
Introdución á edición de textos con LaTeX
Introdución á edición de textos con LaTeXIntrodución á edición de textos con LaTeX
Introdución á edición de textos con LaTeX
 
Edición de textos con LaTeX
Edición de textos con LaTeXEdición de textos con LaTeX
Edición de textos con LaTeX
 
Edición de textos con LaTeX
Edición de textos con LaTeXEdición de textos con LaTeX
Edición de textos con LaTeX
 
Improving software development using Erlang/OTP
Improving software development using Erlang/OTPImproving software development using Erlang/OTP
Improving software development using Erlang/OTP
 

Último

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Último (20)

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS project)

  • 1. A Backpack to go the Extra-Functional Mile a hitched hike by the PROWESS project Laura M. Castro Universidade da Coruña (Spain) SF Erlang Factory, March 6th, 2014
  • 2.
  • 3.
  • 4.
  • 5. relationship between the business criticality of modiability and IT project success. There is a signicant negative relationship between the performance and IT project There is a possible signicant business criticality of success. The impact of NFRs on project success N. Martens (University of Utrecht, 2011)
  • 6. The application of verication (starting as early as possible during the software development life cycle) has a positive inuence on IT The long term project success. benets of verication outweigh the costs. short term extra The impact of NFRs on project success N. Martens (University of Utrecht, 2011)
  • 7.
  • 8.
  • 9.
  • 10.
  • 12.
  • 14. Smother The PROWESS Tools What does it do? Code coverage for Erlang.
  • 15. Smother The PROWESS Tools What does it do? Code coverage Wait. . . what about cover? for Erlang. While cover accounts for executable LOC, smother applies MC/DC coverage.
  • 16. Smother The PROWESS Tools What does it do? Code coverage for Erlang. Wait. . . what about cover? While cover accounts for executable LOC, smother applies MC/DC coverage. What's MC/DC coverage? • • • • Each decision tries every possible outcome. Each condition in a decision takes on every possible outcome. Each entry and exit point is invoked. Each condition in a decision is shown to independently aect the outcome of the decision.
  • 17. Smother The PROWESS Tools How does it work? Let's see a demo!
  • 18. Smother The PROWESS Tools How does it work? Let's see a demo! There's also a tutorial on Youtube.
  • 19. Smother The PROWESS Tools How does it work? Can I use it? Let's see a demo! There's also a tutorial on Youtube. Yes.
  • 20. Smother The PROWESS Tools How does it work? Can I use it? Let's see a demo! There's also a tutorial on Youtube. Yes. And if you do, there's a user survey :).
  • 21. Smother The PROWESS Tools How does it work? Can I use it? Where can I get it? Let's see a demo! There's also a tutorial on Youtube. Yes. And if you do, there's a user survey :). GitHub: https://github.com/ramsay-t/Smother
  • 23. JSONGEN The PROWESS Tools What does it do? Generates and validates JSON instances w.r.t. a JSON schema.
  • 24. JSONGEN The PROWESS Tools What does it do? Generates and validates JSON instances w.r.t. a JSON schema. Wait. . . what? I've seen this before! Not Suresh Khatri's (Javascript). Not Rick Byington's (Java). Not Douglas Hall's (Golang). Not JSON-Generator (online data sampler). Not Luká² Gergel's (online data sampler).
  • 25. JSONGEN The PROWESS Tools What does it do? Generates and validates JSON instances w.r.t. a JSON schema. Wait. . . what? I've seen this before! Not Suresh Khatri's (Javascript). Not Rick Byington's (Java). Not Douglas Hall's (Golang). Not JSON-Generator (online data sampler). Not Luká² Gergel's (online data sampler). What's the dierence? Implemented in Erlang :).
  • 26. JSONGEN The PROWESS Tools What does it do? Generates and validates JSON instances w.r.t. a JSON schema. Wait. . . what? I've seen this before! Not Suresh Khatri's (Javascript). Not Rick Byington's (Java). Not Douglas Hall's (Golang). Not JSON-Generator (online data sampler). Not Luká² Gergel's (online data sampler). What's the dierence? Implemented in Erlang :). Uses PBT data generation capabilities.
  • 27. JSONGEN The PROWESS Tools How does it work? Let's see a demo!
  • 28. JSONGEN The PROWESS Tools How does it work? Can I use it? Let's see a demo! Yes.
  • 29. JSONGEN The PROWESS Tools How does it work? Can I use it? Let's see a demo! Yes. But it's work in progress.
  • 30. JSONGEN The PROWESS Tools How does it work? Can I use it? Where can I get it? Let's see a demo! Yes. But it's work in progress. GitHub: https://github.com/aherranz/jsongen
  • 32. WSToolKit The PROWESS Tools What does it do? Assists in using PBT tools for web services.
  • 33. WSToolKit The PROWESS Tools What does it do? Assists in using PBT tools for web What do web services have in particular? services. They are described in WSDL documents, accessed via REST APIs, change and evolve continuously.
  • 34. WSToolKit The PROWESS Tools What does it do? Assists in using PBT tools for web services. What do web services have in particular? They are described in WSDL documents, accessed via REST APIs, change and evolve continuously. How does this tool help? Generates test model skeletons from WSDL descriptions. Generates test model skeletons by interacting with a REST API. Provides a powerful WSDL-like DSL for custom data generation. Updates existing test models to adjust to WS changes.
  • 35. WSToolKit The PROWESS Tools How does it work? Let's see some code. . .
  • 36. WSToolKit The PROWESS Tools How does it work? Can I use it? Let's see some code. . . You can run the provided examples, but it's still work in progress.
  • 37. WSToolKit The PROWESS Tools How does it work? Can I use it? Where can I get it? Let's see some code. . . You can run the provided examples, but it's still work in progress. GitHub: https://github.com/RefactoringTools/WSToolkit
  • 39. readSpec The PROWESS Tools What does it do? Generates human readable versions of test properties and test models.
  • 40. readSpec The PROWESS Tools What does it do? Readable how? Generates human readable versions of test properties and test models. Cucumber-like.
  • 41. readSpec The PROWESS Tools What does it do? Readable how? What is Cucumber? Generates human readable versions of test properties and test models. Cucumber-like. Behavior-driven development tool. Originally written in Ruby, many clones. Automated acceptance tests.
  • 42. readSpec The PROWESS Tools How does it work? Let's see some code. . .
  • 43. readSpec The PROWESS Tools How does it work? Can I use it? Let's see some code. . . You can run the provided examples, but it's still work in progress.
  • 44. readSpec The PROWESS Tools How does it work? Can I use it? Let's see some code. . . You can run the provided examples, but it's still work in progress. Where can I get it? GitHub: https://github.com/lauramcastro/readspec
  • 46. a11y-checker The PROWESS Tools What does it do? Tests web pages for conformance to WCAG 2.0.
  • 47. a11y-checker The PROWESS Tools What does it do? Tests web pages for conformance to WCAG 2.0. Wait. . . what? I've seen this before, too! Not Wave (online checker). Not AChecker (online checker).
  • 48. a11y-checker The PROWESS Tools What does it do? Tests web pages for conformance to WCAG 2.0. Wait. . . what? I've seen this before, too! Not Wave (online checker). Not AChecker (online checker). What's the dierence? Implemented in Erlang :).
  • 49. a11y-checker The PROWESS Tools What does it do? Tests web pages for conformance to WCAG 2.0. Wait. . . what? I've seen this before, too! Not Wave (online checker). Not AChecker (online checker). What's the dierence? Implemented in Erlang :). A11y guidelines as QuickCheck properties. Features a PBT-like HTML generator.
  • 50. a11y-checker The PROWESS Tools How does it work? Let's see a demo!
  • 51. a11y-checker The PROWESS Tools How does it work? Can I use it? Let's see a demo! Yes!
  • 52. a11y-checker The PROWESS Tools How does it work? Can I use it? Where can I get it? Let's see a demo! Yes! GitHub: https://github.com/antiapuentes/a11y-checker
  • 54. MEGALoad The PROWESS Tools What does it do? Provides a cloud testing framework.
  • 55. MEGALoad The PROWESS Tools What does it do? What kind of tests? Provides a cloud testing framework. Performance and load testing.
  • 56. MEGALoad The PROWESS Tools What does it do? What kind of tests? Provides a cloud testing framework. Performance and load Wait. . . what? There are many load testing tools! testing. Not SaaS, rather TaaS. PBT for powerful exibility, automation, reporting.
  • 57. MEGALoad The PROWESS Tools How does it work? A teaser. . .
  • 58.
  • 59.
  • 60.
  • 61. MEGALoad The PROWESS Tools How does it work? A teaser. . .
  • 62. MEGALoad The PROWESS Tools How does it work? A teaser. . . What else can I expect? Integration with JSONGEN. A NFR property library for ne-grain tests.
  • 63. MEGALoad The PROWESS Tools How does it work? A teaser. . . What else can I expect? Integration with JSONGEN. A NFR property library for ne-grain tests. Where will I be able to use it? Soon!
  • 64. MEGALoad The PROWESS Tools How does it work? A teaser. . . What else can I expect? Integration with JSONGEN. A NFR property library for ne-grain tests. Where will I be able to use it? Soon! (stay tunned at upcoming Erlang events)
  • 65.
  • 66. To take home • • • • An improved way to have a measure about how well do your tests cover your code Two ways to generate data for your tests A way to generate skeletons for your test models A way to turn your test properties and models into readable text • A way to certify your accesibility compliance • A way to assess your behaviour under congurable load
  • 67.
  • 68.
  • 69. Thanks for your attention! time_for ( Questions ) - [ speaker ! OneByOne || OneByOne - Questions ] . @lauramcastro lcastro@udc.es
  • 70. Credits Image authoring attribution (in order of appearance) • • • • • • • • • • • • • Hitch-hiking Iceland, `Something about Iceland (a blog about Iceland)'. Newspaper kid, `Stamping Julie' paper crafting blog. US Navy cadets, Wikimedia Commons. Success kid, self-education `And be there' website. Condescending Wonka, `A Sub's Life' blog. James Bond's artwork, by Tozani. Q's gadgets, Hostalia (blog). The backpack, by Targus Group International, Inc. FP7 logo, `Adventure (The Plug-and-Play Virtual Factory)' website. Keep Calm and Wrap it Up, Mallika Khurana's blog. The Extra Mile sign, `Personal Development' blog. Douglas Adam's `The ultimate hitchhiker's guide to the galaxy', `Books Come First' blog. Hitch-hiker to Anywhere but here , `Nomad Sage' travel blog.