Content is user-generated and unverified.

Software Testing and User Experience Notes

Testing Methodology

  • Goal: Make sure we don't break the software
  • Requirements Check: Whether the requirements are satisfied
  • Types of Testing:
    • Unit testing
    • Integration testing
    • System testing

Testing Framework

  • Correctness + Diversity: Different environments, different objects, different tests, dynamic elements
  • W.r.t Requirements: Simulation, acceptance criteria, resilience
  • Testing under fault conditions

Code Example

python
def get_obj(req_obj):
    return obj

obj = get_obj('car')
assert obj == 'OS(car)'

Hypothesis Testing

  • Randomized Control Trials
  • Test Generation: Randomize parts of the setup
  • Property-Based Testing: Define properties that hold for the output, test the properties for each input, validate input generation, enable regression or properties

Causality

  • A → B diagram showing causal relationship

Experiment Design

  • Scenarios: Increasing complexity
  • Safety Features:
    • Manual takeover
    • Does not break the system
    • Doesn't override safety features
  • Comparison: Against baseline
    • Dependent variable
    • Independent variable
    • Confounding variables (eliminate as much as possible)

Testing Types

  • Alpha Tests: Beta tests
  • Ethics Approval: User testing
  • Ambiguity/Inconsistency

Key Concepts

  • Class A (A,B,C):Det x wise - Cicle s = 9, self XS = Cn, 2, 3, Self XS
  • Coverage: Correctness + diversity
  • Simulation: Different environments, different objects, different tests
  • Dynamic Elements: Adaptive/receptive graphics

User Testing

  • Safe Behavior: Safety is context-dependent
  • Resilience: Test under human errors before deploying with real people (simulated models)
  • Involve Users: Include users in the development team
  • Social Acceptance
  • Privacy
  • Personalization
Content is user-generated and unverified.
    Software Testing and User Experience Notes | Claude