This book introduces basic concepts in the software performance and performance testing realm and describes essential performance testing processes, including design, execution, and analysis, in a practical way.Common software performance indicators, including response time, throughput, concurrent users, effective capacity, stability, and scalability, are thoroughly discussed. Concepts that are essential to performance testing, including virtual user, think time, think factor, concurrent time interval, request distribution, load pattern, load level, script parameterization, data randomization, virtual user distribution, resource utilization threshold, and resource level, are introduced. Benchmark testing, load testing, stress testing, and several load testing and stress testing variations are defined and classified concerning request load level, request distribution, and load pattern. Two case studies from real projects are also included to exercise the materials covered in the book.