Training

Click here to learn more about our courses

Testing in the Digital Age: DevOps, ChatOps and Automation to support Testing

Presentation Format:

Full Day Tutorial/Workshop

Presentation Title:

Testing in the Digital Age: DevOps, ChatOps and Automation to support Testing

Audience

Testers and developers – all levels
Test leads, test managers
Anyone who tests in Digital Projects

Abstract:

Digital is the buzz-phrase of the moment. Most new projects nowadays seem to be part of a 'Digital Transformation'. Transformations in business and IT of any flavour are ambitious and not undertaken lightly. Digital must be important then. But what is it?

Is Digital the 'app economy'? Certainly Digital involves mobile, the customer experience, social media and big data more and more. The SMAC acronym (Social, Mobile, and Analytics in the Cloud) summarises this view that the changes most companies want to make to their systems involve all four aspects.

Paul offers his own label for this phenomenon: "Software Development at the pace of marketing". Marketers see IT as the vehicle for doing rapid, continuous, relentless experiments in parallel with rapid, continuous, relentless delivery of new features to keep up with the Digital competition.

This workshop explores the Digital Revolution and how Continuous Delivery and DevOps are seen as the route to success. But testing could be the bottleneck that prevents success if they don't adapt, and quickly. How will testers survive in this new world? Paul describes, demonstrates and discusses key aspects of DevOps, ChatOps and Automation and identifies the new behaviours and skills required to succeed.

Agenda

Digital Transformation (30)

  • What is it?
  • IT is getting closer to the business
  • Frequent and regular software delivery is critical
  • Automation, (Not just Test Automation), Is Critical
  • Exercise: how often do apps change?

The Challenge of Shift-Left and DevOps (40)

  • Shift-Left is not new
  • What is driving shift-left?
  • From Agile to Continuous Delivery
  • Slow Release, Deployment and Infrastructure Change
  • Exercise: How long does it take you to...?
  • The goals of Shift-left and DevOps
  • Exercise: What are the consequences for testers?

DevOps Overview (30)

  • A Culture, not a Technology
  • Automate (nearly) Everything
  • The Delivery Pipeline, Collaboration and Decision Making
  • Exercise: what can be automated and what cannot?

The DevOps Tools Landscape (60)

  • Infrastructure:
    • Cloud IaaS, PaaS , Database
  • Development:
    • Build, Continuous Integration (CI), Software Configuration Management (SCM), Release Management
  • Deployment:
    • Repository Management, Configuration/Provisioning, Containerisation, Security
  • Operations:
    • Business Intelligence (BI)/Monitoring, Logging
  • Testing
  • Collaboration

Tools Information (20)

  • DevOps Tools Stack Case Studies
  • DevOps Tools Periodic Table, Tools Knowledge Base

Collaboration, ChatOps and Decision-Making (45)

  • Culture, Communication and Automation
  • Behaviour-Driven Development
  • ChatOps Demonstration
  • Does TestOps Exist?

Test Automation - Ambition and Reality (30)

  • What does "test automation" really mean?
  • The state of automation
  • Automation – Models of Scope and Process
  • Discussion: Is a New Model required?

New Model for Testing (45)

  • Sources of Knowledge, Exploration and modelling
  • Examples of models
  • Models, Test design and Automation
  • Discussion: What Skills are required?
  • The New Model, Skills and DevOps

Digital Testing Strategy (45)

  • What is Test Strategy anyway?
  • Interventions
  • Test Automation
  • Test Assurance

Surviving Shift-Left, Continuous Delivery and DevOps (15)

  • Advice for testers
  • Advice for test managers

Close

3 Key Points:

  • Digital Transformation: What does it mean for testing?
  • Experimentation, DevOps and automation: Collaboration and new tester behaviours
  • A New Model for Testing; advice to testers and managers.

Collateral

Powerpoint slides

Exercises workbook

References

Blogs/Articles:

http://gerrardconsulting.com/blog?p=660

http://conference.eurostarsoftwaretesting.com/2014/courage-and-ambition-in-teaching-and-learning/

http://dev.sp.qa/download/newModel

Click here to learn more about our courses

Testing the Internet of Things – An Exploratory Workshop

Presentation Format:

Full Day Tutorial/Workshop

Presentation Title:

Testing the Internet of Things – An Exploratory Workshop

Abstract:

There is an increasing amount of publicity, information and hype around the subject of the Internet of Things (IoT) and the Internet of Everything (IoE). What on earth are people talking about? Should I be interested? Will it affect me? What does it mean to me as a tester?

In this workshop, Paul will explore the scope, range, architecture, complexity and challenges of testing an IoT system.

Standards are emerging, and many commercial applications are bleeding edge, speculative or exploratory. Security and privacy dominates all of the concerns being articulated by industry commentators, but for non-trivial systems, significant functional and integration complexity challenges must also be overcome. There are also broader societal risks that the IoE brings and government, companies and individuals should pay attention to them.

