Get in Touch

Course Outline

QA/CI

  • What is QA?
  • What is CI?
  • The costs of software development, refactoring, and fixing errors
  • Identifying and understanding the project
  • Benefits for the organisation

DDD

  • Software development based on business requirements, assuming DDD
  • Communication challenges between IT and business
  • Domain Model

Best Practices

  • KISS principle and DRY
  • Coding standards
  • Creating reusable code through OOP and design patterns
  • Identifying and reducing cyclomatic complexity

Software Metrics

  • Weighted Method 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
  • Metrics for use

Software Testing

  • What, when, and how to test?
  • The "white-box" and "black-box" methods
  • The role of testing in agile methodologies
  • TDD: only a potential increase in project costs?
  • Unit testing
  • Behavioural tests
  • Functional tests

Refactoring

  • What is refactoring?
  • Technical debt
  • Code smells
  • Refactoring patterns

Documentation

  • The role of documentation in agile methodologies
  • What to document?
  • Types of documentation
  • Documentation and agile methodologies, or "Working software over comprehensive documentation"?
  • Standard XMI
  • Automatic generation of documentation

Tools and Environment CI

  • Tools and Environment CI

Agile and CI/QA

  • Planning and incremental development
  • Embracing change
  • Short stages
  • Interdisciplinary team
  • Extreme Programming, Code Review
  • Individuals and interactions over processes and tools

Summation

  • Discussion
  • Questions
  • How do you begin the implementation process?

Introduction to testing

  • Functional Tests
  • Regression Tests
  • UAT Tests
  • Unit Tests
  • Usability Tests
  • Non-functional Tests
  • Performance Tests
  • Load Tests
  • Stress Tests
  • Soak Tests

Test or not to test

  • Who decides what to test?
  • The cost of testing irrelevant aspects
  • Calculating ROI (what if something fails analysis)
  • The role of the Test Manager

The process of Testing

  • Testing is a process and a strategy
  • Identifying testing needs
  • Gathering requirements (use cases, user stories)
  • Scoping (choosing and prioritising scenarios)
  • Designing tests
  • Preparing data
  • Preparing the environment
  • Creating or recording tests
  • Performing the test
  • Analysis and reporting
  • Conclusions and improvement
  • When to say "stop"

Product owner and Tests

  • The customer representative and test prioritisation
  • Prioritising tests
  • Writing effective stories for UAT
  • Acceptance criteria
  • Group exercise to produce customer requirements, write stories based on those requirements, and create tests
 28 Hours

Number of participants


Price per participant

Testimonials (1)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories