Alten italia
Assioma
CA
Claritel
HP
IBM
Microfocus
Microsoft
Nttdata
Poste Italiane

Il mistero del requisito Agile

Abstract

Sappiamo quanto l'ingegneria dei requisiti sia un aspetto chiave per la riuscita di un progetto e per il successo di un prodotto software. Ogni professionista del software sa che la corretta identificazione e gestione dei requisiti è una sfida che può essere più impegnativa della corretta realizzazione del software che li implementa. Ma perché è complicato avere a che fare con i requisiti? Il problema è che spesso i requisiti non sono chiari nemmeno a chi li deve esprimere, oppure non abbiamo a disposizione una "voce del cliente" che ci possa esprimere in modo chiaro e comprensibile quali funzionalità il nostro software dovrà garantire.

La comunità agile ha sviluppato un potente insieme di idee che ha già prodotto risultati impressionanti. Un ambiente agile ci può aiutare ad affrontare il dilemma dei requisiti? Quali strumenti ci mette a disposizione l'Agile Requirements Engineering per districarci nel traffico caotico delle richieste che arrivano dai tanti stakeholders, tutti interessati ad aggiungere "valore" al software da sviluppare? Questi strumenti sono efficaci anche quando ci muoviamo su progetti a larga scala?

Il tutorial darà delle risposte a queste domande, mettendo in evidenza quali vantaggi possono derivare da un'efficace ingegneria e gestione dei requisiti in un contesto agile e quali problemi vanno affrontati nei cambiamenti da mettere necessariamente in atto affinchè l'Agile Requirements Engineering abbia successo.

Lingua

Il tutorial si svolgerà in lingua italiana.

A chi è rivolto

Il tutorial è rivolto a tutti coloro che sono interessati ad approfondire l’ingegneria dei requisiti in ambiente agile.

Prerequisiti

Non ci sono particolari prerequisiti per seguire il tutorial. Una conoscenza di base dei concetti di ingegneria dei requisiti, Agile Development e del metodo Scrum però sarà certamente di aiuto. Si consiglia la lettura di The Scrum Primer 2.0, disponibile qui tradotta in italiano. Non è necessario l'uso del laptop.

Durata

Giornata intera

Outline

  • Gocce fondamentali di sviluppo agile con Scrum
  • Cos'è un requisito in un contesto di sviluppo agile
    • Il requisito e i livelli organizzativi
    • Attributi e criteri di qualità
  • Ingegneria dei requisiti: cosa cambia in un contesto agile?
    • Storie da creare ed affinare
    • Specifica dei requisiti: discutiamo su un documento o documentiamo una discussione?
  • I ruoli chiave
  • Tirare fuori i requisiti
    • E l'architettura?
  • Dare vita ad un Product Backlog
    • E i requisiti non funzionali?
  • Prepararsi a lanciare uno sprint
    • E durante lo sprint?
  • Continuare a gestire i requisiti
    • Tracciarli?
    • Gestirne i cambiamenti...
    • ... e la qualità
  • Gocce di pratica (nel corso della giornata)

 

 

Biography

 

Web-Service Testing

Duration

Full Day

Method

Lecture, Demo and Exercise. Students are required to bring along their laptops.

Goal

To familiarize the participants with the methods & tools required to test web services

Target Group

Testers, Test Designers, Developers

Abstract

In this workshop the participants will learn how web services can be tested with and without the support of automated tools. First they learn how web services are constructed and how they are built into the business processes. Then they are shown how to specify a web service test using live samples. Following that the web service is manually tested via a normal user GUI and the results evaluated. Secondly, the participants are shown how to prepare a test specification for an automated web service test. Then the testing of the web service is demonstrated live and the results evaluated. A change is made to the test and the test repeated. After that a discussion takes place on the advantages and disadvantages of automated testing as applied to web services. The workshop closes with summary of the state of the art in web/cloud service testing and why it is important.

This course provides test leaders and testing managers with the main definitions, ideas, processes, tools and skills they need in order to exercise risk based testing in their projects and organizations.

