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
Software Engineering (5 Days)
Day 1: Project Management
- Distinguishing between project management, line management, and maintenance/support operations
- Defining projects and understanding different project structures
- General management principles versus specific project management strategies
- Exploring various management styles
- Unique characteristics of IT projects
- Foundations of the basic project process
- Comparing iterative, incremental, waterfall, agile, and lean methodologies
- Key phases in project lifecycle
- Defining project roles and responsibilities
- Essential project documentation and deliverables
- The human element: soft skills and 'peopleware'
- Overview of major project standards including PRINCE 2, PMBOK, PMI, IPMA, and others
Day 2: Business Analysis and Requirements Engineering Fundamentals
- Establishing clear business objectives
- Understanding business analysis, process management, and improvement strategies
- Clarifying the distinction between business analysis and system analysis
- Identifying system stakeholders, users, context, and boundaries
- The critical importance of requirements
- Defining requirements engineering
- Differentiating requirements engineering from architectural design
- Identifying where requirements engineering is often overlooked
- Integrating requirements engineering into iterative, lean, agile development, and continuous integration practices (FDD, DDD, BDD, TDD)
- Core requirements engineering processes, roles, and artifacts
- Industry standards and certifications: BABOK, ISO/IEEE 29148, IREB, BCS, and IIBA
Day 3: Architecture and Development Fundamentals
- Programming languages: structural and object-oriented paradigms
- Object-oriented development: current relevance versus future trends
- Architectural qualities: modularity, portability, maintainability, and scalability
- Defining and categorizing software architectures
- Differentiating enterprise architecture from system architecture
- Various programming styles
- Programming environments and tools
- Common programming errors and strategies for prevention and mitigation
- Modeling architecture and system components
- Service-oriented architecture (SOA), Web Services, and micro-services
- Automated builds and continuous integration
- Assessing the depth of architectural design required for a project
- Practices such as Extreme Programming, Test-Driven Development (TDD), and refactoring
Day 4: Quality Assurance and Testing Fundamentals
- Understanding product quality: ISO 25010, FURPS, and other frameworks
- The relationship between product quality, user experience, the Kano Model, customer experience management, and holistic quality
- User-centered design, personas, and strategies for personalized quality
- The concept of 'just-enough' quality
- Distinguishing between Quality Assurance (QA) and Quality Control (QC)
- Strategies for managing risk within quality control
- Key components of QA: requirements, process control, configuration and change management, verification, validation, testing, static testing, and static analysis
- Implementing risk-based quality assurance
- Approaches to risk-based testing
- Risk-driven development methodologies
- Boehm’s curve in the context of QA and testing
- An overview of the four major testing schools and how to select the most suitable approach
Day 5: Process Types, Maturity and Process Improvement
- The evolution of IT processes: from Alan Turing and IBM to modern lean startup methodologies
- Understanding process-driven organizations
- Historical context of processes in craftsmanship and industry
- Process modeling techniques: UML, BPMN, and others
- Process management, optimization, re-engineering, and management systems
- Innovative process approaches: Deming, Juran, TPS, and Kaizen
- Philip Crosby’s perspective on whether quality is 'free'
- The history and necessity of maturity improvement: CMMI, SPICE, and other scales
- Specialized maturity models: TMM, TPI (for testing), and Requirements Engineering Maturity (Gorschek)
- Analyzing the relationship between process maturity and product maturity: correlation versus causation
- Analyzing the relationship between process maturity and business success: correlation versus causation
- Key lessons learned: Automated Defect Prevention and the next frontier in productivity
- Approaches such as TQM, Six Sigma, agile retrospectives, and process frameworks
Requirements Engineering (2 Days)
Day 1: Requirements Elicitation, Negotiation, Consolidation and Management
- Strategies for finding requirements: what to seek, when to seek it, and who is responsible
- Classifying stakeholders
- Identifying often-overlooked stakeholders
- Defining the system context and identifying sources of requirements
- Elicitation methods and techniques
- Using prototyping, personas, and testing (including exploratory) for elicitation
- Market-driven requirements engineering (MDRA) and its role in marketing and requirements gathering
- Prioritizing requirements: MoSCoW, Karl Wiegers’ techniques, and agile MMF
- Refining requirements using agile 'specification by example'
- Managing requirements negotiation: types of conflicts and resolution methods
- Resolving internal conflicts between requirement types (e.g., security vs. usability)
- The importance and methodology of requirements traceability
- Managing changes in requirements status
- Requirements CCM, versioning, and establishing baselines
- Distinguishing between the product view and project view of requirements
- Integrating product management and requirements management within projects
Day 2: Requirements Analysis, Modelling, Specification, Verification and Validation
- Understanding analysis as the iterative thinking process between elicitation and specification
- The inherently iterative nature of the requirements process, even in sequential projects
- Pros and cons of using natural language for requirements description
- The benefits and costs associated with requirements modeling
- Guidelines for using natural language in requirements specification
- Creating and maintaining a requirements glossary
- Utilizing UML, BPMN, and other formal/semi-formal notations for requirements
- Employing document and sentence templates for clear requirements description
- Verifying requirements: goals, levels, and methods
- Validating requirements through prototyping, reviews, inspections, and testing
- Differentiating requirements validation from system validation
Testing (2 Days)
Day 1: Test Design, Test Execution and Exploratory Testing
- Test design following risk-based testing: optimizing time and resource allocation
- Test design 'from infinity to here': recognizing the impracticality of exhaustive testing
- Constructing test cases and test scenarios
- Designing tests across various levels, from unit to system testing
- Preparing for both static and dynamic testing
- Business-oriented versus technique-oriented test design ('black-box' and 'white-box')
- Conducting negative testing to break the system and acceptance testing to support developers
- Achieving test coverage: various measures and strategies
- Experience-based test design methods
- Deriving test cases from requirements and system models
- Test design heuristics and the practice of exploratory testing
- Timing for test case design: comparing traditional and exploratory approaches
- Determining the appropriate level of detail in test case descriptions
- Psychological aspects of test execution
- Logging and reporting during test execution
- Designing tests for 'non-functional' requirements
- Automated test design and Model-Based Testing (MBT)
Day 2: Test Organization, Management and Automation
- Understanding test levels (or phases)
- Determining who performs testing and when: exploring various organizational solutions
- Managing test environments: considerations for cost, administration, access, and responsibility
- Utilizing simulators, emulators, and virtual test environments
- Conducting testing within Agile Scrum frameworks
- Test team organization and defining roles
- Executing the test process
- Test automation: identifying what can and should be automated
- Automation of test execution: approaches and available tools
63 Hours
Testimonials (4)
hands on exercises, easier to retain information
ashley bolen - Insurance Corporation of British Columbia
Course - Test Automation with Selenium
The instructor's teaching style was very good.
Kubra
Course - Automation Testing using Selenium
Key topics can be discussed and agreed upon with the trainer in advance. Relaxed and pleasant atmosphere during the seminar days.
Lorenz - Continentale Lebensversicherung AG
Course - Advanced Selenium
I gained new knowledge and I'm pretty confident about it. Nothing unclear.