Quality Assurance and Continuous Integration培训
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?