Concepts such as regression testing, white-box testing, black-box testing

Source: Internet
Author: User
Tags data structures error handling xunit
Regression test
Regression testing refers to re-testing the old code after it has been modified to confirm that the modification did not introduce a new error or cause other code to produce an error. Automated regression testing significantly reduces the cost of system testing, maintenance upgrades, and more.

Regression testing consists of two parts: the test of the function itself and the testing of other code. In

Re-test the modified function. If the function's design function does not change, run the function test directly. If you modify the design functionality, add or remove test cases based on the function points that are added or decreased. Also, complete the white box overlay.

The modification of the function code may cause the code that called the function to produce an error, so you need to test the other code. If the function is a private function and does not involve global variables, you should run the class test, or you should run the engineering test. You can perform regression testing of other code by selecting a class or engineering test in the list of functions and compiling a test project.

White box test

White box testing is also known as structural testing or logic-driven testing, it is aware of the internal work process, can be tested to determine whether the internal action of the product according to the specifications of the normal, according to the procedures within the structure of the test procedures, inspection procedures in each path is able to work according to predetermined requirements, regardless of its function, The main methods of white box testing are logic-driven, base-path test, etc., which are mainly used for software verification.

The White box method thoroughly understands the internal logic structure of the program and tests all logical paths. The "white Box" method is a poor lift path test. When using this scenario, the tester must examine the internal structure of the program, starting with the logic of the checker and drawing the test data. The number of independent paths through the program is astronomical. But even if each path is tested, there may still be errors. First, the exhaustive path test must not be able to find out that the program violates the design specification, that is, the program itself is a wrong program. Second, the exhaustive path test cannot detect errors in the program due to missing paths. Third, the exhaustive path test may not find some data-related errors.

Black box test

Black box testing is also known as functional testing or data-driven testing, it is a known product should have the function of testing to detect whether each function can be used, in the test, the program as a non-open black pot, regardless of the program internal structure and internal characteristics of the case, the tester in the program Interface test, It only checks whether the program function is normally used in accordance with the requirements specification, whether the program can properly receive the input number saw and produce the correct output information, and maintain the integrity of external information (such as databases or files). The black box test method mainly includes equivalence class division, boundary value analysis, cause-fruit graph, error inference, etc., mainly used for software validation testing. The "black Box" method focuses on the external structure of the program, regardless of the internal logic structure, testing the software interface and software functions. The "black Box" method is an exhaustive input test, in which all possible inputs are used as test cases in order to detect all errors in the program in this way. In fact, there are an infinite number of test cases where people are not only testing all legitimate inputs, but also testing those that are illegal but possible.

============================
White box test Technology (testing)
Drill down to code-level testing, using this technique to find the earliest problems and the best results. The main characteristic of this technique is that the test object enters the code, according to the developer's familiarity with the code and the program, the necessary parts are in the software coding stage, and the software test that the developer makes according to their understanding and contact with the code is called the White box test. This phase of testing is dominated by software developers, tested on the JAVA platform using the Xunit series tools, and the Xunit test tool is a class-level test tool that tests each class and the method of that class.
Software personnel use white box test method, the main want to do the following check the program module:
– Test all independent execution paths of the program module at least once;
– For all logic judgments, the two cases of "true" and "false" are tested at least once;
– The loop body is executed within the boundary and operating bounds of the loop;
– Test the validity of internal data structures, etc.
The specific included logic overrides are: – Statement overlay – Decision Overlay – Conditional override – Decision – Conditional override – Conditional combination override – Path overlay.

Black box test technology (dark box testing)
The content of the black box test mainly has the following aspects, but mainly is the function part. Mainly covers all functions, can be combined with compatibility, performance testing and other aspects, according to software requirements, design documents, simulation of customer scenarios with the actual system testing, this test technology is the most used test technology covers all aspects of testing, you can consider the following aspects

Correctness (correctness)
Calculation results, naming and other aspects.

Availability (Usability)
Whether you can meet the requirements of the software description.

Boundary conditions (boundary Condition)
The boundary value of the input part is to use the Equivalence class division in the general book, try the maximum minimum and illegal data and so on.

Performance (performance)
It takes time for the system to complete a task during normal use, and the response time is within acceptable range when multiple people use it at the same time. 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 there is load balancing, also open the Monitoring tool on the server side, check the server CPU utilization, memory consumption, if necessary can simulate a large number of data input, the impact on the hard disk and so on information. Performance optimizations are required if necessary (both hardware and software are available). The stress tests here are for a few functions.

Bug Recovery (Error Recovery)
Error handling, page data validation, including sudden power outages, input of dirty data, etc.

Safety Testing (Security)
This field is being studied, firewalls, patches, anti-virus software and so on do not have to say, but can be considered. Destructive testing at any time to read some of the information, this design to the knowledge \ content can write a book, not one or two can be said clear, especially some business sites, or with money, or the company's secret related to the web is the need for this test, in foreign countries have a special do this line of people called Security Consultants, Can review the code, put forward security recommendations, the handling of emergency cases, etc., in the domestic did not hear where there is a special security technology testing content.

Compatibility (compatibility)
Different browsers, different app versions behave differently when implementing features, if you're testing a public website.

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.