Instructor-Led | Virtual or In-Person | 1 Full or 2 Half-Days | 25 Participants → Technical

Technology-Facing Testing Techniques (006)


Description
Do you want to take your technical testing skills to the next level? Are you trying to stay relevant on an agile team where testing is shifting to the left on the project timeline? Do you want to help your organization reap the full benefits of testing earlier? This course teaches you the fundamentals of unit testing so you can find bugs as soon as they happen and do more thorough, targeted testing during software development. You'll learn how to apply program-based techniques such as testing by looking, automated unit testing, mocking, and code coverage analysis. Worried that you may not have the technical skills for this workshop? Don't be! The first session is introductory—for everyone of all programming skill levels. You'll get exposure to core concepts and constructs used in structured programming, and develop technical skills through a set of practical code-based testing exercises. You'll then go beyond the basics of unit testing and learn how to design tests that cover multiple branches, independent paths, loops, and data flow conditions. Discover how to apply these techniques to different application tiers, ranging from the user interface to the data access layer, and walk through strategies for integration and service-level testing. Before the end of the workshop, you'll have the opportunity to engage in special topics like test-driven development, mutation testing, and change impact analysis. Have specific technology-facing testing needs? Let us know and we'll see if we can incorporate it into your instance of the course.

Instructor: Tariq King
Content
  • Course Introduction
  • Introductions
  • Course Goals
  • Testing from the Inside
  • Testing By Looking
  • Hands-On: Inspections, Walkthroughs, Reviews
  • Secure Code Review
  • Unit Testing
  • Hands-On: Test Drivers
  • Seams and Class Isolation
  • Hands-On: Mocks, Spies, and Stubs
  • Hands-On: Control Flow Testing
  • Flowcharts
  • Statement Coverage
  • Branch Coverage
  • Multiple Condition Coverage
  • Path Coverage
  • Basis Path Coverage
  • Loop Coverage
  • Hands-On: Data Flow Testing
  • All Definitions Coverage
  • All Uses Coverage
  • All Def-Use Coverage
  • Class Integration & Service-Level Testing
  • Bottom-Up, Top-Down, Sandwich
  • Integration Test Ordering
  • Pairwise Integration
  • Neighborhood Integration
  • API Testing
  • Vulnerability Testing
  • Optional Advanced Special Topics
  • Test-Driven Development
  • Change Impact Analysis
  • Error Seeding and Mutation Testing
  • Wrap Up
  • Lessons Learned
  • Future Directions
Completion rules
  • All units must be completed