Developer Testing Boot Camp

Developer Testing Boot Camp

We offer private training, at your location or virtually, and an OnDemand course catalog.

About Developer Testing Boot Camp

  Duration: 1.5 – 3 day course
  Resources: Workbook, Online Companion Course

Developer testing is a critical component of software development — yet studies show that developer testing is typically inefficient and ineffective. Significant developer effort is spent without finding defects that should have been found.

Learn how to be more efficient and effective by achieving higher test coverage and how to make the software itself more testable. See how to plan and carry out an efficient and effective developer testing strategy. Avoid common testing pitfalls, and learn to determine how much developer testing is enough.

Core Concepts

  • Test case, test set, test suite
  • Positive and negative test cases
  • Functional and structural testing
  • Unit, integration, system, acceptance, regression testing
  • Test coverage
  • Test tools and frameworks
  • Testing as risk mitigation

Functional Testing

  • Testing from requirements
  • Requirements coverage
  • Input domain analysis
  • Output domain analysis
  • Equivalence class partitioning
  • Equivalence class coverage
  • Boundary value analysis
  • Boundary value coverage
  • Combinatorial analysis
  • All pairs coverage

Structural Testing

  • Control flow analysis
  • Statement coverage
  • Decision (branch) coverage
  • Condition-decision coverage
  • Multiple condition coverage
  • Modified condition/decision coverage
  • Path coverage
  • Loop coverage
  • Static Analysis
  • Cyclomatic complexity
  • Fan in
  • Fan out

Test Planning

  • Determining the ROI of testing
  • Cost / benefit of automating tests
  • Cost / benefit of unit testing
  • Cost / benefit of integration testing
  • Cost / benefit of system testing
  • Cost / benefit of designing for testability
  • Introduction to risk-based testing

Unit testing tools and practices

  • Unit testing frameworks
  • Stubs and drivers
  • Test doubles and mock objects
  • Data-driven tests

Test-driven development

  • Process of test-driven development
  • Benefits of test-driven development
  • Costs of test-driven development
  • Pitfalls of test-driven development

Writing testable code

  • Design by contract
  • Minimize logical complexity
  • Functional decomposition
  • Robustness and correctness
  • Refactoring
  • Design patterns
  • Dependency injection
  • Alternatives to inheritance

Testing the tests

  • Peer Reviews
  • Defect seeding
  • Mutation testing

Helpful tools

  • Control-flow graph generators
  • Data-flow graph generators
  • Test input generators
  • Data-driven test frameworks
  • Behavior-driven test frameworks
  • Coverage analyzers
  • Static metrics analyzers
  • Mock object frameworks
  • Mutation tools
  • Dependency structure matrix
  • Cause-effect graph

You will be able to develop optimal test cases—both functional (black box) and structural (white box).

This course is intended primarily for software engineers. Software leads, QA leads, and test professionals who want to learn testing from the developer’s perspective are also encouraged to attend.

“The class really provided me with information that will allow us to be more systematic in our unit testing.  Thanks again.”

Cindy Johnson, Medtronic

“I’ve been to a lot of professional/technical training. This was far and away the best. Filled with valuable learnings from start to finish, well paced, and just the right balance of presentation, lab, and discussion.”

Lane Galloway, POP

“Formalizes the testing knowledge that I’ve acquired by experience. Now I see why I thought those were good tests. I can add more good tests and avoid redundant/useless ones.”

Khouri Giordano, Nikon

“Clear and engaging examples that complemented the course material. TDD exercises were really fun to do and learn from!”

Mikhair Atavine, Demonware

“Considering the requirements of my group to do unit testing during this release cycle, the course gave me a solid understanding of how to approach unit testing. Glad I took the course.”

Clifton Epps, ViaSat

“The most valuable part was the in depth practical experiences in real world scenarios. Additionally, the content I was hoping to get was state-of-the-art techniques, and it was! Great Boot Camp and great instructor!”

David Vasquez, Mitratech

“I learned something new from every part of the course. Very happy I attended.”

Marco Ely, Arris

“The lab materials were crucial for applying the fundamentals discussed in the class and immediately drove home concepts.”

Ayaz Hemani, Nielsen

“There was a good mix of hands-on stuff with the modules. This is key because often I’ve learned a concept but don’t know if I’m executing it correctly.”

Michael Smith, Affirma

“It’s so difficult to find quality content out there. Linda and Plural Sight are as close as you get, but this goes to a whole new level.”

David Smith, Adobe

Customize this course

Your team has unique challenges. Learn about the ways we can customize this course to fit your needs.