The architecture of the IoE is beginning to reveal itself and this exploratory session presents a seven-layer architectural model that will help you to make sense of it all and expose some of the technical risks we need to focus on as testers. Most of the concepts are explored through exercises and problem-solving. Some recommendations for formulating a test strategy for the Internet of Everything are presented.

Agenda

Introduction to the Internet of Things/Everything (30)

  • Scope
  • Devices
  • Applications
  • 7-layer Architecture
  • Mobile and the 7 layers
  • Exercise: How many connected devices in a typical house?

Devices, objects and systems (30)

  • Measurement and sensors
  • Exercise: what can you measure?
  • Micro-controllers
  • Servos, actuators, motors
  • Relays, switches, stepping switches
  • Communications
  • Computers

Packaged objects (30)

  • Some example objects
  • Exercise: Invent an IoT application, become a billionaire

Communications (30)

  • Internet communications
  • Local communications
  • Machine to machine communications
  • IP and other protocols
  • Registration, identification, control and upgrades
  • Exercise: Draw a stock control sensor register, post stock level sequence diagram

M2M use cases (15)

Introduction to control systems (30)

  • Open loop control systems
  • Closed loop/feedback control systems
  • Exercise: which are open and which are closed loop systems?
  • On/off, linear and proportional control
  • Delay, hysteresis and damping
  • Steering a ship, heating a house

Introduction to data and analytics (45)

  • Data collection, aggregation
  • Exercise: what could go wrong in the field?
  • Data filtering, smoothing
  • Interpolation, curve-fitting
  • Time-serial data, segmentation, clustering, change-points
  • Analytics
  • Use and misuse
  • Data, analytics and risk
  • Exercise: what could go wrong in the analysis?

Exercise: Architect a system (30)

Communications (45)

  • Network communications and carriers
  • Synchronous and asynchronous messaging
  • Conversations v publish and subscribe messaging
  • MQTT Overview, secure MQTT
  • Quality of Service
  • Secure communications
  • Exercise: What could go wrong with a messaging service?
  • Exercise: Test a publish and subscribe messaging service

Web services (30)

  • HTTP/S, the web and web services
  • Payload formats: XML, JSON
  • Exercise: testing a webservice

Exercise: You are a weather station (15)

Exercise: Calculate transaction and data volumes (20)

Test Strategy (45)

  • Challenges: Scale, Complexity, Privacy, Security, Tools
  • Functional testing
  • Functional testing at scale – pattern-based test design
  • Modelling, Automation and Simulation

Close

3 Key Points:

  • The key components of the IoT systems
  • New architectures, new challenges of IoT systems
  • The key drivers of test strategy.

Collaterial

Powerpoint slides

Exercises

References

http://gerrardconsulting.com/sites/default/files/IoEWhatIsIt2.pdf

http://gerrardconsulting.com/sites/default/files/IoEArchitectureRisks.pdf

http://gerrardconsulting.com/sites/default/files/IoETestStrategy.pdf

Click here to learn more about our courses

Test Strategy

Presentation Format:

Half/Full Day Tutorial/Workshop (Full is better)

Presentation Title:

 Test Strategy

Abstract:

Test strategy is one of those nebulous things that every project needs. But, the problem with test strategy is that there isn't a single agreed definition of what it is or how to create one.

This practical, case-study-based workshop will help you and your team to devise an appropriate strategy for the testing and assurance of your software project in the context of a business programme.

Is a Test Strategy a document? No!

This workshop suggests that rather than being a document, test strategy (in the large) is a thought process. The outcome of the thinking might be a short or a long document, but most importantly, the strategy must address the needs of the participants inside the project as well as the customers of the product to be built. It needs to be appropriate to a short agile project or to a 1000 man-year development. It has to have the buy-in of stakeholders but most importantly, it must have value and be communicated.

In this session, Paul will present a practical definition of a Test Strategy, provide a simple template for creating one and describe a systematic approach to thinking the right way.

3 Key Points:

  • Who are your testing stakeholders? What do they want from testing, and why?
  • Testing provides intelligence on the status of project goals and product risks
  • Aligning your test strategy with these goals and risks.

Collateral

http://testers-pocketbook.com, http://testaxioms.com

Test Strategy is mostly about asking the right questions – the pocketbook documents these questions in sixteen context-neutral areas.

We include the presentation slides plus a 32 page workbook.

Click here to learn more about our courses

New Model Testing – Putting Models at the Heart of Testing

Presentation Format:

Full Day Tutorial/Workshop

Presentation Title:

Putting Models at the Heart of Testing

Audience

Testers and developers – all levels
Test leads, test managers
Anyone who tests

Abstract:

This session explores the use of modelling in testing and how it is the basis of all good test design.

