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
- What is QA?
- What is CI?
- The costs associated with software development, refactoring, and error correction
- Identifying and understanding the project
- Benefits for the organisation
DDD
- Software development based on business requirements and DDD assumptions
- Communication challenges between IT and business
- 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 in 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 testing methods
- The role of testing in agile methodologies
- TDD: does it only increase project costs?
- Unit testing with JUnit (Java) and PHPUnit (PHP)
- Behavioural tests using JBehave (Java), Behat and Mink (PHP)
- Functional testing
Refactoring
- What is refactoring?
- Technical debt
- Code smells
- Refactoring patterns
Documentation
- The role of documentation in agile methodologies
- What should be documented?
- Types of documentation
- Documentation and agile methodologies: working software over comprehensive documentation?
- XMI standard
- Automatic documentation generation from Javadoc (Java) and ApiGen (PHP)
Tools and CI Environment
- Tools and CI 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 iteration stages
- Interdisciplinary teams
- Extreme Programming and code reviews
- Individuals and interactions over processes and tools
Summation
- Discussion
- Questions
- How do you begin the implementation process?
Requirements
Knowledge of 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!