Curso Agile Testing Methods for Developers and Testers

  • DevOps | CI | CD | Kubernetes | Web3

Curso Agile Testing Methods for Developers and Testers

32 horas
Visão Geral

Curso Agile Testing Methods for Developers and Testers. O desenvolvimento ágil de software significa produzir código utilizável e testado mais rapidamente do que com métodos tradicionais. Além de práticas que visam acelerar a produção de código, como a programação em pares, os métodos ágeis também definem práticas para melhorar a qualidade do código entregue por meio de testes, como integração contínua e desenvolvimento test-first e orientado a testes. Este Curso Agile Testing Methods for Developers and Testers, explora as diversas práticas Ágeis para melhorar a qualidade do desenvolvimento de software por meio de testes e como essas práticas podem ser aplicadas a qualquer forma de desenvolvimento de software, independentemente de as abordagens Ágeis serem adotadas ou não. Neste Curso Agile Testing Methods for Developers and Testers, exploraremos o desenvolvimento orientado a testes, integração contínua, programação em pares e outros métodos e técnicas introduzidos pelas abordagens de desenvolvimento ágil de software.

Objetivo

Após realizar este Curso Agile Testing Methods for Developers and Testers, você será capáz  de:

  • Revise os processos de teste geralmente aceitos para determinar as vantagens e desvantagens de cada um
  • Examine as abordagens de desenvolvimento ágil de software e como os testes são feitos de maneira ágil
  •  Pratique refatoração e programação em pares para melhorar o desenvolvimento de código
  •  Empregue os princípios do Desenvolvimento Orientado a Testes para melhorar a qualidade do código
  •  Examine as ferramentas de teste de integração e o processo de integração contínua
  • Aplicar técnicas de teste Agile a todos os ciclos de vida de desenvolvimento e todas as práticas de teste
Publico Alvo
  • Programadores, testadores, desenvolvedores de software, gerentes de controle de qualidade, gerentes de projetos de software e qualquer pessoa interessada nos detalhes de práticas, ferramentas e técnicas de testes ágeis.
Pre-Requisitos

Uma compreensão dos processos de teste de desenvolvimento de software.

 

Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Testing in the SDLC

General Approach to Software Development

  1. The Software Development Process
    1. Exercise: Why Don’t We Get Quality Software?
    2. Mandatory Elements
    3. Transitions

The Classic SDLC Timeline

  1.  Elements and Phases
  2.  Test Stages
    1. Unit
    2. Integration
    3. System
    4. Acceptance
    5. Exercise: Can We Do without These Stages?
    6. Exercise: Applying All Four Stages
  3. Issues with Linear Life Cycles
    1. Testing in Isolation
    2. Determining a True Baseline
    3. The Problem with Late Testing
  4. General Approaches To Quality Assurance
    1. It Compiles, Therefore, It Must Work
    2. Problems with Code Expansion

Unit Summary

  1. Keys to Success

Test Methods

General Approaches to Testing

  1. Exercise: Testing Methods
  2. Prepare, Execute, Document
  3. Test Cases
  4. Elements of a Test
  5. Sources of Test Cases
  6. Exercise: Defining a Test Case

Classic Testing Methods

  1. Script-Driven Testing
  2. Destructive Testing
  3. Cause-Effect Testing
  4. Requirements Based Testing
  5. Root Cause Testing

Alternate Test Execution Approaches

  1. Exploratory Testing
  2. Scenario Testing

Testing in Agile Development

  1. Rapid Application Development
  2. Test First Approach
  3. Test-Driven Development
  4. Extreme Programming (XP)
  5. Exercise: What Components of Testing Should Be Taken from Each Method?

Unit Summary

  1. Exercise: Which Method?
  2. Summary
  3. Keys to Success
  4. Applying Test Methods to Your Testing Process

The Concept of Continual Testing

The Rise of Agile Methods

  1. Different Reasons for Agile Software Development
  2. Time – Schedule Orientation
  3. The Agile Manifesto
  4. Quality and Agile?

Testing from the Beginning

  1. The Circle of Life
  2. Agile Approach to Requirements
    1. The User Story
    2. Epics and themes
    3. Testing against stories, epics and themes
  3. Exercise: Creating User Stories, epics, and themes
  4. Can There Be Too Much Testing?
  5. Balanced Approach: Coding and Testing

Testing During Development

  1. The Testing Frameworks
    1. Test Fixtures
    2. Unit Testing
    3. Integration Testing
    4. Acceptance Testing
  2. Defining Tests
    1. Defining the Unit Test
    2. Defining the Acceptance Test
    3. Exercise: Defining a Test from User Story
  3. Setting Up and Organizing Test Cases
    1. The Structure of Test Organization
    2. Separate the Test Class from Code Class
    3. Add Test Class to Build Class
    4. Stubs, Drivers, and Mock Objects
    5. Workshop: Defining Stubs and Drivers

Unit Summary

  1. Applying Continual Testing and Test Organization to Your Testing Process
  2. Keys to Success

Test-Driven Development Overview

Test-First Development

  1. Test-First Philosophy
    1. PDSA Cycle
    2. Design Direction
    3. Verification Method
  2. A Testing Methodology?
  3. How It Works
  4. Workshop: Applying Test-First Approach to Requirements

Design, Code, or Test?

  1. A Testing Methodology?
  2. Rationale for Test-Driven Development
    1. Timeboxing
    2. Accommodating Change
    3. “Red, Green, Refactor”
  3. TDD as a Design Approach
    1. Specification, Not Validation
    2. Alternative to Modeling?
  4. Complementary Approaches

Assessment of TDD

  1. Benefits of TDD Approaches
  2. Limitations of TDD
  3. TDD and Automation
  4. TDD Pragmatics: Project Size, Team Size, Languages
  5. TDD and Traditional Testing Practices

Unit Summary

  1. Keys to Success

Refactoring

What Is Refactoring?

  1. Do the Simplest Thing that Can Work
  2. Principles of Refactoring
  3. Exercise: Refactoring
  4. Bad Smells in Code
    1. Cargo Cult Programming
    2. Voodoo Chicken Programming

Simplification

  1. Simplifying Conditionals
  2. Simplifying Methods
  3. Generalization

Unit Summary

  1. Applying Refactoring to Your Development Process
  2. Keys to Success
  3. Workshop: Refactoring

Execution: Applying TDD at the Unit Level

Developer Testing

  1. Developer, Programmer, Unit Testing
  2. Where TDD Fits
  3. Smallest Increment of Functionality
  4. Rules of TDD
    1. Write the Test – Red
    2. Write the Code – Green
    3. Refactor – Refactor

Using the Unit Testing Frameworks

  1. Framework Class Hierarchy
  2. Runner Class Diagram
  3. JUNIT Framework (3)
  4. Installing XUNIT (3)
  5. Red, Green Refactor in Junit
  6. Nunit Errors
  7. XUnit Rest Results
  8. Typical XUnit Assertion Statements (2)
  9. Other Xunit Frameworks
    1. CppUnit (2)
    2. VBUnit (2)
    3. PyUNit (2)
    4. HTMLUnit (2)
    5. Others (2)

Building Tests

  1. Value of Self-Testing Code
  2. Mock and Fake Objects
    1. Abstract Methods
    2. Mock Object Tools
    3. Method Stub
  3. Organizing Data
  4. White Box and Black Box Testing with TDD
  5. Tips for Building Test Classes
  6. Exercise: Building Tests

Pair Programming

  1. Basis for Pair Programming
  2. Pair Programming Roles
  3. The Tester in Pair Programming
  4. Pair Programming and TDD
  5. Exercise: Pair Programming

Unit Summary

  1. Applying TDD to Your Development Process
  2. Keys to Success
  3. Workshop: Applying TDD

Continuous Integration

Background

  1. Classic Integration
  2. Unit and Integration Testing with TDD
  3. Scheduled Builds
  4. Automation
  5. A Successful Build

Test Organization

  1. Organizing Test Cases for Integration and Regression
  2. Accessing Tests and Code

ANT

  1. Background
  2. ANT Configuration File
  3. Similarities to Make

CruiseControl

  1. What CruiseControl Is All About
  2. The Build Loop
  3. The Dashboard
  4. Getting Started
  5. Reporting

Other Approaches

  1. Hudson

Unit Summary

Applying Continuous Integration to Your Development and Testing Process

  1. Keys to Success
  2. Workshop: CruiseControl

Agile Acceptance Testing

Agile Acceptance Testing

  1. Acceptance Tests Come First
  2. Testing Business Rules
    1. Involving the Customer
    2. Test-First Paradigm
  3. The Safety Net Effect

FIT and FITnesse

  1. Background
  2. Preparation
  3. What Is FIT?
    1. Framework for an Integrated Test (FIT)
    2. Fitnesse – FIT with a Wiki
  4. Context-Driven Testing Revisited
  5. Fixtures (2)
  6. Setting Up Fixtures
    1. Column Fixture
    2. Row Fixture
    3. Action Fixture
  7. Exercise: Setting Up Fixtures
  8. HTML Tables
  9. Parsing Tables
  10. FITnesse Description
  11. Using FITnesse
  12. Organization of Test Cases
  13. Workshop: Setting Up a FITnesse Table

Unit Summary

  1. Applying TDD and Automated Acceptance Testing to Your QC Process
  2. Keys to Success
  3. Workshop: An Automated Acceptance Test

Some Additional Testing Practices

Incorporating the Practices in Your Process

  1. Phased Approach
  2. Increasing Collaboration
  3. What to Do First?

Applying TDD to Structured Approaches

  1. Test First for Design
  2. Testing Structured Code First
  3. Workshop: Adding the Practices

Unit Summary

  1. Keys to Success

The Bottom Line

Ideas to Use

  1. Best Practices in Testing
  2. Best Practices in Agile Testing
  3. Highlights
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h