Quality assurance of software applications becomes crucial for achieving a competitive advantage in the market. Automating the testing process reduces the required cost and human effort. However, automating the entire testing process is still challenging for both academia and industry. It is essential to verify the robustness of the application under test (AUT) by conducting performance testing. Performance testing is a non-functional form of software testing which examines the performance features of the AUT when exposed to various workloads. The performance behavior can be measured by throughput, response time, and resource utilization of the AUT under a certain workload. Besides, performance testing finds the performance breaking points and bottlenecks during the operation of the AUT. Due to the necessity of conducting performance testing before releasing applications to the market, this paper surveys the previous related work to performance testing since 2009. Recent studies related to performance testing for testing both mobile and web-based applications are discussed. The strengths and weaknesses of these studies are discussed. Besides, a comparison between the previous studies related to performance testing is held from different perspectives.