We will use the New Model of Testing as a starting point and discuss how models underpin test design. We will explore some common models that provide the theoretical basis of the common test design techniques. We will then, through examples and exercises work through a variety of software products (e.g. Microsoft Word, Twitter and Google etc.) and some custom-built software applications designed for exploratory testing.

You will learn the importance and value of modelling and the impact it can have on your testing.

Agenda

  • New Model for Testing
    • All testing is exploratory
    • Sources of Knowledge
    • Exploration and modelling
    • 'Exploratory' testing and the New Model
  • Why focus on modelling?
    • Test techniques
    • Why techniques are learnt but little used
    • The Transfer Problem
  • Examples of models
    • Models are everywhere
    • Your brain is a fantastic modelling engine
    • Let's explore some software
  • Test design and models
    • We explore our sources of knowledge
    • We model the problem and validate
    • We select tests to 'cover' the model
  • Characteristics of models
    • All models are wrong, but some are useful
    • Models simplify
    • Models hide complexity
    • Models can help you to explain testing but must be relevant to stakeholders
  • Using Test Models
    • Creating your own test design techniques
    • Identifying coverage items in the target
    • Tracing paths, checks, scripts from models
    • Selecting, changing, refining, discarding models.

3 Key Points:

  • All testing is exploratory, all testing is based on models and test design techniques are derived from models
  • Improve your modelling to increase understanding of a problem, improve your testing, its coverage, meaning and value and how you explain testing
  • You use models instinctively all the time - now, use them explicitly: test models can be pictures, lists, tables, check lists – anything that helps us to understand the system or its definition.

Collateral

Powerpoint slides

Exercises workbook

Access to online practice programs

References

Blogs/Articles:

http://gerrardconsulting.com/index.php?q=node/588

http://conference.eurostarsoftwaretesting.com/2014/courage-and-ambition-in-teaching-and-learning/

A New Model for Testing: http://dev.sp.qa/download/newModel

Click here to learn more about our courses

"How Business Can Use Testing"

 

Presentation Format:

Full Day Tutorial/Workshop

Presentation Title:

"How Business Can Use Testing "

Audience

Testers and developers – all levels
Test leads, test managers
Anyone who tests

Abstract:

Many of the problems of systems development and testing can be traced to the human or organisational problem of lack of engagement with stakeholders. If only we had better access to the users and their managers, then life would be so much easier! But it's not as simple as that.

Business users and their managers tend not to get involved for several reasons. Of course, if the business lack the time and commitment to the project in hand, that almost dooms a project to failure. But this isn't the most common reason. More often, our projects suck the knowledge from business users, but give so little feedback (and confidence in delivery) in return that business teams feel exploited and deceived. But what feedback are we talking about?

Most of this feedback will come, in one form or another, from test activities that take place throughout our projects. The problem stakeholders often have is that much of this feedback is worthless to them because they cannot map the feedback to their own reality.

Partly this is because they were not involved in the definition of the feedback, and partly because most testers are not able communicate their test objective in a meaningful way to their business colleagues. Testers are partly to blame for this situation.

The goal of a Test Strategy is to define how testing will gather, analyse and disseminate intelligence to stakeholders for them to make good decisions. In this respect, testing is a powerful ally of business and this is what we will explore in this tutorial.

Agenda

  • What's the problem?
    • Failures in systems
    • Failures in testing
    • And the real problem is?
  • Aligning IT with Business Goals
    • Stakeholders, Goals and Risks
    • Supplier-Customer Feedback
    • Feedback loops (in Waterfall, Agile, DevOps)
    • Test Strategy is all About Feedback
    • Learning and Feedback
  • Business Modelling and Testing
    • Demonstrating Value
    • Impact Maps and Feature Injection
    • Business Case, Service and System testing
    • Results-Based Management/Project Intelligence
    • New Model Testing
  • Test Strategy
    • Test Axioms
    • Test Strategy in the Large
    • Agile Test Strategy
    • Test Analytics
    • Test Strategy in the Small
    • Communicating Test Strategy
  • How Smart Businesses Use Testing

3 Key Points:

  • Businesses systems are not just software; we tests systems, not just software
  • We need to understand the business problem and model it before we can test it
  • Test strategy applies at all levels; we explore our sources of knowledge, we model, then we test.

Collateral

Powerpoint slides

Exercises workbook

The Tester's Pocketbook

Click here to learn more about our courses

Exploratory Testing

Presentation Format:

Full Day Tutorial/Workshop

Presentation Title:

Exploratory Testing

Abstract:

Exploratory Testing has gained popularity over the last few years, and has quite a following but, like Agile approaches, it still causes some dispute amongst software professional. Some testers love its spontaneity, creativity and flexibility; others mistrust it because it is unsystematic, unplanned, undocumented and an excuse for sloppy work. Of course, ET has its time and place.

