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

  14 Hours
 

Related Courses

Jenkins for .Net Continuous Integration (CI)

  14 Hours

Related Categories