The experience of testing

Source: Internet
Author: User
Tags documentation

The experience of testing


--------------------------------------------------------------------------------

A considerable part of software engineering is about software testing:

1. Scope of test concept

Broadly speaking, testing refers to all the inspection, review and validation activities within the SOFTWARE PRODUCT life cycle. such as: Design Review, System testing.

In the narrow sense, testing is the inspection and evaluation of software PRODUCT quality. On the one hand, it checks the quality of software product quality problems, while the quality of the product objectively evaluated.

2, the purpose of testing

Simply put, the ultimate goal of testing is to ensure that the product that is ultimately delivered to the user meets the needs of the user, and that as many problems as possible are found and corrected before the product is delivered to the user. Increase confidence in the software at an acceptable cost.

In particular, testing generally achieves the following objectives:

1) Ensure that the product has completed the functionality it promises or publishes, and that all users have access to features that have clear written instructions------in a sense with ISO9001 is the same idea. Finally, the written documentation is not sound or even incorrect, but also the biggest and most headache problems encountered in the test work, its direct consequences are low test efficiency, unclear test objectives, insufficient testing scope, resulting in the final Test can not fully play the role of test results are not ideal.

2) Ensure that the product meets the requirements of performance and efficiency

The use of the system is inefficient (low performance), or user interface is not friendly, user operation is not convenient (inefficient) products can not be said to be a competitive product. What users are most concerned about is not how advanced your technology is, how powerful it is, but how much he can benefit from these technologies and capabilities. In other words, the user is concerned about how much he can get out of it, not how much you have put in.

3) Ensure that the product is robust and adaptable to the user's environment

Robustness, or stability, is a fundamental requirement for product quality, especially for a work environment that is critical to a transaction or time. It is also impossible to assume the user's environment (some items may be excluded).

3, the principle of testing---Goodenough

For relatively complex products or systems, Zero-bug is an ideal, good-enough is our principle.

The Good-enough principle is a balancing of input/output ratios: inadequate testing is irresponsible; excessive testing is a waste of resources and an irresponsible performance. Our operational difficulties lie in: how to define what kind of tests are inadequate and what tests are excessive. The only available answer to the current situation is to set minimum tests to pass standards and test content, and then to analyze specific issues.

4, the law of testing----barrel principle and 80-20 principles

1) wooden barrel principle.

In the production of software products is the concept of total Quality management (TQM). The key factor of product quality is analysis, design and implementation, testing should be a complementary means of inspection, other management, support, and even cultural factors will affect the quality of the final product. It should be said that testing is the necessary condition to improve the quality of products, but also the most direct and quickest way to improve product quality, but it is not a fundamental means. Conversely, it would be a terrible and long-lasting disaster if the weight of the quality of the product were to be put on the test.

2) 80-20 principles of the bug.

In general, in the analysis, design, implementation phase of the review and testing to find and avoid 80% of the bug, and system testing to find out the remaining 80% of the bug, the last 5% of the bug may only be in the user's wide range, long-time use after the exposure. Because the test is only guaranteed to find as many errors as possible, there is no guarantee that all errors can be found.

5, the traditional test process encountered challenges and countermeasures----problems found earlier, the cost of the solution is less

For the test theory, it is mainly based on the V-word model of software life cycle

Software testing is visible throughout the software development cycle of the majority, its level of testing based on the corresponding development phase of the various detailed documents. Testing currently relies mainly on: the experience and quality of the testers, the technical advice of the product documentation and the project team, the use of test tools, and the design of the test plan.

6. Test classification

by function:

– White Box test (whitetest)

– Black box Test (blacktest)

According to the test time to divide:

– Unit Test (UnitTest)

– Integration Testing (Integratetest)

– Confirmation Test (validationtest)

– System Test (Systemtest)

According to the running state to divide:

– Static test (Statictest)

– Dynamic Testing (Dynamictest)

To divide by direction:

– Forward Testing

– Reverse Testing

7. Test strategy:

The test strategy describes the overall methodology and objectives of the test project. Describe what phase of testing is currently in progress (unit test, integration test, System test) and the types of tests that are carried out within each stage (functional testing, performance testing, coverage testing, etc.).

Test strategies include:

1, the testing technology and tools to be used;

2, test completion standards;

3. Special considerations that affect resource allocation such as testing with external interfaces or simulating physical damage, security threats. The most critical step in a test plan is to break down the software into units and write test plans as needed.

There are several advantages to decomposing software into units:

1, the software requirement is the basis of test design and development test cases, the unit can be better to design;

2, the detailed test demand is used to measure the test coverage of the important indicators;

3. The requirements for testing include the actual development of various tests and the resources required.

The input of the test plan is the tested software, the requirement-based test design, the output for the test process and the test case to create reusable test procedures and test cases through the design test plan, while maintaining the test process, test cases and related test requirements of one by one correspondence.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.