Software Test Category

Source: Internet
Author: User

 

This blog is a popular article in the field of software testing. There are many terms in the field of software testing, and many new testers are confused about the concept, there are even a lot of recruitment requirements for various software testing-related terms, so here, summarize the test-related terms, you may be able to clarify the concepts of various terms.

 

Test by project process stage

 

Is a typical waterfall software development process, so various software testing work is carried out step by step in the project development process. The following describes the meaning of the test.

 

Unit Test: Unit testing is a test of the basic components in the software. The purpose is to verify the correctness of the basic components of the software.

Integration Test: Integration testing is performed during software system integration. The purpose is to check whether the interfaces between software units are correct.

System Test: System testing is to thoroughly test the integrated software system to verify whether the correctness and performance of the software system meet the requirements specified in its statute.

Acceptance Test: Acceptance testing is the last test operation before the software is deployed. The purpose of the acceptance test is to ensure that the software is ready and that the software system meets the needs of its users is presented to the software purchase.

 

Unit test phase:

Module Interface Test

Test by using the data flow of the test module. Whether the number, attribute, and order of the input parameters when calling the consumed module match those of the module.

Local Data Structure Test

The local data structure is used to ensure that the data temporarily stored in the module isProgramThe complete, correct, and partial data structure of the module during execution is often the root cause of the error.

Path Test

Tests important execution paths in the module.

Error handling test

Perfect module design requirements can meet the error conditions and set appropriate error handling, so that once the program fails, it can redo the arrangement for the error program to ensure its logic correctness.

Boundary Condition Test

Software often becomes ineffective easily. boundary condition testing is a basic test and also the focus of functional testing in later system tests.

 

Integration test phase:

In integration testing, we mainly focus on the following:

1. Whether data transmitted through the module interface will be lost when each module is connected.

2. The modules are combined to meet the expected functions.

3. Whether the functions of one module will adversely affect the functions of the other module.

4. Check whether the global data structure is correct.

5. Whether the error of a single module is amplified to reach an unacceptable program.

System test phase:

Generally, the main testing work of the system is concentrated in the system testing phase. There are also many testing types based on different systems.

Function test:

Function testing verifies the functions of the product to check whether the requirements are met.

Performance test:

Performance testing uses automated testing tools to simulate a variety of normal, peak, and abnormal load conditions to test the system's performance indicators.

Security Testing:

The security test checks the system's defense against illegal intrusion.

Compatibility test:

The compatibility test mainly tests whether the system can run normally in different software and hardware environments.

Acceptance Test phase:

Function validation test

Security and Reliability Test

Usability test

Scalability Test

Compatibility Test

Resource usage Test

User document acceptance

 

White box testing, black box testing, and gray box testing

 

The above is the division of test tools according to the project process according to each phase of the test. White box testing and black box testing, mainly for testing softwareCodeThe degree of visibility. This is also the most basic concept in my software testing field.

 

Black box testing:

Black box testing refers to the process of regard the tested software as a black box. We do not care about the structure in the box, but only about the input data and output results of the software.

It only checks whether the program functions are normally used according to the requirements specification, and whether the program can properly receive input data to generate correct output information. Black box testing focuses on the external structure of the program, without considering the internal logic structure. It mainly tests the software interface and software functions.

White box testing:

White box testing refers to opening the lid of the box to studySource codeAnd program results.

It tests the internal structure of the program and checks whether the internal actions of the product are normal according to the specifications of the design specification. It checks whether each path in the program works correctly according to the predefined requirements.

Gray box test:

The gray-box test is between the black-box test and the white-box test.

It can be understood in this way that the gray box test focuses on the correctness of the output for the input and the internal performance, but this attention is not as detailed and complete as the white box, it is only through some characterization phenomena, events, signs to determine the internal running status, sometimes the output is correct, but the internal is actually wrong, this situation is very many, if you use a white box test every time, the efficiency will be very low. Therefore, you need to use such a gray box method.

 

 

Function Test and performance test

 

Function Testing

Function Testing checks whether the actual function meets your needs. Most of the work of testing is also centered on the functions of the software. The purpose of designing the software is to meet the customer's requirements for its functions. If this objective is deviated, any testing effort would be meaningless.