This course covers the major concepts of risk based testing and risk management. During the course, the methodology behind the RBT concept will be discussed, examples and excel tool templates will be provided to assist participants in their work.

The risk based testing process is presented through theory, examples and exercises that are focused on risk based testing Identification, Selection & Planning – on one hand, and Mitigating, Tracking and Controlling – on the other hand.

Key terms

Cloud computing, service-oriented architectures, web services, WSDL, SOAP, REST, WADL, Test case specification, Test design, Test automation, Test data generation, Test Result Validation, Interface Coverage, Test Evaluation

Testing Web Services – why and how
  • In this introductory lecture the role of web or cloud services in automating business processes is discussed. Service-Oriented Architectures are defined and how they are constructed from different sources – legacy, private and public services. The main goal of service testing is to determine if they fit to planed usage. For that the planed usage has to be specified. This usage requirement specification is the basis for the service test. From that and the web service interface definition the test cases are derived and test data generated. The test itself is not so much to discover errors but to determine the suitability of the service for the task at hand. If the service fails to pass the test another service should be tried. Since the testers have no access to the source code and may also have no access to the data, they must concentrate on testing against the interface, trying out all relevant data combinations in a black-box test.

Manually Testing a Web Service
  • In this exercise participants are shown a web service interface definition (WSDL) and a short description of the target service in English language. From that they are asked to identify and specify logical test cases. The test cases are then executed manually by the instructor via a GUI interface and the results checked against the expected results.

Automated Testing of a Web Service
  • In this exercise the participants are shown a web service requirement specification (SRS) for the same service definition (WSDL). An automated text analysis generates the logical test cases automatically which the participants then have to complete by hand. From the test cases and the sample test data a test script is generated. The test script is then compiled and executed. Afterwards the service responses are automatically validated and a test dashboard displayed. It is also shown here what happens when the service requirement specification changes.

Evaluating the Web Service Test
  • In this summary discussion the test results are displayed and discussed. Various forms of test coverage are presented and compared as well as other criteria for ending the test. The participants are asked to give their opinion on the best way to test web services and on the advantages and disadvantages of test automation. The session is closed out by a review of the state of the art in web service testing and the literature on that subject.

Performing a Web Service Test
  • Students will be given two web services to test – a simple calendar function and a complex order entry service. They are to test these services on their own laptops under MS Windows. The instructor will demonstrate his own test for the students to follow. They will first test them manually and then be given a tool to test them automatically. In so doing they will go through all the steps from the service usage specification to the service evaluation

 

Biography

 

Root Cause Analysis in Software Testing

Abstract

In many cases, we pick solutions to problems without sufficient analysis. This results in implementing a cover-up of the symptom rather than a solution to the 'real problem underneath'. When this is done, the problem will most likely to surface again in one disguise or another, and we may mishandle it, just as we mishandled it initially.
Getting into the bottom of problems, is the right way to both save money (from things to happen again in the future) and to solve the problem (which we are facing now).
In this workshop, Alon Linetzki describes and identifies a few root cause analysis techniques that are widely used in the industry (manufacturing and software alike), gives examples on how to use them, run an exercise to demonstrate how to implement them, and discuss how to connect them to our day to day testing context. Alon illustrates this method with data from experience in real life projects.

  • Which common root cause analysis models/techniques are widely used (not necessarily in testing)
  • How to use these techniques in our day to day testing work
  • How to use the root cause analysis techniques and results as an effective tool for recommending prevention and corrective actions in the organization
Through presentation, discussion, debate, brainstorming and questioning, we shall go through terminology, methodology, concepts and methods to learn how to analyze underlying problems, and root causes.
Relevant exercises are integrated into the course in order to close the gap between methodology and actual field implementation and enable participants realize what they need to be doing in their designated projects as testers from now on.


Audience

Testers, testing team leaders and test managers, developers, development leaders and development managers who would like to use new RCA techniques to be able to investigate problems in their day to day test operation, and to direct and focus their improvement efforts to solve real problems.

  

Pre-requisites

Participants should have senior level knowledge about testing processes, lifecycle and defect management.


