Exercisers use a stability ball for a variety of fitness moves, abdominal work, pilates exercises and some yoga poses. You can also use your exercise ball as a desk chair. You can use stability balls can be used in the home, gym, and physical therapist's office to help strengthen muscles and improve tone.
![Before Before](/uploads/1/2/3/8/123832088/411742408.gif)
What is Stability Testing?
Stability Testing is defined as the ability of the product to continue to function, over time and over its full range of use, without failing or causing failure.
It is a Non-Functional Testing Technique, with the aim to stress the software component to the maximum. In the process, determine how well it performs under loads at acceptable levels, peak loads, loads generated in spikes, with a large number of volumes data to be processed, etc.
Stability Testing is done to check the efficiency of a developed product beyond normal operational capacity, often to a breakpoint. There is greater significance is on error handling, software reliability, robustness and scalability of a product under heavy load rather than checking the system behavior under normal circumstances.
Stability testing assesses stability problems. This testing is primarily intended to check if the application will crash at any point in time.
Stability testing is also referred to as a Load or endurance testing.
In this tutorial, you will learn-
Problems if a System under test has not undergone Stability Test
For an application under test where a large number of users are introduced and applications that have to run for months without restarting, a number of problems are likely to occur:
The possible error can be faced,
- the system slows down
- the system encounters functionality problems
- the system shows wired behavior
- the system crashes altogether
In Software Engineering, Stability Testing typically involves exercising the system with heavy users (virtual) and measuring the performance parameters to verify whether the system can support the anticipated load.
Why do Stability Testing
This kind of testing helps users to understand the ways the system will work in real-life situations.
Hence, Stability Testing allows you to check,
- Provide confidence in the stability of your system under test.
- Ensure that your system can handle large programs.
- Monitor the effectiveness of your system.
- Test system stability under stress.
It plays an important role in product development as it is used to determine the limitations of a software product under test before it is released or the areas of more improvement before the product goes live or at Production.
A very common example of Stability testing technique is
Online Shopping Portals: Stability testing will check how the website will behave when -
- High Amount of data entered at peak time
- Number of hits at a certain specific time
- Page load issue at the same time
- Behavior of system
- Responsiveness of the system and many more come under Stability Testing
Another example
A CPU test is a popular form of stability test under Performance Testing technique. This test checks for processor stability and also monitors its performance as the processor's workload is increased.
How to do Stability Testing
- To determine the scope and objective of the testing, we must ensure that the Application Server(s) do not crash during the Load Test executions.
- To determine the Business issues, verify the system performance and load as per end user perspective.
- To assign the different Responsibilities and Roles like -Creating Test plan, Test Case design, Test case review, Test execution, etc.
- To ensure the Test deliverables within the specified time
- To ensure proper Load Testing tools and experience team is present for the same.
- To measure the risk and cost involves in the testing. This will determine the cost of each execution in terms of CPU utilization and memory.
- Determine the Defect tracking and reporting and there proper mapping with the requirements.
Test Case for Stability Testing for CPU Performance
- To verify the Upper limit of the system.
- How system crashes or recovers.
- A total number of transactions completed per request.
- Whether or not transaction response stays steady or increases over time.
- How the system behaves under heavy load.
- Its response and behavior under heavy load.
Test Reports for Stability Testing
Several statistics are gathered and measured during test executions; these numbers are analyzed in order to generate a report and to identify possible performance problems.
Examples of statistics collected under test are:
-
Transaction Response Times: The average time is taken to perform transactions during the test. This statistic will evaluate whether the performance of the server is within the acceptable minimum and maximum transaction performance time periods defined for the system.
This information will evaluate the time taken in processing the request by the web server and sent to the application server, which in most of the cases will make a request to a database server.
- Hits Per Second: The number of hits made on the server by users. This statistics benefits to determine the number of load users generate, with respect to a number of hits.
- Throughput: The amount of throughput on the Web server during the test which is measured in bytes. Throughput means the amount of data that the users received from the server at any given time. This statistic helps to evaluate the amount of load that users generate.
- Transaction per second: These are the total number of completed transactions (both successful and failed) performed during a test. This statistic helps to check the actual transaction load on the system.
- CPU: CPU percentage utilization spent during a test.
- Memory: Memory usage during a test.
- Disk: utilization of disk spaces spent during a test.
By the time, you can now easily identify that –
Stability Testing comes under Performance Testing –a technique that is performed to check some of the quality attributes of Software like stability, reliability, and availability.
This testing is used to determine how fast a system or sub-system performs under a particular workload.
Performance Testing has many types and stability testing is one of them.
- Stress testing: It is a testing type which checks the robustness of the system beyond the system capacity.
- Spike testing: It is used to check the behavior of a system by increasing a load of a system instantly. The objective is to check at which point the system will be having performance issues, or it will pass.
- Scalability testing: It is used to check the capabilities of a system. How effective the system will going to behave in growing needs, change in size and change in volume.
- Volume testing: It is a non-functional testing technique where software under test is subjected to a huge volume of data, and the behavior of a system is checked and verified accordingly.
- Load or Stability testing: (already discussed above)
Some of the tools for Performance Testing are as –
- WebLOAD
- Apache JMeter
- NeoLoad
- CloudTest
- Loadstorm
- LoadUI
- WAPT
- LoadImpact
- Loadster
- Httperf
- OpenSTA
- Performance Tester
- Testing Anywhere
Conclusion:
Stability testing is a non-functional process of testing the behavior of the application by applying maximum load. It is performed to find out the scalability of the system in a given environment.
This article is contributed by Vaibhav Chitransh
Nothing and everything. Though they are not directly linked, statistician and SPC expert Steven Wachs cautions that without evidence of process stability, capability data is useless.
Process Stability and Process Capability are both extremely important aspects of any manufacturing process. Often the concepts behind process stability and process capability and the relationship between them are misunderstood. This article attempts to clarify both ideas and the relationship between them.
Defining Process Stability and Process Capability
WinSPC Means Lower Costs and Higher Quality
WinSPC is software to help manufacturers create the highest quality product for the lowest possible cost. You can learn more here or try it free for 60 days.
Process Stability refers to the consistency of the process with respect to important process characteristics such as the average value of a key dimension or the variation in that key dimension. If the process behaves consistently over time, then we say that the process is stable or in control. The graphic on the left below illustrates a stable process. The process distribution remains consistent over time.
The graphic on the right illustrates an unstable process. The process distribution average is shifting over time.
Statistical Process Control Charts are utilized to determine if the process is stable or not. Some charts are used to assess the stability of the process location (for example, xbar charts that monitor the process average), other charts are used to assess the stability of the process variation (for example, range or standard deviation charts).
Process Capability is a measure of the ability of the process to meet specifications. It tells us how good the individual parts are. There are several methods to measure process capability including an estimation of the ppm (defective parts per million). Click here for an article on how to calculate process capability. Capability indices such as Cp, Cpk, Pp, Ppk are very popular; however, trying to summarize the capability via a single index is often misleading because key information about the process is lost. The issues with capability indices will be discussed in a future article.
An Example: Nonfat Cookies
To make sure we understand the difference between process stability and process capability, consider my wife’s attempts to bake nonfat cookies. For years, she has been experimenting with different recipes with the objective of producing a great tasting non-fat cookie with a reasonable texture. Unfortunately, she has not yet succeeded. While her results have not been capable (they are out of spec), she has been very consistent-consistently bad. Yet, I know what to expect from her nonfat cookies so I can say that the process is at least stable or in control.
Process Stability vs. Process Capability
Process stability and process capability are different ideas and there is no inherent relationship between them. That is, knowing that the process is capable (or not capable) tells us nothing about the process stability. Furthermore, knowing if the process is stable (or not) tells us nothing about the process capability. The following graphic illustrates all four possible scenarios. The graphic shows the distribution of individual measurements over time (left to right) compared to the upper and lower specification limits.
- In the upper left quadrant, the process is stable (in control) but is not capable of meeting specifications. If we viewed this process with a control chart, it would illustrate a stable process and we would have no idea that it’s not capable.
- In the lower left quadrant, the process is stable and capable.
- In the lower right quadrant, the process is not stable, although we might say that it is capable of meeting specification (Note: This is not really the correct interpretation as will be discussed shortly.)
- In the upper right quadrant, the process is neither stable nor capable.
The One Link Between Stability and Capability
While there is no direct relationship between process stability and process capability, there is an important connection: Process capability assessment should only be performed after first demonstrating process stability.
As discussed earlier, process capability is an assessment of the ability to meet specification. However, if the process is unstable, we cannot predict its capability. Any estimate of process capability we make depends entirely on where the process happens to be when we collect the data. Suppose the process average is shifting about over time. An estimate of the process capability is only reflective of where the process is at that point in time … not where it may go next.
Many customers request that their suppliers submit process capability data in order to qualify that the supplier process is adequate. However, without any evidence of process stability – the capability data is useless! It is not enough to know that a process is capable at some point in time. The process must achieve this capability consistently- and that’s where process stability comes into play.
Steven Wachs, Principal Statistician
Integral Concepts, Inc.
Integral Concepts, Inc.
Integral Concepts provides consulting services and training in the application of quantitative methods to understand, predict, and optimize product designs, manufacturing operations, and product reliability. www.integral-concepts.com
Download the white paper on how to jump-start a “mini” Six Sigma Quality program on a budget