ET has its role in all environments, no matter how structured, but it should be regarded as another tool in the testers’ armoury, to be used with judgement.

In fact, Paul argues that all testing is exploratory. See http://gerrardconsulting.com/?q=node/588.

This tutorial sets out the background to the New Model Testing, Exploration and why all testers should know how to explore. The course discusses the important psychological issues relating to exploration and how it can be used in the context of uncertain requirements. A range of techniques are described and examples given.

There will be a lot of practical work, testing functionality available on the internet. A laptop and wireless connection will be required to participate fully. The course does not assume any detailed technical knowledge.

3 Key Points:

  • All testing is exploratory to some degree
  • Exploration of software, even without specifications, relies on sources of knowledge
  • Exploration depends on mental models that we use to inform good testing.

Collateral

 

Click here to learn more about our courses

Python Scripting: An Introduction (aka Python Scripting for Testers)

Duration: 2 days

Goal

To understand the basic constructs of Python and some fundamentals of software design.

After the Course, You Will…

·         Understand how a program can be constructed.

·         Appreciate some of the complexities of software and key challenges of programming and software development.

·         Be familiar with the concepts of variables, decisions, loops, input and output.

·         Recognise the structure of a Python program and how to read code.

·         Comprehend fundamental code patterns and understand how to test them.

Teaching Method

After an initial grounding in programming concepts, the students would be encouraged to practice using the interactive programming shell to experiment with the basic program constructs and techniques.

Students would write some new programs, but more complicated examples of code would be given the students for them to read, comprehend, test and adapt. The goal is not to teach a specific programming language. Rather it is to embed the thinking of program design and automated program testing. These concepts are universal and portable across all technologies.

Target Group

Software Testers or any non-technical person who needs to understand programming and program testing using a scripting language.

Agenda

The agenda below represents the coverage areas of the course, not the running order. The topics in each area will build up in sequence, however.

Overview of the programming process

·         Programming language history and types

·         Origin of the language you will learn

·         Structured program design and modularisation

 

Introducing Python

·         The language interpreter

·         Variables, simple data types, assignments

·         Code blocks and indentation

·         Some built-in functions

·         Commenting and documentation

·         Entering data, displaying the value of variables

·         Modules and importing

·         Arithmetic and calculations

·         Objects, attributes and methods

·         Strings, concatenation, searching, substrings, indexing

·         Lists, tuples and dictionaries

·         Functions, parameters and return values

·         Boolean values and operations, decisions

·         Iteration with loops

·         Simple File I/O

Some Development Topics Covered during the Course

·         Naming conventions

·         Debugging

·         Object-Orientation

·         Assertions and Unit testing with frameworks

·         Refactoring and Maintenance

·         Testing programs

·         Test-Driven Development

·         Behaviour-Driven Development

Exercises

·         Create a sort procedure without software

·         Use of the interpreter

·         Editing and executing source code in files

·         “Hello World!” – your first program

·         Simple calculations

·         Searching strings, splitting and parsing strings

·         An average, max, min calculator

·         Searching, copying and processing files

·         Web page downloader

·         Finding text in HTML

·         A simple web page checker.

Equipment

·         Index cards for the sort procedure exercise

·         Laptop/workstation with a Python interpreter installed

·         Internet Access (or access to presenter’s PC with web app).

Click here to learn more about our courses

Specialist Testing Courses

Agile Governance Workshop

Stakeholders are giving priority to the delivery of value and not just working software. This demands that an agile team needs to provide a level of reporting to demonstrate how this has been achieved. Hence the focus on Agile Governance; which we believe needs to give visibility of how delivered components meet the required ‘value’ criteria and yet doesn’t impact on the productivity of agile development. It can be a challenge to balance these two goals, but we’ll show you how to achieve this. The success of Agile is based upon a small multi-skilled, self-managing team working in short iterations with regular interaction with business stakeholders to ensure the required functionality is delivered. If the level of business involvement is insufficient to ensure this, or when an agile team is part of a larger programme of work, having progress ‘locked’ within the team is problematic. The right level of Agile Governance can ensure agile remains effective whilst providing visibility of how delivered working software relates back to the original goals, objectives and risks – demonstrating the value of the agile team.

Click here to learn more about our courses

 

Other Testing Training

 

Our training is delivered using a workshop format and includes practical exercises & time for discussion. We cover all aspects of software testing, test management, plus interpersonal skills. Our courses include:

  • Acceptance testing for business users
  • Exploratory testing techniques
  • Supplier Selection and Management
  • Critical Thinking for Testers
  • Communication Skills for Testers
  • Test Assurance
  • Improved requirements analysis using Business Story Method

In addition, we will be pleased to compile a custom course for your specific needs, based on our extensive library of training assets.

Click here to learn more about our courses