Workshop Outline

  • Workshop Introduction
    • Agenda
    • Introduction to participants and coach
    • Introduction to root cause analysis family of techniques
  • Root Cause analysis in defect management
    • Challenges and benefits
    • Technique description
    • Case study Example & discussion
    • Exercise
  • Fishbone technique
    • Technique description
    • Case study Example & discussion
    • Exercise
  • Cause & Effect Graphing (technique variation)
    • Technique description
    • Case study Example & discussion
    • Exercise
  • 5 Whys technique
    • Technique description
    • Case study Example & discussion
    • Exercise
  • Where can we use the techniques in the testing lifecycle?
  • Using RCA for prevention and corrective actions
  • Wrap up


Duration

1 day Workshop
 

Biography

 

Managing Successful Test Automation

Abstract

Many organizations never achieve the significant benefits that are promised from automated test execution tools. What are the secrets to test automation success? There are no secrets, but the paths to success are not commonly understood. Dorothy and Mark describe the most important automation issues that you must address, both management and technical, and help you understand and choose the best approaches for your organization—no matter which automation tools you use.


Audience

This workshop is aimed at managers who need to understand the key issues in making test automation successful. Technical issues are covered at a high level of understanding; there are no tool demos!

Duration

1 day Workshop


Course Outline

  • Planning and Managing Test Automation
    • Responsibilities, objectives, pilot projects and implementation, measures and Return on Investment
  • Testware Architecture
    • The importance of a good testware architecture, and whatneeds to be organised
  • Pre- and Post-Processing
    • Automating more than tests, and test statuses beyond Pass/Fail
  • Scripting Techniques
    • Objectives of scripting, different scripting levels including data-driven and keyword-driven / Domain-Specific Test Language
  • Automated Comparison
    • Options and pitfalls in automated comparison
  • Final Advice and Direction
    • Test Automation Strategy

You will leave this tutorial with a list of your own automation objectives (which should be different to test objectives), and a start on your automation strategy.


Biographies

Agile Testing Master Class

Agile development is becoming more and more common in our projects. With Agile development higher quality and shorter lead times are possible. Frequent deliveries, close cooperation within the team, continuous integration, feedback and changing requirements creates new challenges, but also new opportunities for testers.

This tutorial gives you a structured approach how to test in an agile project. Scrum, which is the most commonly used agile development model, is used in this tutorial as a basis to describe the most effective and efficient agile testing practices. All testing related activities are covered, from test planning (as part of the sprint planning), test preparation, execution and test reporting.

Who should attend?
This tutorial is suitable for everyone who wants to learn how to test efficiently in an agile project.

Knowledge requirements
ISTQB Foundation Level or corresponding knowledge.

Contents
The contents is divided according to the different stages of development commonly used in Scrum:

1. Introduction

  • Agile and Lean development principles
  • Agile development using Scrum and Kanban
  • Example of a Lean/Kanban workflow with testing
  • The purpose of testing in agile projects
  • Maturity levels in testing
  • Useful test methods and techniques in agile projects
  • The agile testing quadrants
  • Traditional testing versus agile testing
  • Agile testing principles
  • Continuous integration
  • Common agile testing problems and solutions


2. Project initiation

  • Understanding an agile project from a testing point of view
  • Identifying system goals, users, customers and what the system is supposed to do
  • Forming the agile team
  • Analyzing requirements/user stories from a testing perspective
  • High level and Sprint level test planning, including goals and strategies
  • Automation and tool support


3. Release planning

  • Initial project planning (Sprint 0)
  • How to create a system anatomy (to be used for integration and Sprint planning)
  • Risk management and risk-based testing
  • Exploratory testing
  • Test coordination and collaboration in large projects
  • Metrics


4. Sprint iterations

  • Creating a Definition of Done for different types of testing
  • User Story testing
  • How to find good test ideas
  • How to write test charters
  • How to use experience based test techniques
  • How to explore functional behavior
  • Logging and reporting


5. End game

  • Regression testing
  • Using a Goal, Questions and Metrics model for characteristics testing
  • A performance testing example
  • User acceptance tests
  • When to stop testing (as part of the release criteria)
  • Lessons learned/retrospectives

 

Biography