Get in Touch

Course Outline

QA/CI

  • Defining QA
  • Defining CI
  • The costs of software development, refactoring, and error correction
  • Identifying and understanding the project context
  • Benefits to the organization

DDD

  • Software development driven by business requirements and DDD assumptions
  • Challenges in IT-Business communication
  • The Domain Model

Best Practices

  • The KISS and DRY principles
  • Coding standards
  • Creating reusable code through 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 case metrics

Software Testing

  • What, when, and how to test?
  • White-box and black-box testing methods
  • The role of testing in agile methodologies
  • Addressing the misconception that TDD only increases project costs
  • Unit testing using JUnit (Java) and PHPUnit (PHP)
  • Behavioral testing using JBehave (Java), and Behat and Mink (PHP)
  • Functional testing

Refactoring

  • Defining refactoring
  • Technical debt
  • Code smells
  • Refactoring patterns

Documentation

  • The role of documentation in agile methodologies
  • What should be documented?
  • Types of documentation
  • Documentation in agile: Working software over comprehensive documentation?
  • XMI standards
  • Automatic documentation generation from Javadoc (Java) and ApiGen (PHP)

CI Tools and Environment

  • CI Tools and Environment
    • PMD (Java), phpmd (PHP)
    • CPD (Java), phpcpd (PHP)
    • Lines Of Code Counter (Java), phploc (PHP)
    • UCDetector (Java), phpdcd (PHP)
    • Jdepend (Java), phpdepend (PHP)
  • Jenkins Continuous Integration Server

Agile and CI/QA

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

Summary

  • Discussion
  • Questions
  • How to begin the implementation process?

Requirements

Familiarity with software development processes

 14 Hours

Custom Corporate Training

Training solutions designed exclusively for businesses.

  • Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
  • Flexible Schedule: Dates and times adapted to your team's agenda.
  • Format: Online (live), In-company (at your offices), or Hybrid.
Investment

Price per private group, online live training, starting from 2600 € + VAT*

Contact us for an exact quote and to hear our latest promotions

Testimonials (4)

Provisional Upcoming Courses (Contact Us For More Information)

Related Categories