Functional testing can be divided into multiple types: Logical Function Testing, interface testing, usability testing, installation testing, and compatibility testing.

Performance Testing

Performance testing uses automated testing tools to simulate a variety of normal, peak, and abnormal load conditions to test the system's performance indicators.

The performance of the software includes many aspects,There are two main types of performance: time performance and space performance..

Time Performance: It mainly refers to a specific response time of the software. For example, the time required for a logon and the time required by an exchange. Of course, aside from the specific test environment, it makes no sense to analyze the response time of a transaction. A specific and independent test environment is required.

Space Performance: Mainly refers to the system resources consumed during software running, such as hardware resources,CPU, Memory, network bandwidth consumption, etc.

Classification of Performance Test: http://www.cnblogs.com/fnng/archive/2012/06/09/2543274.html

 

 

Manual and automated testing

 

Manual test:

Manual testing is to execute test cases one by entering some parameters such as the keyboard and mouse to check whether the returned results meet the expected results.

(In fact, they do not like others to call normal functional testing as manual testing, just like a sculptor who does not like others who call him stone carving. Manual testing also requires understanding of the business and basic testing methods. A seemingly simple job can discover software problems that no one else can discover. In the current testing field, manual testing is still an irreplaceable test method.)

Automated Testing

Automated testing is a process of converting human-Driven Testing behavior into machine execution. Generally, after a test case is designed and passed the review, the tester executes the test step by step according to the procedure described in the test case to compare the actual results with the expected results. In this process, in order to save manpower, time or hardware resources and improve testing efficiency, the concept of automated testing is introduced.

Automated Testing:It can also be divided into functional automated testing and performance Automated Testing.

Generally, automated testing refers to automated functional testing. through relevant testing technologies, we use a program to test the functions of a software by coding, in this way, the program can be repeated for testing. If a small part of a software changes, we only need to modify a part of the code to repeat functional testing of the entire software. This greatly improves the test efficiency.

Automated performance testing, of course, in addition to the early stages, the current performance testing work is completed through performance testing tools. Tools can simulate thousands of users to send requests to the system to verify the processing capability of the system.

 

 

Smoke test, regression test, random test

 

In the software functional testing process, these three tests are neither specific testing stages nor specific testing methods.

Smoke test:

It refers to verifying whether the basic functions of the software are implemented and whether they are testability before performing a large-scale system test on a new version.

The introduction to software testing means that before a formal test of a new version, the testing team should invest less manpower and time to verify the main functions of a software. If none of the main functions are implemented, then, call back the development team for redevelopment. This can save a lot of time and labor costs.

 

Regression testing:

Regression testing refers to the process of testing again after the old code is modified to confirm that no new errors are introduced after the modification or other code errors are generated.

Regression testing typically begins with the second test of the software and verifies whether the problems found in the first round are fixed. Of course, regression is also a cyclical process. If the regression problem does not pass through, developers need to modify it and then perform regression again until it passes.

 

Random test:

All input data in the test is randomly generated to simulate real user operations and detect some marginal errors.

Some Hidden errors can be found in random tests, but there are also many disadvantages, such as testing is not systematic, the code coverage rate and requirement coverage rate cannot be counted, and the problems found are difficult to reproduce. It is generally placed at the end of the test. In fact, the more professional version of random testing is called exploratory testing.

 

Exploratory Test

Exploratory testing is a testing thinking technique. It does not have many practical testing methods, techniques, and tools, but is a way of thinking that all testers should master. Exploratory stress on the initiative of testers, discard complicated test plans and test case design processes, and emphasize the timely change of test strategies when problems arise.

Exploratory testing should be a direction in the future testing field.

 

Security Testing

The security test is inItIn the software product lifecycle, especially when product development is basically completed to the release stage, product inspection is conducted to verify that the product meets the security requirements definition and product quality standards. 

Security testing is also receiving increasing attention and attention from enterprises, because the consequences caused by security problems are immeasurable. In particular, Internet products are most vulnerable to various security attacks.

 

 

 

 

 

 

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.