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?
Performance testing specifically measures how a system behaves under expected and peak load conditions, such as response time and resource usage.