In fact, software testing is not a complex process. I have read the courseware of the teacher and many other things. I think it is basically nonsense, or the testing method is the most practical part.
Write this article for software testing. The following is a summary.Software Testing Method
1. Black Box test and white box test.
Black box testingIn fact, the internal code of the software itself is hidden for us. We can only leave it for the input, and then view the output stream, or check whether the software meets the requirement specification based on the event-driven or customer needs. This test is also calledFunction TestingOrData-driven testing.
The ideal method is to test all possible input combinations, but this is absolutely impossible.
White box testingThat is to say, the software is transparent internally. We can clearly see its logical structure, and then select test cases to test all the logical paths, to check whether each logical point is consistent with the expected results. This test is also calledStructure TestOrLogic-Driven Testing.
The white-box test requires that all logical paths be used at least once. The logical values must test the true value and check the internal structure to ensure the effectiveness.
2. static and dynamic tests.
Static TestThat is, you can directly read the code without running or compiling it. Generally, you can use some tools to scan the code to find out the non-conforming part, evaluate the code quality based on a certain model, and generate a system call relationship diagram. Representatives of static testing tools include Telelogic's Logiscope software and PR's PRQA software.
Dynamic TestingSome moderation code is added to the executable file of the Code to observe changes in the running data. Therefore, the program is required to run. Dynamic testing tools include DevPartner software of Compuware and Purify software of Rational.
3. automatic and manual tests.
A little bit...
Classification of software testing, Apply the image in the instructor's courseware:
|
Unit Test: It is used to test small modules. It mainly uses the white-box testing method to identify errors and is carried out in the development phase. Integration Test: Based on the unit test, the module is combined for testing. The main goal is to find the interface and Function Correlation error between modules. System Test: Place the software in the entire computer environment, including the software and hardware platform, some supporting software, data and personnel, and perform a series of tests in the actual operating environment, including recovery testing, security testing, strength testing, and performance testing. Acceptance Test: The purpose is to show future users that the system can work as intended and verify the functionality and performance of the software as reasonably expected by the user Function Testing: Generally, it must be performed after the integration test is completed and the application system is tested. Function Testing is based on the product feature documentation. It verifies the features of a product from the user's perspective to confirm that each function can be used normally. Each of the above stages has its own goals, tasks, and methods. I am too lazy to elaborate on them. Theoretical things are much easier to understand than just testing them. |
Software testing phase:
Level |
Input |
Output |
Requirement Analysis |
Requirement definition, market analysis documents, and related technical documents |
Market Demand Analysis meeting notes, functional design, Technical Design |
Design Review |
Market Requirement documents and technical design documents |
Test Plan and Test Cases |
Function verification |
Code Completion package, detailed functional design instructions Final Technical Document |
Complete test cases, complete test plans, defect reports, Function verification test report |
System Test |
Package after code modification Complete Test Cases and complete test plans |
Defect report Defect status report Project Stage Report |
Confirm Test |
Code freeze package Confirm Test Cases |
Defect status report Defect report review Version Review |
Release |
Code release package Test plan check list |
List of known issues in the current version Version release report |
The basic concepts of software testing are just like this. There is a lot of content for each of the concepts mentioned in it, and there is no end to writing. I decided to read it again, so I don't have to write it down.