|
|
Software Structural Testing is a 2-day course designed to provide an excellent knowledge base and practical skills for anyone interested in improving Software Structural Testing techniques and practices in their organization. This course starts with an overview of software testing basics, including discussions of the importance of software testing, the different levels of testing and basic testing principles. Basic testing terminology is defined. Techniques for ensure test coverage of requirements, different types of testing documentation and various test activities are discussed.Course attendees will learn how to utilize various techniques for performing systematic structural testing, including decision/condition coverage, loop testing and basis path testing. Strategies for performing software and system integration testing are also covered. Method of Instruction: This course is taught through lecture and interactive discussion. Actual examples from the software industry are utilized to make the information relevant. Throughout this course, learned skills are practiced using team exercises. The emphasis of this course is on techniques that allow the attendees to transition the skills learned in this course to their own work environments. Target Audience: Software testers, quality engineering, developer, project managers, functional managers and other software project stakeholders involved in structural test design, and execution, and who are interested in improving software structural testing practices in their organization. Course Objectives: Upon successful completion of this course attendees will be able to:
Course Materials: Student notebooks are designed to provide reference materials that can be utilized by the attendees long after the completion of the course. These materials include:
Detailed Outline:I: Software Testing – The Basics1. Why, What, When & How of Testinga. Why Test? · Testing Defined · Testing Software Products · Why is Testing Important? · Defect Prevention & Process Improvement · Common-Defect Checklists b. When to Test? · Levels of Testing · Testing Activities · Increasing Cost of Fixing Issues c. What to Test? d. How to Test? · Testing Principles · Factors Affecting Quality of Testing 2. Testing Terminologya. Standardizing Testing Terminology b. Mistakes, Faults & Failures c. Testing, Debugging & Root Cause Analysis d. Software Items, Component & Units e. Verification & Validation f. Types of Testing g. Test Bed 3. Test Coverage of Requirementsa. Where to Find Requirements b. Traceability c. Testability d. Attributes of Testable Requirements e. Test Matrix 4. Test Documentationa. Benefits of Formal Test Documentation b. Types of Testing Documentation 5. Test Activitiesa. Test Activities b. Participate in Peer Reviews c. Test Planning & Design d. Test Case Specification e. Test Procedure Specification f. Test Execution g. Test Log h. Test Incident Report i. Test Summary Report 6. Standards & Models Related to Testinga. Why Standards are Important b. IEEE Standards Related to Testing c. ISO 12207 & IEEE/EIA 12207on Testing d. ISO 9000:2000 on Testing e. SEI CMMISM on Testing II: Structural (White Box) Testing1. What is Structural Testing?a. Structural Testing Defined b. Strengths of Structural Testing c. Focus of Structural Testing d. Benefit of Structural Testing e. Weaknesses of Structural Testing f. The Challenge of Structural Testing g. Structural Testing Techniques 2. Condition/Decision Testinga. Types of Condition/Decision Testing b. Statement Coverage c. Decision Coverage d. Condition Coverage e. Condition/Decision Coverage f. Multiple Condition Coverage g. Exercise – Condition/Decision Testing 3. Loop Testinga. Testing Different Classes of Loops b. Common Loop Defects c. Exercise – Testing Loops 4. Basis Path Testinga. Independent Path Coverage b. Step 1: Draw a Control Flow Graph c. Step 2: Calculate Cyclomatic Complexity d. Uses of Cyclomatic Complexity e. Step 3: Choose a Basis Set of Paths f. Step 4: Generate Test Cases g. Exercise – Basis Path Testing 5. Testing Exception Handling6. Structural Test ExecutionIII: Integration Testing1. What is Integration Testing?a. Incremental Integration b. Interfaces c. External Interfaces d. Internal Interfaces e. Cross-Reference Tools f. Coupling g. Component Level Structural Complexity 2. Unit / Component Integration Testinga. Top-Down Integration & Testing b. Stubs c. When to Choose Top-Down d. Bottom-Up Integration & Testing e. Drivers f. When to Choose Bottom-Up 3. Basis Path Testinga. Basis Path Testing During Integration b. Exercise - Basis Path Testing During Integration 4. System Integrationa. Hardware/Software Integration Testing b. Data Flow Testing c. Common Data Flow Defects Other Software Testing Courses Include: Software Testing: is a 5-day course designed to provide an excellent knowledge base and practical skills for anyone interested in improving Software Testing and Test Management techniques and practices in their organization.Software Functional Testing: is a 2-day course designed to provide an excellent knowledge base and practical skills for anyone interested in improving Software Functional Testing techniques and practices in their organization. This course consists of chapters 1 and 4-5 from our standard Software Testing course.Software Functional Testing & Test Management: is a 3-day course designed to provide an excellent knowledge base and practical skills for anyone interested in improving Software Functional Testing and Test Management techniques and practices in their organization. This course consists of chapters 1 and 4-6 from our standard Software Testing course.Software Test Planning & Management: is a 1-day course designed to provide an excellent knowledge base and practical skills for anyone interested in improving Software Testing Management techniques and practices in their organization. This course consists of chapter 6 from our standard Software Testing course.Customized Courses: Our Software Testing courses are modularized so that they can be easily customized for in-house course offerings that focus on the specific content and topics needed to meet your organization’s exact training requirements. The Westfall Team can also customize this course or any of our other standard courses or develop unique software engineering, quality and project management courses to meet your exact in-house training needs and specifications. For example, class exercises can be tailored to include actual examples from your organization in order to make the training more relevant to your environment. For more information about this course or other courses offered by The Westfall Team Send an email to: lwestfall@westfallteam.com Or call: 972-867-1172
|