The Programmer's Guide
CtrlK
  • About
  • Algorithm
    • Big O Notation
      • Tree
      • Problems
    • Basic Notes
    • Data Structure Implementation
      • Custom LinkedList
      • Custom Stack
      • Custom Queue
      • Custom Tree
        • Binary Tree Implementation
        • Binary Search Tree Implementation
        • Min Heap Implementation
        • Max Heap Implementation
        • Trie Implementation
      • Custom Graph
        • Adjacency List
        • Adjacency Matrix
        • Edge List
        • Bidirectional Search
    • Mathematical Algorithms
      • Problems - Set 1
      • Problems - Set 2
    • Bit Manipulation
      • Representation
      • Truth Tables
      • Number System
        • Java Program
      • Problems - Set 1
    • Searching
    • Sorting
    • Array Algorithms
    • String Algorithms
      • Problems - Set 1
    • Sliding Window Programming
      • Problems - Set 1
    • Tree
      • Tree Traversal Techniques
      • Tree Implementation
      • AVL Tree
      • Red-Black Trees
      • Applications of Trees
      • Problems - Set 1
    • Graph
      • Graph Traversal Techniques
      • Shortest Path Algorithms
        • Dijkstra’s Algorithm
      • Minimum Spanning Tree (MST) Algorithms
      • Topological Sort
    • Dynamic Programming
      • Problems - Set 1
    • Greedy Programming
    • Recursion
    • Parallel Programming
      • Problems - Set 1
    • Miscellaneous
      • Problems - Set 1
  • API
    • API Basics
      • Terminology
      • What is an API?
      • Consumers & Providers
      • Request & Response
      • Types of API
    • REST API
      • RESTful API Principles
      • HTTP Status Code
      • HTTP Verbs or Methods
      • HTTP Headers
        • Content Type
        • Content-Disposition
      • Query Parameters & Path Parameters
        • Handling Special Characters in URL
    • API Testing
      • Tools
        • Postman
        • SoapUI
        • Curl
  • Cloud Computing
    • Cloud Fundamentals
      • Cloud Characteristics
      • Infrastructure Concepts
  • Database
    • DBMS
      • Types of DBMS
        • Relational DBMS (RDBMS)
        • NoSQL DBMS
        • Object-Oriented DBMS (OODBMS)
        • Columnar DBMS
        • In-Memory DBMS
        • Distributed DBMS
        • Cloud-Based DBMS
        • Hierarchical DBMS
      • DBMS Architecture
      • DBMS Structure
    • SQL Databases
      • Terminology
      • RDBMS Concepts
        • Entity Relationship Diagram (ERD)
          • ERD Examples
        • Normalization
        • Denormalization
        • ACID & BASE Properties
          • ACID Properties
          • BASE Properties
        • Locking and Unlocking
      • SQL Fundamentals
        • SQL Commands
          • DDL (Data Definition Language)
          • DML (Data Manipulation Language)
          • DCL (Data Control Language)
          • TCL (Transaction Control Language)
          • DQL (Data Query Language)
        • SQL Operators
          • INTERSECT
          • EXCEPT
          • MINUS
          • IN and NOT IN
          • EXISTS and NOT EXISTS
        • SQL Clauses
          • Joins
          • OVER
          • WITH
          • CONNECT BY
          • MODEL
          • FETCH FIRST
          • KEEP
          • OFFSET with FETCH
        • SQL Functions
          • Oracle Specific
        • SQL Data Types
          • Numeric Types
          • Character Types
          • Date & Time Types
          • Large Object Types
      • Vendor Specific Concepts
        • Oracle Specific
          • Data Types
            • BLOB
            • Use Case
          • Character Set
          • Rownum, Rowid, Urowid
          • Order of Execution of the query
          • Execution Plan
            • Understand Execution Plan
          • Keys
          • Tablespace
          • Partition
        • Oracle Examples
        • MYSQL Specific
          • Collation
          • Character Set
        • MYSQL Examples
      • Best Practice
      • Resources & References
        • O’Reilly SQL Cookbook (2nd Edition)
          • 1. Retrieving Records
          • 2. Sorting Query Results
          • 3. Working with Multiple Tables
          • 4. Inserting, Updating, and Deleting
          • 5. Metadata Queries
          • 6. Working with Strings
          • 7. Working with Numbers
          • 8. Date Arithmetic
          • 9. Date Manipulation
          • 10. Working with Ranges
          • 11. Advanced Searching
          • 12. Reporting and Reshaping
          • 13. Hierarchical Queries
          • 14. Odds 'n' Ends
    • SQL vs NoSQL
    • Query Concepts & Performance
      • count(1) vs count(*)
      • Access Multiple Schemas in Single Query
      • Subquery vs Joins
      • Single SQL vs PLSQL Query
    • Best Practices
  • Git
    • Commands
      • Setup and Configuration Commands
      • Getting and Creating Projects
      • Tracking Changes
      • Branching and Merging
      • Sharing and Updating Projects
      • Inspection and Comparison
      • Debugging
      • Patching
      • Stashing and Cleaning
      • Advanced Manipulations
    • Workflows
      • Branching Strategies
        • Git Flow
        • Trunk-Based Development
        • GitHub Flow
        • Comparison
      • Merge Strategies
        • Merge
        • Rebase
        • Squash
        • Fast-forward vs No-fast-forward
        • MR vs PR
      • Conflict Resolution
        • Handling Merge Conflicts
        • Merge Conflicts
        • Rebase Conflicts
        • Divergent Branches After git pull
        • Force Push
      • Patch & Recovery
        • Cherry-pick strategies
        • Revert vs Reset
        • Recover from a bad rebase
      • Rebasing Practices
        • Merge vs Rebase
        • Rebase develop branch on main branch
      • Repository Management
        • Working Directory
        • Mirror a repository
        • Convert a local folder to a Git repo
        • Backup and restore a Git repository
    • Platforms
      • GitLab
        • Freeze a branch
  • Identity and Access Management (IAM)
    • Authentication
      • Authentication Methods
    • Keycloak
      • Terminologies
      • Token Verification
      • User Federation
        • Settings
          • Provider - LDAP
        • Integrating OpenLDAP
    • LDAP
      • Local OpenLDAP Setup
    • Single Sign-On (SSO)
  • Java
    • Installation & Setup
      • Installation
      • Java Distributions
      • Java Platform Editions
        • Java SE
        • Java EE
        • Jakarta EE
        • Java ME
        • JavaFX
    • Java Basics
      • OOP Principles
        • Encapsulation
        • Abstraction
          • Abstract Class & Method
          • Interface
            • Functional Interfaces
            • Marker Interfaces
          • Abstract Class vs Interface
          • Model as an Interface or abstract class ?
      • OOP Basics
        • What is a Class?
          • Types of Classes
        • What is an Object?
          • Equals and HashCode
            • FAQ
          • Shallow Copy and Deep Copy
          • Ways to Create Object
          • Serialization & Deserialization
        • Methods & Fields
          • Method Overriding & Overloading
          • Method Signature & Header
          • Variables
        • Constructors
        • Access Modifiers
      • Java Keywords
        • this
        • super
        • null
          • Handle Null Value
        • Access Modifiers
      • Java Data Types
        • Default Values
        • Primitive Types
          • byte
          • short
          • int
          • long
          • float
          • double
          • char
          • boolean
        • Non-Primitive (Reference) Types
          • String
            • StringBuilder
            • StringBuffer
              • Problems
            • Multiline String
            • Comparison - String, StringBuilder & StringBuffer
          • Array
          • Collections
            • List
              • Array vs List
              • ArrayList
              • Vector
                • Stack
                  • Problems
              • LinkedList
              • Examples
            • Queue
              • PriorityQueue
              • Deque (Double-Ended Queue)
                • ArrayDeque
            • Map
              • HashMap
              • Hashtable
                • Collision Resolution
              • LinkedHashMap
              • ConcurrentHashMap
              • TreeMap
              • EnumMap
              • WeakHashMap
            • Set
              • HashSet
              • LinkedHashSet
              • TreeSet
              • EnumSet
              • ConcurrentSkipListSet
              • CopyOnWriteArraySet
        • Specialized Classes
          • BigInteger
          • BigDecimal
            • Examples
          • BitSet
          • Date and Time
            • Comparison
            • Examples
          • Optional
          • Math
          • UUID
          • Scanner
          • Formatter
            • Examples
          • Properties
          • Regex (Pattern and Matcher)
            • Examples
          • Atomic Classes
          • Random
          • Format
            • NumberFormat
            • DateFormat
            • DecimalFormat
        • Others
          • Object
          • Enum
            • Pre-Defined Enum
            • Custom Enum
            • EnumSet and EnumMap
            • Enum Comparison
          • Record
          • Optional
          • System
          • Runtime
          • ProcessBuilder
          • Class
          • Void
          • Throwable
            • Error
            • Exception
              • Custom Exception Handling
              • Best Practice
            • Error vs Exception
            • StackTraceElement
      • Java Operators
        • Operator Precedence
        • Problems
      • Parallelism & Concurrency
        • Ways to Identify Thread Concurrency or Parallelism
        • Thread Fundamentals
          • Thread vs Process
          • Creating Threads
            • Runnable & Callable
            • Comparison
            • Examples
          • Thread Context Switching
          • Thread Lifecycle & States
          • Types of Threads
          • Thread Priority
          • Memory Sharing Between Threads
          • Thread Completion & JVM Exit
    • Java Evolution
      • Java Feature Introduction Process
      • Java Version History
        • Java 8
        • Java 9
      • FAQ
    • Java Internals
      • JVM Overview
        • Architecture
        • Components
        • Lifecycle
        • Command Line Arguments
      • Memory Management
        • References
        • Types of Memory
    • Java Concepts
      • Language Essentials
        • Annotation
          • Annotation Processing
          • Types of Annotations
            • Custom Annotation
              • Use Case
            • Meta Annotation
        • Generics
          • Covariance and Invariance
        • Scoped Values
        • Unnamed Variables & Patterns
      • Concurrency & Multithreading
        • Thread Management & Synchronisation
          • Thread Resource Sharing
          • Thread Synchronization
            • Why is Synchronization Needed?
            • Synchronized Blocks & Methods
          • Thread Lock
            • Types of Locks
            • Intrinsic Lock (Monitor Lock)
            • Reentrant Lock
          • Semaphore
          • Thread Starvation
          • Thread Contention
          • Thread Deadlock
          • Best Practices for Avoiding Thread Issues
        • Executor Framework
          • ExecutorService
            • Types of Work Queues
            • Rejection Policies
            • ExecutorService Implementations
            • ExecutorService Usage
        • Asynchronous Programming
          • Future
          • CompletableFuture
          • Future v/s CompletableFuture
      • Functional Programming
        • Functional Interfaces
          • Standard Built-In Interfaces
          • Custom Interfaces
        • Streams
          • flatmap
          • Collectors Utility Class
          • Problems
      • Utilities
        • Date Time Formatter
        • Validation
        • Input Handling
      • Specifications & Standards
        • ISO Standards
        • JSR
          • JSR 303, 349, 380 (Bean Validation)
    • Java Packages
      • Core Packages
        • java.lang
          • java.lang.System
          • java.lang.Thread
        • java.net
          • java.net.InetAddress
      • Jakarta Packages
        • jakarta.validation
        • javax.validation
      • Third-party Packages
    • Troubleshooting Java Code
      • Thread Dump
      • Heap Dump
      • Artifact Analysis
    • Code Quality & Analysis
      • ArchUnit
      • Code Smells
        • Types of Code Smells
        • Code Smells to Avoid
      • Anti-Patterns
        • Types of Anti-Patterns
        • Cyclic dependencies
    • Code Style Guidelines
      • Naming Convention
      • Package Structure
      • Formatting
      • Comments and Documentation
      • Imports
      • Exception Handling
      • Class Structure
      • Method Guidelines
      • Lambdas and Streams Style
      • Code Style Tools
    • Java Development Tools
      • IntelliJ IDEA
        • Shortcuts for MAC
      • Apache JMeter
        • Examples
      • Wireshark
        • Search Filters
    • Best Practices
      • Method Chaining
  • Maven
    • Installation
    • Local Repository & Configuration
    • Command-line Options
    • Artifact Coordinates
      • Classifier
    • Build & Lifecycle
    • Dependency Management
      • Dependency
        • Transitive Dependency
        • Optional Dependency
      • Dependency Scope
        • Maven Lifecycle and Dependency Scope
      • Dependency Exclusions & Overrides
      • Bill of Materials (BOM)
      • Dependency Conflict Resolution
      • Dependency Tree & Analysis
      • Dependency Versioning Strategies
        • Artifact and BOM Versioning
    • Plugins
      • Build Lifecycle Management
      • Dependency Management
      • Code Quality and Analysis
      • Documentation Generation
      • Code Generation
      • Packaging and Deployment
      • Reporting
      • Integration and Testing
      • Customization and Enhancement
        • build-helper-maven-plugin
        • properties-maven-plugin
        • ant-run plugin
        • exec-maven-plugin
        • gmavenplus-plugin
      • Performance Optimization
    • FAQs
      • Fixing Maven SSL Issues: Unable to Find Valid Certification Path
  • Miscellaneous
    • Image
    • Mac
      • Mac Shortcuts
      • Running Oracle DB
  • Spring
    • Spring Basics
      • What is Spring ?
      • Why Use Spring
      • Spring Ecosystem
      • Versioning
      • Setting Up a Spring Project
      • Spring vs Spring Boot
    • General Concepts
      • Spring Boot Artifact Packaging
      • Classpath and Resource Loading
      • Configuration - Mapping Properties to Java Class
      • REGEX
        • Core Classes
      • Validations in Spring Framework
        • Jakarta Validation
          • Jakarta Bean Validation Annotations
    • Core Concepts
      • Spring Core
        • Dependency Injection (DI)
        • Stereotype Annotation
      • Spring Beans
        • How Spring Beans Differ from Java Beans ?
        • Bean Lifecycle
        • Bean Scope
          • Singleton Bean
          • Use Case
        • Lazy & Eager Initialization
          • Use Case of Lazy Initialization
        • BeanFactory
        • ApplicationContext
      • Spring Annotations
        • Annotation Inheritance
        • Commonly Used Annotations
          • Spring Boot Specific
          • Controller Layer (Web & REST Controllers)
      • Spring Configuration
        • Custom Package Scanning
        • @Value for Property Injection
    • Spring Features
      • Auto Configuration
        • Spring Boot 2: spring.factories
        • Spring Boot 3: spring.factories
      • Spring Caching
        • In-Memory Caching
      • Spring AOP
        • Before Advice
        • After Returning Advice
        • After Throwing Advice
        • After (finally) Advice
        • Around Advice
        • Use Cases
      • Spring File Handling
        • Reading a File
      • Reactive Programming
        • Reactive System
        • Reactive Stream Specification
        • Project Reactor
          • Mono & Flux
      • Asynchronous Computation
        • @Async annotation
          • Common Issues
        • ThreadPoolExecutor and Queue Management
      • Spring Security
        • Authentication
          • Core Components
            • Security Filter Chain
              • HttpSecurity
              • Example
            • AuthenticationManager
            • AuthenticationProvider
            • UserDetailsService
              • UserDetails
              • PasswordEncoder
            • SecurityContext
            • SecurityContextHolder
            • GrantedAuthority
            • Security Configuration (Spring Security DSL)
          • Authentication Models
            • One-Way Authentication
            • Mutual Authentication
          • Authentication Mechanism
            • Basic Authentication
            • Form-Based Authentication
            • Token-Based Authentication (JWT)
            • OAuth2 Authentication
            • Multi-Factor Authentication (MFA)
            • SAML Authentication
            • X.509 Certificate Authentication
            • API Key Authentication
            • Remember-Me Authentication
            • Custom Authentication
          • Logout Handling
        • Authorization
        • Security Filters and Interceptors
        • CSRF
          • Real-World CSRF Attacks & Prevention
        • CORS
        • Session Management and Security
        • Best Practices
      • Spring Persistence
        • JDBC
          • JDBC Components
          • JDBC Template
          • Transaction Management
          • Best Practices in JDBC Usage
          • Datasource
            • Connection Pooling
              • HikariCP
            • Caching
        • JPA (Java Persistence API)
          • JPA Fundamentals
          • ORM Mapping Annotations
            • 1. Entity and Table Mappings
            • 2. Field/Column Mappings
            • 3. Relationship Mappings
            • 4. Inheritance Mappings
            • 5. Additional Configuration Annotations
          • Querying Data
            • JPQL
            • Criteria API
            • JPA Specification
              • Example - Employee Portal
            • Native SQL Queries
            • Named Queries
            • Query Return Types
            • Pagination & Sorting
              • Example - Employee Portal
            • Projection
          • Fetch Strategies in JPA
        • JPA Implementation
          • Hibernate
            • SQL AST
            • Properties
            • CRUD API Using Hibernate
        • Spring Data JPA
          • Repository Abstractions
          • Entity-to-Table Mapping
          • Derived Query Methods
        • Cross-Cutting Concerns
          • Transactions
          • Caching
          • Concurrency
        • Examples
          • Employee Portal
            • API
      • Spring Scheduling
        • Cron Expression
        • Distributed Scheduling
          • ShedLock
    • Security & Data Protection
      • Encoding | Decoding
      • Cryptography
        • Terminology
        • Java Cryptography Architecture (JCA)
        • Key Management
          • Key Generation
            • Tools and Libraries
              • OpenSSL
              • Java Keytool
                • Concept
                • Use Cases
            • Key & Certificate File Formats
          • Key Distribution
          • Key Storage
          • Key Rotation
          • Key Revocation
        • Encryption & Decryption
          • Symmetric Encryption
            • Algorithm
            • Modes of Operation
            • Examples
          • Asymmetric Encryption
            • Algorithm
            • Mode of Operation
            • Examples
    • Utilities & Libraries
      • Jackson ObjectMapper
      • Apache Libraries
        • Apache Camel
          • Camel Architecture
            • Camel Context
            • Camel Endpoints
            • Camel Components
            • Camel Exchange & MEP
          • Spring Dependency
          • Different Components
            • Camel SFTP
        • Apache Commons Lang
          • StringUtils
          • ArrayUtils
          • NumberUtils
          • SystemUtils
          • RandomStringUtils
          • DateUtils
          • EqualsBuilder & HashCodeBuilder
        • Apache Commons IO
          • FileUtils
        • Apache Commons Validator
      • MapStruct Mapper
    • Practical Guidelines
      • Spring Configuration
      • Spring Code Design
      • Asynchronous Processing
  • Software Testing
    • Testing Fundamentals
      • Software Testing Methodologies
        • Functional Testing
        • Non Functional Testing
          • Performance Testing
            • Load Testing
              • Terminology
              • Process
              • Strategy
              • Preparation Checklist
              • Metrics to Measure
            • Stress Testing
            • Spike Testing
            • Soak Testing
            • Scalability Testing
          • Security Testing
          • Usability Testing
          • Reliability Testing
          • Compatibility Testing
          • Maintainability Testing
          • Portability Testing
          • Recovery Testing
          • Compliance Testing
          • Localization Testing
      • Software Testing Life Cycle (STLC)
    • Java Test Framework
      • JUnit
        • JUnit 4
        • JUnit 5
          • Parameterized Test
          • Single and Multiple Assertions
        • JUnit 4 vs JUnit 5
  • System Design
    • Design Foundations
      • Programming Paradigms
      • System Characteristics
      • Object-Oriented Design
        • SOLID Principles
        • GRASP Principles
        • Composition
        • Aggregation
        • Association
      • Workload Types
    • Design Principles & Patterns
      • Design Pattern
        • Creational Pattern
        • Structural Pattern
        • Behavioral Pattern
        • Examples
          • Data Collector
          • Payment Processor
          • Transaction Dispute
          • Payment Validation
        • Design Enhancements
          • Fluent API Design
            • Examples
    • System Design Methodology
      • Design Diagrams
        • UML Diagrams
          • PlantUML
            • Class Diagram
            • Object Diagram
            • Sequence Diagram
            • Use Case Diagram
            • Activity Diagram
            • State Diagram
            • Architecture Diagram
            • Component Diagram
            • Timing Diagram
            • ER Diagram (Entity-Relationship)
            • Network Diagram
    • Architectural Building Blocks
      • Load Balancer
        • Load Balancer Architecture
        • Load Balancing in Java Microservices
          • Client-Side Load Balancing Example
          • Server-Side Load Balancing Example
        • Load Balancer Monitoring Tool
      • Caching
        • Pod-Level vs Distributed Caching
      • Deployment Patterns
    • Data Handling & Processing
      • MapReduce
        • Example
    • Performance Engineering
      • Why Is My API Sometimes Slow ?
      • Networking Metrics
        • Types of Delay
        • Scenario
    • Security
      • Security Principles
        • CIA
        • Least Privilege Principle
        • Defense in Depth
        • Zero Trust Security Model
        • Security by Design
        • Zero Trust Architecture
      • Security Threats & Mitigations
        • OWASP
          • Top 10 Security Threats
          • Application Security Verification Standard
          • Software Assurance Maturity Model
          • Dependency Check
          • CSRFGuard
          • Cheat Sheets
          • Security Testing Guide
          • Threat Dragon
        • Threat Modeling
        • Cyber Attacks
      • Application-Level Security
        • CORS (Cross-Origin Resource Sharing)
      • Compliance & Regulation
        • PCI DSS
    • Operational Issues
      • Common Runtime Errors
        • OOM: Unable to Create Native Thread
        • OOM: Requested array size exceeds VM limit
  • Interview Guide
    • Non-Technical
      • Behavioural or Introductory Guide
      • Project Specific
    • Technical
      • Java Interview Companion
        • Java Key Concepts
          • Set 1
          • Set 2
          • Set 3
        • Java Code Snippets
        • Java Practice Programs
          • Set 3 - Strings
          • Set 4 - Search
          • Set 5 - Streams and Collection
      • SQL Interview Companion
        • SQL Practice Problems
          • Set 1
      • Spring Interview Companion
        • Spring Key Concepts
          • Set 1 - General
          • Set 2 - Core Spring
        • Spring Code Snippets
          • JPA
      • Application Server
      • Maven
      • Containerized Application
      • Microservices
    • General
      • Applicant Tracking System (ATS)
      • Flowchart - How to Solve Coding Problem?
Powered by GitBook
On this page
  1. Software Testing
  2. Testing Fundamentals
  3. Software Testing Methodologies
  4. Non Functional Testing
  5. Performance Testing

Stress Testing

PreviousMetrics to MeasureNextSpike Testing