Get in Touch

Course Outline

QA/CI

  • Understanding Quality Assurance
  • Understanding Continuous Integration
  • The financial impact of software development, refactoring, and error correction
  • Project identification and comprehension
  • Organizational profitability benefits

Domain-Driven Design (DDD)

  • Software development grounded in business requirements and DDD assumptions
  • Addressing communication gaps between IT and business stakeholders
  • Understanding the Domain Model

Best Practices

  • Applying the KISS (Keep It Simple, Stupid) and DRY (Don't Repeat Yourself) principles
  • Adhering to coding standards
  • Developing reusable code via Object-Oriented Programming (OOP) and design patterns
  • Identifying and reducing cyclomatic complexity

Software Metrics

  • Weighted Methods per Class
  • Response for a Class
  • Depth of Inheritance Tree
  • Coupling Between Objects
  • Lack of Cohesion of Methods
  • Number of Children
  • Cyclomatic Complexity
  • Class Metrics
  • Model Metrics
  • Use Metrics

Software Testing

  • Defining what, when, and how to test
  • White-box and black-box testing methodologies
  • The critical role of testing within agile methodologies
  • Debunking the myth that TDD solely increases project costs
  • Unit testing
  • Behavioral testing
  • Functional testing

Refactoring

  • Defining refactoring
  • Technical debt
  • Recognizing code smells
  • Refactoring patterns

Documentation

  • The role of documentation in agile methodologies
  • Determining what needs documentation
  • Types of documentation
  • Documentation in agile methodologies: Prioritizing working software over comprehensive documentation
  • Standard XMI
  • Automated documentation generation

CI Tools and Environment

  • Exploring CI tools and environments

Agile and CI/QA Synergy

  • Planning and incremental development
  • Embracing change
  • Short development cycles
  • Interdisciplinary teams
  • Extreme Programming and Code Reviews
  • Valuing individuals and interactions over processes and tools

Summary

  • Group discussion
  • Q&A session
  • Strategies for initiating implementation

Introduction to Testing

  • Functional Testing
  • Regression Testing
  • User Acceptance Testing (UAT)
  • Unit Testing
  • Usability Testing
  • Non-functional Testing
  • Performance Testing
  • Load Testing
  • Stress Testing
  • Soak Testing

Test or Not to Test

  • Who decides what to test?
  • The cost of testing low-impact areas
  • Calculating ROI (considering failure analysis)
  • The role of the Test Manager

The Testing Process

  • Testing as a process and strategy
  • Identifying testing requirements
  • Gathering requirements (use cases, user stories)
  • Scoping (selecting and prioritizing scenarios)
  • Test design
  • Data preparation
  • Environment preparation
  • Creating or recording tests
  • Executing the test
  • Analysis and reporting
  • Conclusions and improvements
  • Knowing when to stop testing

Product Owner and Tests

  • The customer representative and test prioritization
  • Prioritizing tests effectively
  • Writing effective stories for UAT
  • Defining acceptance criteria
  • Group exercise: Deriving customer requirements, writing stories, and creating tests
 28 Hours

Testimonials (1)

Upcoming Courses

Related Categories