当前位置:网站首页>[software testing] 03 -- overview of software testing
[software testing] 03 -- overview of software testing
2022-07-05 07:05:00 【Derived planet】
Software Testing Overview
1. The purpose of software testing
Combined with software development 、 The purpose of software testing can be summarized as the following points .
(1) For software development , Software testing helps developers find problems in the development process by finding problems and defects , Including the mode of software development 、 Tools 、 Problems and deficiencies in technology , Prevent the next defect .
(2) For software testing , Use the least manpower 、 material resources 、 Time to find hidden defects in the software , Ensure the quality of the software , It also accumulates rich experience for software testing in the future .
(3) For customer needs , Software testing can verify whether the software meets the needs of customers , Evaluate and measure software quality , Provide a strong basis for customers to review software .
2. Classification of software testing
(1) Classification according to test phase
According to the testing phase, software testing can be divided into unit testing 、 Smoke testing 、 Integration testing 、 System test and acceptance test . This classification is consistent with the software development process , It is to check whether all stages of software development meet the requirements .
a. unit testing
Unit testing is the first step in software development , The purpose is to verify whether the software unit meets the software requirements and design . Unit tests are mostly self-test conducted by developers .
b. Smoke testing
Smoke test was originally obtained from circuit board test , When the circuit board is ready , First of all, it will power up the test , If the circuit board does not smoke, carry out other tests , Otherwise, it must be redesigned and tested again . Later, this testing concept was introduced into software testing . In software testing , Smoke test refers to the test after the software build version is established , Test the basic function of the system , This test focuses on verifying the main functions of the program , Without in-depth testing of specific functions . If the test fails , It needs to be returned to the developer for correction ; If the test passes, carry out other tests . therefore , Smoke test is the most basic test for the newly built software .
c. Integration testing
The integration test is the test after the smoke test , It is the combination of tested software units to test the interface between them , Used to verify whether the software meets the design requirements .
d. The system test
System testing is to run the tested software in the actual environment , And with the components of other systems ( Such as a database 、 Hardware and operators, etc ) Tests combined .
e. The acceptance test
Acceptance test is mainly to verify the software product description , Test the software product line by line and word by word according to the description of the manual , Ensure that it meets the customer's requirements .
(2) Classified according to test technology
According to the testing technology used, software testing can be divided into black box testing and white box testing .
a. Black box testing
Black box testing is to put the software ( Program ) As a black box with input and output , It treats the program as a mapping from input domain to output domain , As long as the input data can output the expected results , Don't worry about how the program is implemented internally , Pictured 1 Shown .
b. White box testing
White box test is also called transparent box test , It means that testers understand the logical structure of software programs 、 Path and running process , At testing time , The results are obtained according to the execution path of the program . White box testing is to put software ( Program ) As a transparent box , The tester clearly knows every step from input to output , Pictured 2 Shown .
Compared with black box testing , White box testing requires more testers , It requires testers to have certain programming ability , And be familiar with various scripting languages . But in software companies , Black box testing and white box testing are not clearly defined , When testing a software, it is often a combination of black box testing and white box testing to test the software completely and comprehensively .
(3) Classified according to software quality characteristics
According to software quality characteristics, software testing can be divided into functional testing and performance testing .
a. A functional test
Function test is to test whether the function of software meets the needs of customers , Including accuracy 、 Ease of use 、 Suitability 、 Interoperability, etc .
b. Performance testing
Performance testing is to test whether the performance of software meets the needs of customers , Performance tests include load tests 、 Pressure test 、 Compatibility test 、 Portability test and robustness test .
(4) Classify according to the degree of Automation
According to the degree of automation, software testing can be divided into manual testing and automated testing .
a. Manual testing
Manual testing is that testers execute code one by one to complete the testing work . Manual testing is time-consuming and laborious , And if the tester is tired , It is difficult to guarantee the effect of the test .
b. automated testing
Automated testing is done with the help of scripts 、 Complete the corresponding test work with automatic test tools , It also requires human participation , But it can script the test code or process to be executed , Execute the script to complete the whole test work .
(5) Classify according to test type
There are many types of software testing , Including interface class test 、 A functional test 、 Performance testing 、 Safety test 、 Document testing, etc , The function test and performance test have been introduced earlier , The following mainly introduces several other tests .
a. Interface class test
Interface test is to verify whether the software interface meets the needs of customers , Including whether the interface layout is beautiful 、 Whether the buttons are complete .
b. Safety test
Security test is to test how the software handles the attack or malicious destruction of unauthorized internal or external users , Whether the security of software and data can be guaranteed .
c. Document the test
Document testing for requirements analysis 、 software design 、 User's Manual 、 Installation manual , Mainly verify whether there is any difference between the document description and the actual software .
(6) Other categories
There are also some software tests that cannot be specifically classified , But these tests are often carried out in the testing industry , Such as α test 、β test 、 Regression tests, etc , The details are as follows .
a.α test
α Testing refers to testing the initial version of the software . The initial version of the software is generally not released , Before going online , With the assistance of developers and testers or users . The tester shall record the errors and problems in use , The whole test process is controllable .
b.β test
β Testing refers to testing the software version after launching , At this time, the software has been released online , However, there may be minor errors in the released version Bug, Errors and problems found by users during use shall be recorded , Then feed back to the developer for repair .
tip : Divide software testing according to software development version cycle
It is divided according to the software development version cycle , Software tests can be divided into preview versions Preview test 、 Internal test version Alpha test 、 Public beta version Beta test 、 Candidate version Release test . After these tests are completed, the product can be officially launched .
c. regression testing
When the tester finds the defect , The defect will be submitted to the developer , Developers modify the program , After the modification , The tester will retest the modified program , Confirm that the original defects have been eliminated and no new defects have been introduced , This retesting process is called regression testing . Regression testing is a very important part of software testing , Multiple regression tests are performed at all stages of software development .
d. Random test
Random testing has no test cases 、 Checklist 、 Testing of scripts or instructions , It mainly checks the function and performance of the software according to the experience of testers . Random testing is an important supplementary means to execute test cases according to the test case specification , It is an effective way and process to ensure the integrity of test coverage .
边栏推荐
- Mipi interface, DVP interface and CSI interface of camera
- Ros2 - configuration development environment (V)
- How to answer when you encounter a jet on CSDN?
- 基于FPGA的一维卷积神经网络CNN的实现(八)激活层实现
- Marvell 88E1515 PHY loopback模式测试
- PHY drive commissioning - phy controller drive (II)
- U-Boot初始化及工作流程分析
- Log4qt usage of logbase in QT project
- 【无标题】
- window navicat连接阿里云服务器mysql步骤及常见问题
猜你喜欢
iNFTnews | 喝茶送虚拟股票?浅析奈雪的茶“发币”
Orin 两种刷机方式
【软件测试】04 -- 软件测试与软件开发
ROS2——node节点(七)
Ros2 - first acquaintance with ros2 (I)
ROS2——常用命令行(四)
PHY drive commissioning - phy controller drive (II)
睿智的目标检测59——Pytorch Focal loss详解与在YoloV4当中的实现
ROS2——工作空间(五)
Literacy Ethernet MII interface types Daquan MII, RMII, smii, gmii, rgmii, sgmii, XGMII, XAUI, rxaui
随机推荐
【软件测试】04 -- 软件测试与软件开发
Huawei bracelet, how to add medicine reminder?
Ros2 - install ros2 (III)
SOC_SD_CMD_FSM
Volcano resource reservation feature
In C language, int a= 'R'
Error: “MountVolume.SetUp failed for volume pvc 故障处理
基于FPGA的一维卷积神经网络CNN的实现(八)激活层实现
6-3 find the table length of the linked table
Lexin interview process
A brief introduction to heading/pitch/roll and omega/phi/kappa
Error: "mountvolume.setup failed for volume PVC fault handling
Vant weapp swippecell set multiple buttons
[algorithm post interview] interview questions of a small factory
Unity ugui how to match and transform coordinates between different UI panels or uis
window navicat连接阿里云服务器mysql步骤及常见问题
Empire help
睿智的目标检测59——Pytorch Focal loss详解与在YoloV4当中的实现
Docker installs MySQL and uses Navicat to connect
【obs】x264编码:“buffer_size“