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 |
Summary: In practical work, the more you know about the system, the better. Most testers now do black-box testing, and few do white-box testing. Because white-box testing is very demanding for software testers, it requires a lot of programming experience. White box testing for. NET programs you need to be able to read. NET code. To do a Java program test, you need to read Java code. If you can read it, do you still have a test?
Whether the test is sorted manually or automatically
Test name |
Test content |
| Manual Test Manual Testing |
Testers use mouse to manually test (test GUI) |
| Automation Automated Testing |
Program test program (Test API) |
For projects, manual testing and automated testing are equally important and are a means of ensuring software quality. Most of the current project teams are combined with manual testing and automated testing. Because many tests cannot be automated, and many complex business logic is difficult to automate, automated testing cannot replace manual testing.
For Software Testers personal development, doing automated testing is a challenge, but also a direction of the development of testers, the need for testers to learn a lot of development knowledge (development of knowledge is really learning AH). In the long run, automated testing is certainly getting more and more popular.
Manual testing is more suitable for people who just work soon, the biggest disadvantage of manual testing is the low technical content, monotonous, easy to be useless.
In general, manual testing wins the test of business logic, while automated testing wins the test of the underlying architecture.
If the tested program is more testable, it is necessary to make automated tests. Can do automation as far as possible to make automation, the following situations can be automated
1. Test the stored procedure. For example, to test stored procedures in C #
2. Test the Web servies. For example: Use the Soupui tool, or C#,java to test the Web servies.
3. Interfaces and business logic separate systems, such as MVC,MVP architecture, or WPF programs. You can use test scripts to test the APIs of these programs.
Classification from the purpose of the test
Functional Testing
Testing ranges from small to large, from inside to outside, from program developers (unit tests) to testers, to general user Alpha/beta testing
| 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) |
Non-functional testing
One software, in addition to its basic functionality, has many features other than functionality, called "Quality of service requirement" quality requirements. Without the functionality of the software, none of these features can be shown, so we need to do these tests at the appropriate stage of software development-when basic capabilities are complete.
| test name |
test content |
stress test pressure test |
Verify that the software is able to return the correct results with no load design, no crashes |
| load Test Load tests |
test software works under load |
| performance test performance test |
test the performance of the software, provide satisfactory quality of service |
| accessibility test |
software accessibility Testing-test software provides adequate accessibility to disabled users |
| localization/globalization |
localization/globalization test |
| compatibility test |
compatibility test |
| configuration test |
configuration test-test software works in various configurations |
| usability test |
usability testing – test software good use |
| security test |
software security test |
Performance testing
Performance testing requires testers to be proficient in performance testing tools such as QTP, LoadRunner, Jmeter. Visual Studio also provides a number of tools for performance testing. Requires testers to understand and script low-level protocols
Performance testing is very technical content, very promising, is a professional development direction of software testers.
Security testing
The security test content is very wide, very difficult ah. I've only been exposed to XSS (cross-site scripting attacks) and SQL injection attacks.
Safety testing is very technical, I think it is a professional development of software Testers
Classification by time and function of test
In the process of developing software, many tests play the role of "Beacon", they tell us whether the process of software development is unblocked.
| Test name |
Test content |
Smoke Test |
"Smoke" – if the test does not pass, you cannot proceed to the next step |
Build Verification Test (BVT) |
Verify that the build passed the basic test. |
Acceptance Test |
Acceptance testing, testing for a comprehensive assessment of a function/feature |
The BVT test is a smoke test, which refers to the automated testing scripts that run automatically after build is built to check the basic functionality of this build. If the BVT test fails, the developer needs to modify it immediately and regenerate the Buil
Classification according to test and measurement strategy.
| Test name |
Test content |
Regression Test Regression testing |
For a new version, rerun the previous test case to see if the new version is degraded compared to the known version (regression) |
Exploratory testing of Ad hoc test |
Random, exploratory testing. |
Santiy Test |
Rough testing, just perform some of the test cases |
Regression Test regression tests:
For software testers It is repetitive testing, so regression testing is best automated, otherwise testers will repeat the test over and over,
1. Developers make minor changes that require testers to do regression testing. Ensure that existing functionality is not compromised
2. Bug fix also requires regression testing to ensure that the new code fixes the fix and that the existing functionality is not compromised
3. Late in the project, a complete regression test is required to ensure that all functions are good
Software Test Summary