Course Outline
QA/CI
- What is QA?
- What is CI?
- The costs of software development, refactoring and fix errors
- Identifying and understanding the project
- Profit for the organization
DDD
- Software development based on business requirements, assumptions DDD
- Problems in communication IT-Business
- Domain Model
Best Practices
- KISS principle and DRY
- Coding standards
- Creating reusable code through OOP and design patterns
- Identifying and reducing cyclomatic complexity
Software Metrics
- Weight Method per Class
- Response For a Class
- Depth of Inheritance Tree
- Coupling Between Objects
- Lack of Cohesion of Methods
- Number of Children
- Cyclomatic complexity
- Metrics class
- Model Metrics
- Metrics for use
Software Testing
- What, when and how to test?
- The method of "white-box" and "black box"
- The role of testing in agile methodologies
- TDD only a potential increase in the cost of the project
- Unit testing with JUnit (Java), PHPUnit (PHP)
- Behavioral tests of JBehave (Java), Behat and Mink (PHP)
- Functional tests
Refactoring
- What is refactoring?
- Debt technology
- Code smell
- Refactoring patterns
Documentation
- The role of documentation in agile methodologies
- What to document?
- Types of documentation
- Documentation and agile methodologies, or you can call (Working software over comprehensive documentation)?
- Standard XMI
- Automatic generation of documentation from the Javadoc (Java), ApiGen (PHP)
Tools and Environment CI
- Tools and Environment CI
- 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 stages
- Interdisciplinary team
- Extreme Programming, Code Review
- Individuals and interactions over processes and tools
Summation
- Discussion
- Questions
- How do you begin the process of implementation?
Requirements
Knowledge of software development processes
Testimonials (4)
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
The trainer was very well organized. He explained about all the tools required for the training in the beginning. The trainer happily clarified all the doubts and practical use cases were discussed.
Vivek Verma - Global Knowledge Network Training Ltd
Course - DevOps Practical Implementation and Tools
Very detailed, trainer knows the subject very well and has covered a lot of topics
Gabriel Kelly Navarro - Opswerks
Course - Advanced Spinnaker
All of it. Having had no previous exposure to Jenkins, I was a little concerned about my ability to keep up. IPad provided appropriate coaching/support, when I asked for help, so that I was able to follow the presentation at a level I was happy with.