Software Testing Workshop (BA39)
About this Course
All too often the software products delivered to the business do not meet their expectations, especially with regard to the quality of the product. An effective testing process addresses this issue by confirming the functionality and performance of the product prior to its release to the business.
This two day class looks at the business issues which drive the need for a fully functional testing process and describes the components of such a process. It is designed to help the testers develop an understanding of their role, the process, and the deliverables associated with testing.
This course is designed for developers, systems analysts, and testers who are involved with testing the functionality of technology projects.
At Course Completion
Upon completing this course, students will be able to:
- Develop an understanding about basic concepts associated with software testing
- See how testing applies to the Software Development Lifecycle (SDLC)
- Recognize benefits of improved quality of deployed software using testing techniques
- Identify the key roles, activities and deliverables which make up requirements-based testing
- Use a business Use Case to define scenarios for testing
- Learn how to create a test plan and write test cases with test data
- Understand the process for testing functional requirements
- Identify the challenges of testing vendor-supplied applications
It is recommended that the participants have a basic knowledge of the software life cycle
1. Background – why is testing important?
- Symptoms and sources of quality problems
- Benefits of early inspections and reviews
- The Quality Maturity Scale
- The current state of testing
- Challenges in improving quality
2. The Testing Lifecycle – A process overview
- What is a testing lifecycle?
- Iterative testing principles
- Sample testing types
3. Testing Types – A process overview
- Classifying testing types
- System, Integration, Vendor Validation, Regression, Maintenance, etc.
4. Software Testing - the Basics
- Typical problems we encounter with software
- The Cost of Quality (CoQ) and the cost of finding defects too late
- The four stages of software testing (Unit, Integration, System, User Acceptance Testing (UAT)
- Testing best practices
- Exercise: “How would you test it?” – A new technology is presented to the participants and they are asked to brainstorm what would they test to ensure it is working correctly. (15 minutes)
5. Understanding the Tester’s Terminology
- What is requirements-based testing and what is the role of the tester?
- Characteristics of a good tester
- The tasks of testing
- The documents
- Common terms & definitions
- The three testing techniques
- Testing visibility (White Box, Gray Box, and Black Box testing)
- Exercise: Testing Jeopardy – A fun and fast-paced game of Jeopardy – used as a review of terms, concepts, and roles learned in this lesson . (15 minutes)
1. The Test Planning Process
- The importance of test planning
- What is a Test Plan?
- The six steps for creating a Test Plan
- General testing tips
- Exercise: “Create a Test Plan” – The participants will identify test scenarios from a Business Use Case and identify test objectives and high-level test data for each scenario
2. Test Coverage
- What is test coverage?
- Using a Requirements Traceability Matrix
- Set the testing scope – what to test and what not to test
- The Test Coverage Matrix
3. Creating and Executing the Test Cases
- What are the goals of testing?
- What is a Test Case?
- How do Test Plans and Test Cases relate?
- The four steps for creating a Test Case
- Exercise: “Write a Test Case” – The participants will be asked to write a high-level Test Case from their Business Use Case and define test data for a portion of the steps
- Preparing, running, and documenting the Tests
- General testing tips and techniques
4. Verifying the Test Results
- Documenting test results
- What is a defect?
- How to log a defect?
- The “bug” lifecycle
- Writing a good problem description
- Taking screen snapshots
- 10 tips to avoid writing bad defect reports
- Exercise: “Log a defect” – The participants will write a concise and complete statement to explain a defect
- Signing-off on the product
5. Testing Vendor-Supplied Applications
- Challenges of testing vendor-supplied applications
- Challenges to the business
- Eight steps for testing vendor-supplied applications
- Handout: An industry case study for testing vendor products