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
- Defining projects and understanding different project types
- General management principles versus specific project management techniques
- Various management styles
- Unique characteristics of IT projects
- Foundational project processes
- Comparing iterative, incremental, waterfall, agile, and lean project methodologies
- Key project phases
- Essential project roles
- Project documentation and other deliverables
- The human element: soft skills and peopleware
- Overview of project standards such as PRINCE 2, PMBOK, PMI, IPMA, and others
Day 2: Business Analysis and Requirements Engineering Fundamentals
- Establishing clear business goals
- Understanding business analysis, business process management, and business process improvement
- The distinction between business analysis and system analysis
- Understanding system stakeholders, users, context, and boundaries
- The necessity of requirements
- Defining requirements engineering
- The boundary between requirements engineering and architectural design
- Common areas where requirements engineering is overlooked
- Implementing requirements engineering in iterative, lean, and agile development, as well as continuous integration contexts (FDD, DDD, BDD, TDD)
- Core requirements engineering processes, roles, and deliverables
- Relevant standards and certifications: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA
Day 3: Architecture and Development Fundamentals
- Programming languages: structural and object-oriented paradigms
- Object-oriented development: historical context and future relevance
- Architectural attributes: modularity, portability, maintainability, and scalability
- Defining and classifying software architectures
- Differentiating between enterprise architecture and system architecture
- Programming styles
- Programming environments
- Common programming errors and strategies to avoid them
- Modeling architecture and components
- SOA, Web Services, and microservices
- Automated builds and continuous integration
- The extent of architectural design required in a project
- Extreme programming, TDD, and refactoring
Day 4: Quality Assurance and Testing Fundamentals
- Understanding product quality: definitions, ISO 25010, FURPS, and more
- Connecting product quality, user experience, the Kano Model, customer experience management, and total quality
- User-centered design, personas, and personalizing quality approaches
- Achieving "just-enough" quality
- Distinguishing Quality Assurance (QA) from Quality Control (QC)
- Risk strategies in quality control
- QA components: requirements, process control, configuration and change management, verification, validation, testing, static testing, and static analysis
- Risk-based quality assurance
- Risk-based testing
- Risk-driven development
- Boehm’s curve as it applies to quality assurance and testing
- The four testing schools and identifying which best fits your needs
Day 5: Process Types, Maturity, and Process Improvement
- The evolution of IT processes: from Alan Turing and IBM to lean startups
- Processes and process-oriented organizations
- The history 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, Kaizen
- Is quality free? Insights from Philip Crosby
- The history and need for maturity improvement: CMMI, SPICE, and other maturity models
- Specialized maturity models: TMM, TPI (for testing), and Requirements Engineering Maturity (Gorschek)
- Correlations between process maturity and product maturity: Is there a causal link?
- Correlations between process maturity and business success: Is there a causal link?
- Lessons learned: Automated Defect Prevention and the next leap in productivity
- Initiatives like TQM, Six Sigma, agile retrospectives, and process frameworks
Requirements Engineering (2 Days)
Day 1: Requirements Elicitation, Negotiation, Consolidation, and Management
- Identifying requirements: determining what, when, and who is responsible
- Classifying stakeholders
- Recognizing often-forgotten stakeholders
- Defining the system context to identify requirement sources
- Elicitation methods and techniques
- Using prototyping, personas, and testing (exploratory and other methods) for elicitation
- Market-driven requirements elicitation: MDRA (“Market-Driven Requirements Engineering”)
- Prioritizing requirements: MoSCoW, Karl Wiegers’ methods, and other techniques (including agile MMF)
- Refining requirements using agile “specification by example”
- Managing requirements negotiation: conflict types and resolution methods
- Resolving internal conflicts between requirement types (e.g., security vs. usability)
- Requirements traceability: importance and implementation
- Managing changes in requirements status
- Requirements Change Control Management (CCM), versioning, and baselines
- Viewing requirements from both product and project perspectives
- Integrating product management and requirements management within projects
Day 2: Requirements Analysis, Modeling, Specification, Verification, and Validation
- Understanding analysis as the iterative thinking process between elicitation and specification
- Recognizing that the requirements process is always iterative, even in sequential projects
- Pros and cons of describing requirements in natural language
- Benefits and costs of requirements modeling
- Guidelines for using natural language in requirements specification
- Creating and managing a requirements glossary
- Applying UML, BPMN, and other formal/semi-formal modeling notations for requirements
- Using document and sentence templates for describing requirements
- Requirements verification: objectives, levels, and methods
- Validation techniques: prototyping, reviews, inspections, and testing
- Distinguishing between requirements validation and system validation
Testing (2 Days)
Day 1: Test Design, Test Execution, and Exploratory Testing
- Test design after risk-based testing: optimizing the use of available time and resources
- Test design challenges: understanding that exhaustive testing is impossible (“from infinity to here”)
- Defining test cases and test scenarios
- Conducting test design across various levels (from unit to system testing)
- Differentiating test design for static versus dynamic testing
- Business-oriented vs. technique-oriented test design (“black-box” and “white-box”)
- Purposeful system breaking (“negative testing”) vs. supporting developers via acceptance testing
- Strategies for achieving test coverage using various metrics
- Experience-based test design
- Deriving test cases from requirements and system models
- Test design heuristics and exploratory testing
- Timing of test case design: traditional versus exploratory approaches
- Detail levels for describing test cases
- Psychological aspects of test execution
- Logging and reporting during test execution
- Designing tests for “non-functional” aspects
- 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 solutions
- Managing test environments: costs, administration, access, and responsibility
- Utilizing simulators, emulators, and virtual test environments
- Integrating testing within agile scrum
- Structuring test teams and defining their roles
- Defining the test process
- Test automation: identifying what can be automated
- Test execution automation: approaches and 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.