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: 2 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

  • Levels of testing maturity
  • Economics of testing
  • Risk-based testing: how much testing is enough?
  • Test case, test set, test suite
  • Positive and negative test cases
  • Functional (“black box”) vs. structural (“white box”) testing
  • Test coverage
  • Unit, integration, system, acceptance, regression testing
  • How testing relates to various development lifecycles

Acceptance Test Driven Development (ATDD)

  • Test Driven Development (TDD) process
  • Example of ATDD
  • Advantages and limitations of ATDD
  • Behavior Driven Development (BDD)

Functional (“Black Box”) Testing

  • Limitations of functional testing
  • Requirements testing and requirements coverage
  • Input domain (equivalence class partitioning) coverage
  • Boundary value coverage
  • Output domain coverage
  • Testability tips: input domain and boundary value coverage
  • Combinatorial testing (e.g., all-pairs coverage)
  • Use case coverage
  • ATDD in light of functional testing

Structural (“White Box”) Testing

  • Limitations of structural testing
  • Control-flow testing
  • Control-flow graphs
  • Statement coverage
  • Decision (branch) coverage
  • Condition/decision coverage
  • Modified condition/decision coverage (MC/DC)
  • Multiple condition coverage
  • Path coverage
  • Comparing control-flow coverage criteria
  • Testability tips: control-flow
  • Data-flow testing
  • Data-flow graphs
  • Static analysis of data-flow graphs
  • All definitions (reach) coverage
  • All uses coverage
  • All DU paths coverage
  • Testability tips: data-flow
  • Compare and contrast control-flow vs. data-flow testing

Testing Object-Oriented Software

  • A new level for testing
  • Dealing with encapsulation
  • Test-specific subclass
  • Mock objects, when to mock and when not to
  • Dependency injection

Unit Test Driven Development (UTDD)

  • Test Driven Development (TDD) process
  • Example of UTDD
  • Unit test automation frameworks
  • UTDD with functional and structural coverage
  • Transitioning to TDD

Test Automation

  • Benefits of test automation
  • Pitfalls of test automation
  • Kinds of test automation

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.