Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
QA/CI
- Understanding QA
- Understanding CI
- The financial impact of software development, refactoring, and error resolution
- Identifying and comprehending project contexts
- Organizational benefits
DDD
- Software development driven by business requirements and DDD assumptions
- Addressing communication challenges between IT and Business
- Domain Models
Best Practices
- Applying the KISS and DRY principles
- Adhering to coding standards
- Building reusable code through Object-Oriented Programming (OOP) and design patterns
- Identifying and reducing cyclomatic complexity
Software Metrics
- Weighted Methods per Class (WMC)
- Response for a Class (RFC)
- Depth of Inheritance Tree (DIT)
- Coupling Between Objects (CBO)
- Lack of Cohesion of Methods (LCOM)
- Number of Children (NOC)
- Cyclomatic Complexity
- Class-level Metrics
- Model Metrics
- Usage Metrics
Software Testing
- Testing: What, when, and how?
- White-box and black-box testing methods
- The role of testing in agile methodologies
- Debunking the myth that Test-Driven Development (TDD) only increases project costs
- Unit testing using JUnit (Java) and PHPUnit (PHP)
- Behavioral testing with JBehave (Java) and Behat with Mink (PHP)
- Functional testing
Refactoring
- Defining refactoring
- Technical debt
- Recognizing code smells
- Refactoring patterns
Documentation
- The role of documentation in agile methodologies
- Key elements to document
- Types of documentation
- Documentation strategies in agile: Does 'Working software over comprehensive documentation' apply?
- XMI standards
- Automated documentation generation using Javadoc (Java) and ApiGen (PHP)
CI Tools and Environment
- CI Tools and Environment
- PMD (Java) and phpmd (PHP)
- CPD (Java) and phpcpd (PHP)
- Lines Of Code Counter (Java) and phploc (PHP)
- UCDetector (Java) and phpdcd (PHP)
- Jdepend (Java) and phpdepend (PHP)
- Jenkins Continuous Integration Server
Agile and CI/QA
- Planning and incremental development
- Embracing change
- Short development cycles
- Interdisciplinary teams
- Extreme Programming and Code Reviews
- Valuing individuals and interactions over processes and tools
Conclusion
- Group discussion
- Q&A session
- Strategies for initiating the implementation process
Requirements
Familiarity with software development processes
14 Hours
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!