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
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.
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)
Engaging, and hands on practise.
Balavignesh Elumalai - Scottish Power
Course - SonarQube for DevOps
Trainer has in depth experince and well narreated in deed. The depth of the knowledge and the passion for teaching is highly appriciated.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Course - Jenkins 2: Building CI/CD Pipelines
Being introduced to some technologies I wish I knew earlier.
Michel - Vanier College
Course - DevOps Practical Implementation and Tools
I like all the possibilities that I discovered in the course about DevOps options that I can apply in order to have a better CD/CI workflow!