Several basic methods of software testing

Source: Internet
Author: User

The last time we introduced the basic concepts and principles of software testing, today we will look at a few basic methods of software testing it.

First of all, of course, we are familiar with the black box test and white box test, which is based on whether to view the internal structure of the program. Secondly, it can be divided into static test and dynamic test according to whether the program is run, according to the stage can be divided into unit test, integration test, System test, acceptance test, regression test. In addition, there are smoke tests, random tests and so on. The next step is to introduce the above tests in detail.

First, according to whether to view the internal structure of the program is divided into:

1. Black box test (Dark Box testing):

Black-Box testing is a software test based on the specifications of the software, which does not take into account the workings of the software, so the software is like a black box for the user. Simply put, this test only cares about the results of input and output, and does not take into account the program's source code. Black box testing is divided into functional tests and performance tests:

1) Functional test (function testing), is the black box test on the one hand, it checks whether the actual software functionality meets the needs of users. includes logic functional testing, interface testing, usability testing, and compatibility testing.

2) Performance test (performance testing), The performance of the software mainly has time performance and space performance two kinds. the time performance mainly refers to the response time of a specific transaction of software , and The space performance mainly refers to the system resources consumed by software running .

2. White box Test (testing):

The white box test is to think of the test object as an open box. When using the White-box test method for dynamic testing, it is necessary to test the internal structure and processing process of software products without testing the function of software products. In contrast to black-box testing, this test is about the source code and the program structure of the program.

Second, according to whether the running program is divided into:

1, static test (static testing):

static testing refers to the part of the test that does not run, only the process of statically checking for possible errors in program code, interfaces, or documents. For example, test the product specification, check and review it.

2. Dynamic test (testing):

Dynamic testing refers to the correctness of the software's dynamic behavior and running results by running the software. The specific operation is to enter the corresponding test data, check the output and the expected results are consistent with the process.

Three, according to the stage is divided into:

1. Unit Test (Unit testing): Unit test is the smallest test, which tests a function or block of code. It is typically done by programmers rather than testers, because it requires knowledge of the details of internal programming and coding.

2. Integration testing (Integration testing): Integration testing refers to the joint testing of individual components of an application system to determine whether they can work together without conflict. A part can be a block of code, a standalone application, a client on a network, or a server-side program. This type of testing is especially relevant to client servers and distributed systems. Before the general integration test, the unit test needs to be completed.

3. System testing: System test is to test the whole software system as a whole, including the function, performance, and the software and hardware environment to run.

4, acceptance test (accept testing): Acceptance testing is based on the customer or end-user specifications of the final Test, or based on the user for a period of time after the use of the software to meet customer requirements. It is generally tested from functionality, user interface, performance, and business relevance.

5. Regression test (Regression testing):

Regression testing is the re-testing of previous tests after a change has occurred to ensure the correctness of the modifications. In theory, a new version of the software will require regression testing to verify that the errors previously discovered and repaired are re-emerging on the new software version.

Iv. Other types of testing:

1. Smoke test (Smoke testing):

The name of the smoke test is understood to be that the test takes a short time and is sufficient for just one sack of smoke. Some people think it is an image analogy to the new circuit board basic ability check. Any new circuit board after welding, first power check, if there is a design defect, the circuit board may be short-circuit, the board smoke. The object of the smoke test is the newly compiled version of the software that requires formal testing to confirm that the software is functioning properly and that it can perform the subsequent formal testing work. The performer of the smoke test is the version compiler.

2. Random test (testing):

Random testing means that all the input data in the test is randomly generated, the purpose of which is to simulate the user's real operation and to find some marginal errors.

The above is a few common software testing methods, of course, there are many other testing methods (such as reverse testing, limit testing, etc.), here is not introduced. Next week's preview: several common tools for software testing. See you next week ~

Several basic methods of software testing

Related Article

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.