Get in Touch

Course Outline

QA/CI

  • Understanding QA
  • Understanding CI
  • The costs associated with software development, refactoring, and error correction
  • Identifying and comprehending the project
  • Organizational benefits

DDD

  • Software development grounded in business requirements and DDD assumptions
  • Communication challenges between IT and Business
  • Domain Model

Best Practices

  • KISS principle and DRY
  • Coding standards
  • Developing reusable code via 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
  • Metrics for use

Software Testing

  • What, when, and how to test?
  • White-box and black-box methods
  • The role of testing in agile methodologies
  • TDD as a potential driver of increased project costs
  • Unit testing
  • Behavioral tests
  • Functional tests

Refactoring

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

Documentation

  • The role of documentation in agile methodologies
  • What needs documentation?
  • Types of documentation
  • Documentation and agile methodologies: Working software over comprehensive documentation?
  • Standard XMI
  • Automatic documentation generation

CI Tools and Environment

  • CI Tools and Environment

Agile and CI/QA

  • Planning and incremental development
  • Embracing Change
  • Short iterations
  • Interdisciplinary teams
  • Extreme Programming, Code Review
  • Individuals and interactions over processes and tools

Summary

  • Discussion
  • Questions
  • Initiating the implementation process

Introduction to Testing

  • Functional Tests
  • Regression Test
  • UAT Tests
  • Unit Tests
  • Usability Tests
  • Non Functional Tests
  • Performance test
  • Load test
  • Stress test
  • Soak test

To Test or Not to Test

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

The Testing Process

  • Testing as a process and strategy
  • Identifying testing needs
  • Gathering requirements (use cases, user stories)
  • Scoping (selecting and prioritising scenarios)
  • Designing tests
  • Preparing data
  • Preparing the environment
  • Creating or recording tests
  • Executing the test
  • Analysis and reporting
  • Conclusions and improvements
  • Knowing when to stop

Product Owner and Tests

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

Testimonials (1)

Related Categories