Curso Effective Software Testing Methods
24hVisão Geral
Quando defeitos são descobertos em um sistema em produção pelo usuário ou cliente, a culpa geralmente é colocada nos testadores. O teste sempre foi considerado a última linha de defesa contra software defeituoso. Novas abordagens para teste aplicam métodos de validação e verificação ao longo de todo o Ciclo de Vida de Desenvolvimento de Software (SDLC).
Este Curso Effective Software Testing Methods apresenta as melhores práticas atuais do setor em testes de aplicativos, inspeção, verificação, validação e automação de testes. Também discutiremos o rastreamento e a remoção de defeitos que reduzem o risco de entregar software com defeitos. Usando workshops que envolvem estudos de caso reais da sua organização, os participantes aprendem os métodos e estratégias atuais que podem ser aplicados para garantir alta qualidade no software entregue.
Objetivo
Ao final do curso, você aprenderá a:
- Gerenciar objetivos, custos e benefícios para melhorar os testes e a inspeção
- Escrever planos de teste, casos, logs e relatórios
- Determinar a estratégia de teste e inspeção mais eficaz para projetos de complexidade e tamanho variados
- Avalie a variedade de métodos de teste que podem ser aplicados para melhorar as taxas de descoberta de defeitos
- Implementar técnicas avançadas de testes de unidade e integração
- Executar e gerenciar testes de sistema, aceitação e regressão
Publico Alvo
- Os participantes deste curso incluem profissionais de teste, gerentes de teste, líderes de projeto, analistas de qualidade e desenvolvedores.
Pre-Requisitos
- Não são assumidos pré-requisitos específicos. É recomendada familiaridade com conceitos de desenvolvimento de software.
Informações Gerais
FORMATO:
100% On-Line na presença de um instrutor/consultor ativo no mercado e docente em sala de aula.
In-company.
Presencial.
PERÍODO:
- Noturno em noites intercaladas exemplo: terça-feira e quinta-feira das 19h às 23h,total de 4h por encontro.
- Aos sábados das 8h às 12h, total de 4h ou das 09h às 18h, total de 8h.
- Integral consultor disponibilidade
LAB:
- Apostila
- Laborátorio individual
- Exercícios práticos
Conteúdo Programatico
Software Testing
- Testing Concepts
- Why Do We Test?
- The Objectives of Testing
- Testing Approaches
- The Goal of Testing
- Role of Quality in the Life Cycle
- Testing in the System Development Life Cycle (SDLC)
- What Is Quality?
- Why Don’t We Get Good Quality in our Delivered Systems?
- Solving the Problem Statement
- Testing Process
- Inspections
- Test Stages
- Testing Planning and Automation
- Automated Testing Tools
Test Planning
- Test Planning Issues
- Five Dimensions of Test Planning
- What Constitutes Test Planning?
- Test Estimation Factors
- Test Program Direction
- QA Policy
- Test Policy
- Overview of Testing Policy
- What Is Planned?
- Testing and Risk
- Risk Reduction Through Testing
- Measuring Success of Testing
- Unit Summary and Best Practices
Creating Test Cases
- What Is a Test Case?
- Definition
- Test Case Format
- Executing a Test Case
- How Do We Create a Test Case/Scenario?
- Requirements
- State Diagrams
- Use Cases
- Scenarios
- Workshop: Writing a Test Plan from Requirements
- Equivalence Classes
- Equivalence Class Principles
- Boundary Analysis
- Equivalence Class Best Practices
- Organizing Test Cases
- Test Case Organization
- Test Case Optimization
- Decision Tables
- Reporting on Tests
- Audiences
- Defect Report
- Unit Summary and Test Case Best Practices
Test Methods
- General Approach to Testing
- Classic Testing Methods
- Script-Driven Testing
- Cause-Effect Testing
- Alternate Test Execution Approaches
- Exploratory Testing
- Scenario Testing in Agile Development
- Test-Driven Development
- Extreme Programming (XP)
- Behavior-Driven Development
- Unit Summary
Inspections
- Benefits of Inspection
- What Is an Inspection?
- Benefits of Early Inspection
- Inspection Costs
- Inspection Process
- Process Overview
- Choosing Reviewers
- Planning the Inspection
- Inspection Steps
- Inspection Criteria
- Software Requirements Checklist
- Design Checklist
- Coding Checklist
- Test Case Checklist
- Test Procedures Checklist
- Test Plan Checklist
- Workshop: Inspecting our Work
Unit Testing
- Unit Testing Planning and Preparation
- Goals of Unit Testing
- Pragmatics of Unit Testing
- Approach to Unit Testing
- The Unit Test Plan
- How Unit Testing Is Done
- The Test Harness
- White Box Testing
- White Box Testing Methods
- What Is Done in White Box Testing?
- Complexity and Measurement
- Black Box Testing
- When To Do Black Box Testing
- Risk-Based Testing
- Unit Testing in Object-Oriented Development
- Automated Unit Testing
- Path Testing
- Object-Oriented Testing Tools
- Unit Summary
- Unit Testing Best Practices
Integration Testing
- Integration Test Planning and Preparation
- Goals of Integration
- Definition of Integration
- Integration Test Plan
- Planning the Integration Test Process
- The Order of Integration
- General Principles
- Alternate Orders of Integration
- What Else Is Integrated?
- Builds
- Smoke Test
- Types of Builds
- The Testbed Database
- Creating a Testbed Database
- Maintaining the Testbed Database
- Tips for an Efficient Applicable Testbed
- Automating Integration Tests
- Automated Builds
- Daily Build and Smoke Test
- Workshop: Creating Integration Test Procedures
System Testing
- System Testing Planning and Preparation
- Goals of System Testing
- Repeatable System Tests
- System Test Plans
- System Testing Scenarios
- Scripted System Test Scenario Design
- Example System Test Scenario
- Risk-Based Testing
- Test Scheduling
- Risk-Driven Strategy for System Test Phase
- Test Selection Criteria
- Non-Functional Testing
- System Test Taxonomy
- Test Scenario Types
- External Interface Testing
- Performance Testing
- Usability Testing
- Automating System Tests
- Performance Measurements
- Automated Scenario Testing
- GUI Testing Tools
- Alpha and Beta Testing
- Alpha Testing
- Beta Testing
- Workshop: System Test Scenarios
Acceptance Test
- Acceptance Test Planning and Preparation
- Goals of Acceptance Testing
- Scope of Acceptance Testing
- Acceptance Test Plans
- Structured, Unscripted Acceptance Tests
- Scripted Acceptance Tests
- Statement of Acceptance
- Executing Acceptance Tests
- Acceptance Test Issues
- Release
- Alternate Methods
- Parallel Running
- Going Live: Uncontrolled, Unscripted
- Automating Acceptance Tests
- Workshop: Creating the Acceptance Test Scenario
- Unit Summary and Acceptance Test Best Practices
Maintenance and Regression Testing
- Maintenance Test Concepts
- Types of Software Maintenance
- Determining Correct Behavior
- The Regression Test Suite
- Testing in Corrective Maintenance
- Corrective Maintenance
- Release Cycles
- Testing in Perfective Maintenance
- Perfective Maintenance Test Strategy
- Testing in Adaptive Maintenance
- Adaptive Maintenance
- Approach to Adaptive Maintenance Testing
- Regression Test Suites
- Identifying Regression Test Suites
- Test Reusability
- Automated Regression Testing
- GUI Regression Tools
- Workshop: Impact on System Requirements
Test Management
- Test Management Issues
- Software Testing Model
- The Test Environment
- Test Plans and Documentation
- Sources of Test Plans
- Typical Test Documentation
- Test Automation
- Real Cost of Test Automation
- Automated Test Guidelines
- Automated Test Suites
The Bottom Line
- Where to Go for More Information
- Practical Ideas in Software Testing