In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-14 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/02 Report--
What is exhaustive testing?
A detailed test (also known as a full test) occurs when all testers on your team are exhausted and all planned tests have been executed. It is a quality assurance testing technique that tests all scenarios or data for testing. In a more understandable way, detailed testing means ensuring that there are no undiscovered failures at the end of the testing phase. It is not feasible to test everything (all combinations of inputs and preconditions) except in trivial cases. As testers, we often say, "well, I never have enough time to test." Even if you have all the time in the world, you still don't have enough time to test all possible input and output combinations.
Exhaustive testing strategy
We know that one of the seven testing principles of software testing indicates that detailed testing cannot be carried out. The question now is, since detailed testing cannot be done, how can we get enough coverage to determine whether the application under test tends to be defect-free?
Instead of trying to test everything with what we tend to do, we want to apply some useful methods, but use risks and priorities to focus on testing. We may use techniques such as pairwise testing to reduce the number of combinations, or use methods such as causal graphics, and use more logic-based methods to optimize our tests. The following are the basic and basic strategies that can be explicitly included in the test plan:
Impact on the business: this is not the only one, but one of the most important parameters for understanding risk. Testers should question how much risk it will bring to the entire module if a function of the module under test fails. Testers should constantly work with the module's business analysts to understand the threat posed by each functional failure so that it is a priority in testing.
Probability of failure: this parameter also plays an important role in understanding the health status of the function. Compared with other features, some features may have a high probability of failure. For example, let's consider an e-commerce site that will have the ability to log in as a user and determine the user's browsing history and correctly provide users with more options (cross-sell / up-sell). As testers, we can determine that the second feature has a higher probability of cracking, because it contains many business algorithms to implement compared to login pages that may have a lower probability of failure.
Regression: testers should look at this parameter by identifying the ability to regress more frequently when certain areas of the AUT change or increase. A correct impact analysis should be carried out to correctly identify the area. Impact analysis should always involve developers, QA, and a team of business analysts in order to correctly understand the affected areas.
Restore: if a feature destroys the speed of recovery or the time required for recovery. The quality assurance staff can obtain the recovery time for each function of the application under test from the developer.
Why exhaustive testing is impractical and impossible
Unable to perform a full test or a detailed test. For most systems, it is almost impossible for the following reasons:
The field that the program may enter is too large to be fully used for testing the system. Valid input and invalid input.
The plan may have a large number of states. The input may have timing constraints, that is, the input may be valid at one time and invalid at other times. An input value that is valid but not positively determined is called inappropriate input. The input field of the system can be so large that it can be used entirely for the test program.
Design problems may be too complex to fully test. Design may contain implicit design decisions and assumptions. For example, programmers can use global or static variables to control program execution.
It may not be possible to create all possible execution environments for the system. This becomes more important when the behavior of the software system depends on the real outside world, such as weather, temperature, altitude, pressure, etc.
Detailed test example 1:
In the IE tools > Advanced options window:
53 binary condition
1 condition has 3 options
4 options for 1 condition
2 ^ 53 = 9007199254740992 x 12 = 108086391056891904 possible combination of conditions
One second each time the test is executed:
108086391056891904 / 360 = 300239975158033.067 hours (12509998964918.04 days or 34273969766.9) test all possible combinations.
Example 2:
Let's take a look at an e-commerce website with the following functions:
Log in
Select a product
Filter the color of the product
Filter products by price.
Add to shopping cart
Purchase products (payment Portal)
Based on the risk identification parameters, the user can create a matrix to be included in the test plan. Each parameter can give a score so that we can have a correct way to identify high-risk areas.
Impact on business: 1-10
Probability of failure: 1-10
Regression: 1-5
Restore: 1-5
According to the above approach, areas with scores above 25 should be considered extremely high-risk areas and require near-thorough testing. Therefore, for the above example, add to the shopping cart should be tested in depth for all test types and should be tested in detail.
Let's create a matrix for the above example:
The possibility of functional impact on business failure to return to recovery login 10311 = 15 Select a product with a filter 55 22 = 14 Select a product with a price filter 8 5 22 = 17 add to the shopping cart 10834 = 25 purchase this product 10722 = 21
Therefore, according to the score, we regard the "add to shopping cart" feature as the most important competitor in the "highest risk area", so now we can give priority to testing. We can also determine that the QA team needs to do near-exhaustive testing.
Quality assurance teams can simplify risk mitigation plans by looking at their scores
Score 1-5:-Unit tests and reviews.
Score 5-10:-Unit testing + black box testing (regression and high business impact areas)
Scores 10-15:-typical test types with limited depth.
Score 15-25:-typical test types with depth in some test types.
Score 25-30:-High risk area. Full coverage and in-depth testing of all test types.
According to the above approach, areas with scores above 25 should be considered extremely high-risk areas and require near-thorough testing. Therefore, for the above example, add to the shopping cart should implement in-depth testing for all test types and should be thoroughly tested.
What's the difference between exhaustive testing and effective testing? Effective testing thorough testing emphasizes the effective techniques of testing software, in order to test important functional exhaustion or complete testing within limited resources means that every statement and every possible data path combination in the program must be executed, which is a practical method, because:
There is no error in the final product.
It tests the development cycle of each phase
It uses restricted resources
Cannot be executed because:
Realization deadline
A variety of possible options
Time limit
Number of possible test environments
It's cost-effective, it's not cost-effective, it's not so time-consuming, it's not so complex, it's time-consuming and complex, it's used to best cover key test cases, it covers all test cases in order to test effectively, we can use equivalence class methods, BVA, etc., to minimize the problems faced by exhaustive testing assuming that the password field accepts three confusion. Therefore, we must test the input combination of approximately 256x256x256 during exhaustive testing.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.