Lesson 9 — Testing Types

Non-Functional Testing

Non-functional testing evaluates how well a system performs, rather than whether it performs the right actions — covering performance, security, usability, and reliability.

Common Non-Functional Testing Types

While functional testing asks "does it work?", non-functional testing asks "does it work well, safely, and for everyone?"

  • Performance testing — how the system behaves under expected and peak load.
  • Security testing — identifying vulnerabilities that could be exploited.
  • Usability testing — whether real users can accomplish tasks easily and intuitively.
  • Reliability testing — whether the system remains stable over extended periods of use.

Common Mistakes

  • Deferring non-functional testing until right before release, when performance or security issues are far more expensive to fix.
  • Assuming a feature that passes all functional tests is automatically ready for production, without checking performance under realistic load.
  • Testing usability only with team members who are already deeply familiar with the product, missing a genuine new-user perspective.
  • Treating security testing as a one-time checklist rather than an ongoing concern throughout development.

Professional Tip

Bring non-functional considerations — especially performance and security — into the conversation as early as functional requirements, rather than treating them as an afterthought bolted on right before release.

Your Turn

For an e-commerce checkout page, describe one specific performance test and one specific security test you would want to run before launch.

Mini Quiz

Which type of non-functional testing focuses specifically on how a system behaves under heavy user load?