Duration
3 days
OVERVIEW
Software testing gets a bad rap for being difficult, time-consuming, redundant, and above all - boring. But in fact, it is a proven way to ensure that your software will work flawlessly and meet release schedules. In this two-course series, we will teach you automated software testing in an inspiring way. We will show you that testing is not as daunting a task as you might think, and how automated testing will make you a better developer who programs excellent software.
This program will cover software testing as it is practiced in industry. The first course will cover various techniques, including specification-based testing, boundary testing, test adequacy and code coverage, mock objects, design for testability and test code quality. The second course will cover state-based and web testing, combinatorial testing, mutation testing, static analysis tools, and property-based testing.
Software can be costly to develop, error-prone, and hard to release to production. In this course, Testing Automation: The Big Picture, you'll learn the different types of automated tests that can be created, the various trade-offs involved, and how it can benefit you. First, you'll explore the potential business value of automated tests. Next, you'll cover the difference between unit integration and other types of tests, along with understanding how many of each test to write. Finally, you'll discover how tests fit in with continuous integration and deployment. When you're finished with this course, you'll have a solid understanding of how automated tests can be an enabler for increased business value, and how to start implementing or refining the use of automated tests within your organization.
BENEFITS
- How to test any software system using current state-of-the-art techniques.
- How to derive test cases that deal with exceptional, corner, and bad weather cases by means of several different techniques.
- How to develop testable architectures and to write maintainable test code.
- The limitations of current testing techniques, and how to choose the best testing strategies for a given context.
COURSE OUTLINE
DAY 1Module 1 – Reflection of Automated Software Testing Case Studies
- Management Issues
- Objectives for Automation
- Management Support
- Return on Investment and Metrics
- Automation in Agile Development
- Skills
- Planning, Scope and Expectations
- Relationship with Developers
- Triggers for Change and Getting Started
- Tools & Training
- Political Factors
- Technical Issues
- Abstraction: The Testware Architecture
- Automation Standards
- Reusability, Documentation and Flexibility
- Test Results and Reporting
- Testing the Tests: Reviews, Static Analysis, Testing the Testware
- What Test to Automate
- Failure Analysis
- Automation Finding Bugs
- Tool and Technical Aspects
Module 2: An Agile Team's Test Automation Journey
- Whole Team Commitment
- A Testable Architecture
- Setting Up the Build Process
- Driving Development at the Unit Level
- Applying Acceptance Test Driven Development (ATD)
- In Memory Test
- Test Using the Database
- Benefits of Fitness Test
- Use an Incremental Approach
- The Right Metrics
- Celebrate Successes
- Incorporate Engineering Sprints
- Team Success
- Continuous Improvement
DAY 2Module 3: The Ultimate Database Automation
- Objectives for Test Automation
- Developing Inhouse Test Tool
- Configuration
- Resource Optimization
- Reporting
- Failure Analysis
- Results and Managing Automated Test
- Test Suites and Types
- Pitfalls Encountered and Lesson Learned
Module 4: Moving to the Cloud - The Evolution of TiP, Continuous Regression Testing
- Guiding Principles of TiP Test Strategy
- How We Implement TiP
- Monthly Service Review Scorecards
- Reading Our Scorecard
- What we did with the incident and escalation report
- What we learned
- Issues Related to Partner Services
- Challenges in Monitoring Across the Cloud
- Sample Issues Found in Production by TiP Tests
- Aggregating to Deal with 'Noise' in the Results
Module 5: The Automator Becomes the Automated
- Role of Technical Support
- Joining the QA Team
- Getting into the Job
- Validating Checkpoints
- Then Things Got Difficult
- The Beginning of the End
DAY 3Module 6: Project Failure an Success with Automated Software Testing
- Our Estimated Return on Investment
- The Start
- Pilot Project Goals
- Understanding the Task and the Tools
- The Strategy and Plan
- The Agile Testing Method
- Result of the First Period
- The Next Time Period: Testing for Real
- What to Automate
- Stakeholders’ Involvement
- Uniform Solution
- Application Structure and Test Case Structure in QC
- Go/Do Not Go after 3 Months
- Real Project after the Pilot Project
- The First Automated Test Used in Real Releases to Production
- The Whole Automated Test in Production
Module 7: Automating the Testing of Complex Government Systems
- Our Requirements for Automation
- Automated Test and Re-Test (ATRT), Our Automated Testing Solution
- Can’t Be Intrusive to SUT
- Must Be OS Independent
- Must Be Independent of the GUI
- Must Automate Tests for Both Display-Centric and Non-Display Centric Interfaces
- Must Be Able to Handle a Networked Multicomputer
- Environment
- Non-developers Should Be Able to Use the Tool
- Must Support an Automated Requirements Traceability Matrix
- Automated Testing Solution Applied
Module 9: Model-Based Test-Case Generation in ESA Projects
- Model-Based Testing and Test-Case Generation
- Model-Based Testing with IDATG
- Our Application: ESA Multi-Mission User Services
- Testing Approach for MMUS
- Experience and Lessons Learned
Benefits
- ROI of Model-Based Testing
- Problems and Lessons Learned
NOTEActivities on case study, brainstorming, high team interaction and role-plays will be incorporated during training session with all participants to further facilitate and strengthen candidates understanding on Business Analysis concepts and methodology in an overall manner.
Programme scope, delivery arrangements and suitability are confirmed during enquiry.