Testing
What are we testing?
(system under test)
Actual Implementation
We know the insights
of the system under test
White/Glass box
~Grey box Less knowledge More knowledge
Unknown
Black box
Documentation
Requirements
Expectations
Why we test?
(test objective)
Functional
Main functionality
Positive/Negative
"Non-functional"
UI
UX
Security
Performance
Load
by time of the load
comparing to "nominal"
baseline
Checking the initial system state
Target of Measurements
Server
Client
Compatibility
When are we testing?
(test phases)
V-model
Acceptance
System
Integration
Unit
Iterative SDLC Models
Smoke
New feature testing
Regression Testing
Sanity
How close to market?
Beta-testing
How to test?
(what tests to choose)
Test Design
Equivalence Partitioning / Boundary Values
Pairwise
Diagram Tools
Size of scenario
Amount of Documented
Details of Testing
Scripted
Exploratory
Ad hoc
Monkey Testing
For how long to test?
Session-based testing
Test suites
Gorilla Testing
Dependency
StressTesting
Exhaustive (is impossible)
Branch Testing
By Example
Component Testing
Install/Uninstall Testing
Mutation Testing
Recovery Testing
Risk-Based (actually, all testing is risk-based)
Do we run the code?
Vulnerability Testing
Volume Testing
Conformance testing
Changes not
connected
to Code
Migration Testing
Application Migration
Server Migration
OS Migration
Longevity Testing
Incremental Integration Testing
Accessibility Testing
Assertion Testing
Backward Compatibility Testing
Benchmark Testing
No
Static
Spike Testing
By Target Market
Internationalization
Localization
Soak Testing
Fail-over Testing
Penetration Testing (Pentest)
Where are we testing?
(test environment)
Server-side
User Acceptance Testing (UAT)
Given time frame (predefined deadline)
Cause-Effect
State Transition
Use Case
Timing Diagram
Static Code Analysis
DB Migration
Upgrade Testing
Success Path
Atomic Test Cases
Network
Alpha-testing
Production Testing
Client-side
Cross-browser
End-to-end
Black-box (imagine you don't know what's inside)
Automated
GUI Review
Yes
Dynamic
Code Review
Suitabiliity Testing