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 Quality Assurance
- Understanding Continuous Integration
- The financial impact of software development, refactoring, and error correction
- Project identification and comprehension
- Organizational profitability benefits
Domain-Driven Design (DDD)
- Software development grounded in business requirements and DDD assumptions
- Addressing communication gaps between IT and business stakeholders
- Understanding the Domain Model
Best Practices
- Applying the KISS (Keep It Simple, Stupid) and DRY (Don't Repeat Yourself) principles
- Adhering to coding standards
- Developing reusable code via Object-Oriented Programming (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 of Methods
- Number of Children
- Cyclomatic Complexity
- Class Metrics
- Model Metrics
- Use Metrics
Software Testing
- Defining what, when, and how to test
- White-box and black-box testing methodologies
- The critical role of testing within agile methodologies
- Debunking the myth that TDD solely increases project costs
- Unit testing
- Behavioral testing
- Functional testing
Refactoring
- Defining refactoring
- Technical debt
- Recognizing code smells
- Refactoring patterns
Documentation
- The role of documentation in agile methodologies
- Determining what needs documentation
- Types of documentation
- Documentation in agile methodologies: Prioritizing working software over comprehensive documentation
- Standard XMI
- Automated documentation generation
CI Tools and Environment
- Exploring CI tools and environments
Agile and CI/QA Synergy
- Planning and incremental development
- Embracing change
- Short development cycles
- Interdisciplinary teams
- Extreme Programming and Code Reviews
- Valuing individuals and interactions over processes and tools
Summary
- Group discussion
- Q&A session
- Strategies for initiating implementation
Introduction to Testing
- Functional Testing
- Regression Testing
- User Acceptance Testing (UAT)
- Unit Testing
- Usability Testing
- Non-functional Testing
- Performance Testing
- Load Testing
- Stress Testing
- Soak Testing
Test or Not to Test
- Who decides what to test?
- The cost of testing low-impact areas
- Calculating ROI (considering failure analysis)
- The role of the Test Manager
The Testing Process
- Testing as a process and strategy
- Identifying testing requirements
- Gathering requirements (use cases, user stories)
- Scoping (selecting and prioritizing scenarios)
- Test design
- Data preparation
- Environment preparation
- Creating or recording tests
- Executing the test
- Analysis and reporting
- Conclusions and improvements
- Knowing when to stop testing
Product Owner and Tests
- The customer representative and test prioritization
- Prioritizing tests effectively
- Writing effective stories for UAT
- Defining acceptance criteria
- Group exercise: Deriving customer requirements, writing stories, and creating tests
28 Hours
Testimonials (1)
Trainer is very knowledgeable on the subject and able to provide real world examples through his experience.