What is software testing?
Software testing is an activity that evaluates the properties or abilities of a program or system and determines that it conforms to its own desired results.
What is the role of software testing?
1, to complete a comprehensive evaluation of product quality, for the release of software products (such as acceptance testing), software system deployment (such as performance planning test), Software PRODUCT identification (third-party independent testing) and the entrusted Party dispute arbitration (third party independent testing) and other decision-making information;
2, through continuous testing (including requirements review, design review, code review, etc.) can provide continuous and rapid feedback on product quality, thereby continuously and timely improve the quality of products throughout the development process, and reduce a variety of rework, reduce the cost of software development;
3, through testing to find the defects to deliver products, especially as far as possible to find a variety of serious defects, reduce or eliminate product quality risk, improve customer satisfaction, expand market share, improve customer loyalty.
4, through the analysis of defects, to find out the root cause of the defect (software process problems, including the wrong behavior) or summarize the SOFTWARE Product defect mode, to avoid the same error or produce similar product problems, to achieve the purpose of defect prevention.
How is the software tested?
Classification from Test design methods:
Test name |
Test content |
Black box test |
The software system is treated as a "black box", and the internal structure and knowledge of the system cannot be understood or used. Design tests from the behavior of the software, not the internal structure. |
White box test |
The designer can see the internal structure of the software system and use the internal knowledge of the software to guide the selection of test data and methods. |
Gray box. Grey Box test |
Between the black box and the white box |
Classification from the purpose of the test:
Test name |
Test content |
Unit Test Units testing |
Verify the accuracy of the program on the lowest function / parameter, such as testing the correctness of a function (developers do) |
Functional test Function testing |
Verify the functionality of the module (testers do)
|
Integration Test Integration Testing |
Verify the functionality of several interdependent modules (testers do)
|
Scenario test Scenario testing |
Verify that several modules are able to complete a user scenario (testers do)
|
System test Systems Testing |
Tests for the entire system function (testers do)
|
Alpha Test |
Software Testers perform thorough testing of the software in real user environments (testers do)
|
Beta test |
Real user testing in a real user environment, also called beta (end user) |
Attention! :
1-testing is not the work done after the coding is done, it is a process that is ongoing, it involves requirements analysis, software design and testing
2-testing is demand-based, and testing is trying to find the difference between the expected behavior of a system or its constituent parts and observed behavior
3-can only verify defects in the program and cannot verify that there are no defects in the program
Brief talk on software testing