Skip to content
academia.sh

Course Advanced

Non-Functional Testing

By the end of this course

Start course

01

Performance Testing

Testing behavior under load: separating load, stress, soak and spike testing by the question each one asks, modeling realistic user behavior with think time and workload-mix ratios, choosing percentile latency and throughput metrics that reveal what an average hides, attributing a single result to the application, database and network layers, and a benchmarking discipline that avoids the traps of warm-up, noise and single-run readings.

  1. 01 Performance Testing Types Splitting behavior under load into four separate questions: load, stress, soak and spike testing reading the same metric in a different decision window, all four reaching four separate decisions on the same two structures, deriving a threshold from a budget split, and counting which type produces a false pass at which threshold range through a threshold scan.
  2. 02 Test Scenario Modeling The shape of the load, not its size: measuring at what share of the workload mix a defect becomes visible, a search-heavy unrealistic scenario producing a false pass at the same target rate, a closed-loop generator never reaching the target rate because of its virtual-user count and think time, and the same nominal rate giving three separate p95 values.
  3. 03 Metric Selection Drawing seven separate results from the same run: the mean and median passing the threshold while the tail percentiles fail, counting the minimum sample size a percentile needs to be readable through a subsample scan, and showing through a target-rate ladder that a latency figure cannot be read without the reached rate reported alongside it.
  4. 04 Bottleneck Analysis Tying a load-test result to a layer: measuring application, database and transfer duration separately within a request, attributing three modes that give the same client-side symptom to three separate layers, scanning the attribution rule against a share threshold, and showing with numbers a case where the time genuinely is spent in the right layer but the cause is a different decision.
  5. 05 Benchmarking Discipline The condition for a performance difference to count as meaningful: measuring the warm-up window with request blocks, counting a harness's own noise by running the same code as two arms, showing a round where a single-round reading reads a regression backwards, and balancing the false-fail–false-pass trade-off by scanning threshold and round count together.

02

Security and Accessibility Testing

Testing against attack and unusability: the classes source-code scanning catches and produces false positives on, the coverage limit of dynamic testing that exercises the running application, the scan that searches for known vulnerabilities in the dependency tree, penetration testing's place where automation ends, the criterion share automatic auditing covers in accessibility against the area manual verification demands, and turning the rendering-engine, device, and platform matrix into compatibility testing.

  1. 01 Static Application Security Testing Measuring an audit that scans source code without running it: the false positive and false negative counts a three-rule scanner produces on a known set of flawed files, how threshold scanning picks a different threshold under two cost weights, and the defect that remains in the codebase after the gate turns green.
  2. 02 Dynamic Application Security Testing Measuring a test that sends requests to a running service: the share of endpoints reached through link discovery and a route table, threshold scanning applied to the scored findings the probes produce, and the empty intersection between the defect classes static and dynamic testing see.
  3. 03 Dependency and Component Scanning Searching for known vulnerabilities in the dependency tree: the share of transitive dependencies, the false positives version-range matching produces, threshold scanning over severity, and how many packages a single fix touches at once because of version ranges.
  4. 04 The Role of Penetration Testing Measuring the point where automation ends: the share of entries a threat model can decide automatically, the coverage gap between single-step and multi-step scenarios, and how a chain of individually authorized operations can only be counted as a violation by a hand-written invariant.
  5. 05 Accessibility Testing Measuring an automatic audit's automatable share: separating criteria by decision source, the false positive and false negative counts an auditor that actually runs on a small element tree produces, and the area where manual verification is mandatory in a check where raising the threshold brings no gain.
  6. 06 Compatibility Testing Measuring a matrix that grows with the product of the rendering engine, platform, and screen axes: reducing feature support profiles to distinct classes, the defect gap between selecting by share and selecting by profile, and how the selection criterion turns out more decisive than the threshold.

03

Resilience Testing

Producing failure before it is unexpected: deliberately triggering failure scenarios with fault injection, running controlled breakage in a production-like environment with rules and abort conditions, having a backup-and-failover drill verify recovery objectives, and finding the capacity limit by raising load up to the breaking point.

  1. 01 Fault Injection Deliberately triggering failure scenarios: injecting delay, error, and loss into the catalog service to measure whether the loan flow's pattern actually engages, scanning the drop-rate threshold to count false passes against false fails, the injection layer's cost in code path and default-closed checks, and the failure class injection cannot see.
  2. 02 Chaos Experiments Designing controlled breakage in a production-like environment: measuring the steady state hypothesis from a control run, the blast radius bounded by the experiment tag turning out four times wider because of batching, scanning the share margin to count false fails against late detection, and measuring the damage that accumulates under the abort condition's consecutive window count.
  3. 03 Recovery Verification Testing that a backup is restorable: the same data actually restored in three backup formats and run through five checks, counting false passes against false fails as the verification set grows, a verification that never tests the write path failing to see a lost constraint, and the cost of the verification set staying fixed while restore work grows with the data.
  4. 04 Finding the Capacity Limit Searching for the breaking point: raising load step by step and reading throughput, wait round, and successful request count separately at each step, the saturation step where throughput stops rising and the knee step where delay crosses the threshold not landing at the same place, the rule that declares the limit by throughput letting three steps pass falsely, and lengthening the queue growing throughput while leaving the successful request count unchanged.

Start typing to search.

↑↓ Esc navigate · open · close