The purpose of software testing is to find and correct errors in the software being tested and improve the reliability of the software.
, this definition sounds right, but using it to guide testing can be a problem. For example, some organizations use the number of bugs found to measure the performance of testers, in fact, this is the test teleology in the back, the results of how it: first, some of the less dedicated testers will find some innocuous bugs to sucks, the results of many times will be wasted on these innocuous bugs ( It should be fixed, when, what the severity is, what the priority is, and so on); second, testers spend a great deal of time designing complex test cases to uncover flaws that have not been discovered so far, without worrying whether they will occur during the actual user's use, and thus wasting a lot of valuable effort. The root cause of this is because of the wrong understanding of testing purposes, why do you say so? Because the number of bugs in the software is not estimated, then if the purpose of the test is to find a bug
, then the test will become a part of the work that cannot be completed and is not measurable (because some bugs do not occur at all during the actual operation).
The purpose of testing is to ensure the quality of the software
, this definition is also seemingly correct, but in practice, it confuses the boundaries of testing and quality assurance work. There are many software quality factors, including:
Understandability, conciseness, portability, consistency, maintainability, testability, Usability, Structures, Efficiency, security and so on, so, software quality assurance and testing in fact the direction of attention is different.
The process of running or measuring a system using manual or automated means to verify that it meets the required requirements or to ascertain the difference between the expected and actual results.
So, in short, the goal of testing should be to verify the requirements,
The bug (the difference between the expected result and the actual result) is the product in this process, not the target. Testers should be like engineers, in the direction of the expected advance of the Army (customer) detection, mine clearance (bug)
, without needing to care about mines that no one would touch at all. Measure a tester's need to measure how much he or she has tested (test effort).
Performance testing is used to test the performance of the software in the system. Performance tests can take place during each test phase, and even at the unit level, the performance of a single module can be evaluated using white-box testing, but only when all the components of the entire system are integrated together can the real performance of a system be checked.
Performance tests are often performed in conjunction with stress tests and often require hardware and software testing equipment, which means that it is often necessary to measure the use of resources in a demanding environment (for example, processor cycles). The external test equipment can monitor the test execution and record it when there is a situation (such as interruption). Through the detection of the system, the tester can find the cause of the efficiency decrease and the system malfunction.
Stress testing: The constant pressure on the system is tested by determining the bottleneck of a system or the performance points that cannot be received, to obtain the maximum service level that the system can provide. For example, testing a WEB site under heavy loads, when the response of the system degrades or fails.
Performance testing: Terminology commonly used in alternating load and forced tests. Performance testing is concerned with the overall system. It is closely related to the commonly described strength, pressure/load test tests. So stress and strength tests should be performed in conjunction with performance tests.
For example, to test a Web site, simulating 10 to 50 users is a routine performance test, and the user's increase to 1000 or even tens of thousands becomes a stress/load test. The strength test is included if a large number of data queries are performed on the system at the same time.
Performance testing (performance) The time it takes for the system to complete a task during normal use, and the response time when multiple people use it at the same time, within acceptable range. The implementation of the Java EE Technology system in the performance of the need to take care of, the general principle is less than 3 seconds to accept, 3-5 seconds can be accepted, more than 5 seconds on the impact of ease of use. If you find a performance problem during testing, it's hard to fix it because it often means that the algorithm is bad, poorly structured, or has a problem with the design. Therefore, at the beginning of product development, it is necessary to consider the performance of the software
Stress test (Stress) multi-user scenarios Consider the use of stress testing tools, which are recommended to combine stress and performance testing. If you have load balancing, open the Monitoring tool on the server side, check the server CPU usage, memory consumption, and if necessary, simulate a large amount of data input, The impact on the hard disk, and so on. If necessary, performance tuning is required (both hardware and software are available).
The difference between a stress test and a performance test is that they have different test objectives
The stress test is to find the maximum load that can be supported by the system, and his premise is that the system performance is within acceptable range, such as the frequently prescribed foliar response within 3 seconds;
So, in a nutshell, the test system can support the maximum load on the premise that performance is acceptable.
Performance test is to check the system's reflection, operating speed and other performance indicators, his premise is to require under a certain load, such as checking a website in 100 people at the same time the performance of the situation, each user can also be normal to complete the operation.
The summary is: under the different load (the load is certain), through some system parameters (such as reaction time, etc.) to check the operation of the system;
For example, we say that the performance of a site is poor, strictly speaking, ' n people at the same time online, the site performance is poor.
In short, it's like an equation: synthetic energy = number of pressure * Performance index,
The comprehensive performance is fixed:
The stress test is to get the maximum number of pressure in the smallest possible index of performance index (minimum acceptable exponent).
The performance test is to obtain the performance index under the pressure number determination.
Stress testing and performance testing in software testing