22 Nisan 2020 Çarşamba

PerformansTesti - Performance Testing

Performance Testing Nedir?
Açıklaması şöyle. Bu testing esas amacı hata bulmak değil ancak uygulamanın performansını tespit etmek.
Performance testing is one of the important software testing types that helps to determine the application’s performance such as responsiveness, scalability, reliability, speed, stability, etc. under a workload. Performance testing doesn’t help in finding bugs, but it removes the performance bottlenecks and enhance the overall application’s performance.
Kullanılan Metrikler
Performans Testinde mutlaka metrikler kullanılmalı. Kullanılan bazı metrikler şöyle
- Average
- Standard Deviation
- Percentiles
 Bu metriklerin anlamlandırılması ile ilgili bazı açıklamalar şöyle.
So, before you go analyzing your next performance test’s results, make sure to remember these key considerations:

- Never consider the average as “the” value to pay attention to, since it can be deceiving, as it often hides important information.
- Consider the standard deviation to know just how useful the average is, the higher the standard deviation, the less meaningful it is.
- Observe the percentile values and define acceptance criteria based on that, keeping in mind that if you select the 90th percentile, you’re basically saying, “I don’t care if 10% of my users experience bad response times”.
What Are the Different Types of Performance Tests?
Açıklaması şöyle. Temelde 5 çeşit performans testi var
Load Testing
Load testing is performed to check how the system performs under normal conditions — approximately 70% of peak load. It also evaluates a system's performance during peak user load conditions.

Stress Testing
Stress testing helps to identify the breaking point of a system when it is subjected to a user load beyond the expected peak. The breaking point can be defined as the load at which either the response time degrades beyond 10% or transactions start falling by more than 5%.

Endurance Testing
Endurance testing checks the stability and responsiveness of a system when it is under significant load for a longer period — these conditions are considered to be 70% of peak load for anywhere between 8 to 72 hours.

Spike Testing
Spike testing is a subset of stress testing and checks the behavior of the system by suddenly varying the number of users. It verifies that the system can handle a suddenly increased user load.

Volume Testing
In volume testing, multiple data-intensive transactions are performed to validate how the system performs under such data volumes.
Load Testing ve Stress Testing Farkı Nedir?
Açıklaması şöyle. Yani Load Testing ile beklenen üst sınır geçilmeden test edilir. Stress Testing ile beklenen üst sınır aşılarak test edilir.
However, it is important to understand the differences between these two categories as well. Let’s start by looking at the definition:

Load testing: Assesses software performance under expected loads, both during regular and peak conditions.

Stress testing: Assesses software performance beyond peak conditions to define the system’s load capacity.
1. Load Testing Nedir?
Çok kullanıcı varmış gibi test etmektir. Açıklaması şöyle.
Load testing is one of the software testing types where it helps in identifying how an application behaves under real-life load conditions. In this testing type, the application is tested under multiple users.

The purpose of load testing is to develop an application that is stable under unexpected extreme load conditions. This testing methodology is also known as Endurance testing. It can be easily performed by opting for a suitable automation tool.
2. Stress Testing Nedir?
Amacı uygulamanın hangi noktada çöktüğünü tespit etmek. Açıklaması şöyle
Stress Testing is one of the testing types under performance testing that helps in detecting the application’s breaking point and also identifies the maximum load the application can handle.

In other words, stress testing determines the application’s robustness and error handling capacity under heavy workloads. Stress testing is practiced by considering more data and many users to identify the system’s behavior under pressure.
Stress Testing Tipleri
Açıklaması şöyle
Types of Stress Testing
There are different types of stress testing methodologies that can be used within your development cycle. These include:

Distributed Stress Testing: All clients linked with the server are tested. The server distributes a set of stress tests to all server clients and tracks the status of each.

Application Stress Testing: This type of test detects defects related to network issues, performance bottlenecks, and data blockages and locks.

Transactional Stress Testing: Tests take place on the transactions occurring between applications. This type of stress test helps refine and optimize the system.

Systemic Stress Testing: In this type of testing, multiple systems on one server are tested. QA testers can uncover issues where data from one software blocks another software.

Exploratory Stress Testing: Unusual parameters are tested here, including:
 - High number of concurrent users attempting to log into the app
- If the product’s database shuts down when it is accessed from the front end
- Large amounts of data are submitted into the database all at once
3. Resilience Testing
Açıklaması şöyle
This tests how the system will behave if any node goes down, typically exception or error handling, server-level crash, network-level outage, fault tolerance, etc. are checked here.
4. Endurance Testing
Endurance Testing yazısına taşıdım

Hiç yorum yok:

Yorum Gönder