软件测试的类型
In this section, we are going to understand the various types of software testing, which can be used at the time of the Software Development Life Cycle.
As we know, software testing is a process of analyzing an application's functionality as per the customer prerequisite.
If we want to ensure that our software is bug-free or stable, we must perform the various types of software testing because testing is the only method that makes our application bug-free.
The different types of Software Testing
The categorization of software testing is a part of diverse testing activities, such as test strategy, test deliverables, a defined test objective, etc. And software testing is the execution of the software to find defects.
- White Box Testing
- Black Box Testing
- Grey Box Testing
For our better understanding let's see them one by one:
White Box Testing
In white-box testing, the developer will inspect every line of code before handing it over to the testing team or the concerned test engineers.
Subsequently, the code is noticeable for developers throughout testing; that's why this process is known as WBT (White Box Testing).
In other words, we can say that the developer will execute the complete white-box testing for the particular software and send the specific application to the testing team.
The purpose of implementing the white box testing is to emphasize the flow of inputs and outputs over the software and enhance the security of an application.
White box testing is also known as open box testing, glass box testing, structural testing, clear box testing, and transparent box testing.
To get the in-depth knowledge about white box testing refers to the below link: https://www.javatpoint.com/white-box-testing.
Black Box Testing
Another type of manual testing is black-box testing. In this testing, the test engineer will analyze the software against requirements, identify the defects or bug, and sends it back to the development team.
Then, the developers will fix those defects, do one round of White box testing, and send it to the testing team.
Here, fixing the bugs means the defect is resolved, and the particular feature is working according to the given requirement.
The main objective of implementing the black box testing is to specify the business needs or the customer's requirements.
In other words, we can say that black box testing is a process of checking the functionality of an application as per the customer requirement. The source code is not visible in this testing; that's why it is known as black-box testing.
For more information about Black box testing, refers to the below link: https://www.javatpoint.com/black-box-testing.
Types of Black Box Testing
Black box testing further categorizes into two parts, which are as discussed below:
- Functional Testing
- Non-function Testing
Functional Testing
The test engineer will check all the components systematically against requirement specifications is known as functional testing. Functional testing is also known as Component testing.
In functional testing, all the components are tested by giving the value, defining the output, and validating the actual output with the expected value.
Functional testing is a part of black-box testing as its emphases on application requirement rather than actual code. The test engineer has to test only the program instead of the system.
To get the detailed information about functional testing refers to the below link: https://www.javatpoint.com/functional-testing.
Types of Functional Testing
Just like another type of testing is divided into several parts, functional testing is also classified into various categories.
The diverse types of Functional Testing contain the following:
- Unit Testing
- Integration Testing
- System Testing
Now, Let's understand them one by one:
1. Unit Testing
Unit testing is the first level of functional testing in order to test any software. In this, the test engineer will test the module of an application independently or test all the module functionality is called unit testing.
The primary objective of executing the unit testing is to confirm the unit components with their performance. Here, a unit is defined as a single testable function of a software or an application. And it is verified throughout the specified application development phase.
Click on the below link to get the complete information about unit testing: https://www.javatpoint.com/unit-testing.
2. Integration Testing
Once we are successfully implementing the unit testing, we will go integration testing. It is the second level of functional testing, where we test the data flow between dependent modules or interface between two features is called integration testing.
The purpose of executing the integration testing is to test the statement's accuracy between each module.
Types of Integration Testing
Integration testing is also further divided into the following parts:
- Incremental Testing
- Non-Incremental Testing
Incremental Integration Testing
Whenever there is a clear relationship between modules, we go for incremental integration testing. Suppose, we take two modules and analysis the data flow between them if they are working fine or not.
If these modules are working fine, then we can add one more module and test again. And we can continue with the same process to get better results.
In other words, we can say that incrementally adding up the modules and test the data flow between the modules is known as Incremental integration testing.
Types of Incremental Integration Testing
Incremental integration testing can further classify into two parts, which are as follows:
- Top-down Incremental Integration Testing
- Bottom-up Incremental Integration Testing
Let's see a brief introduction of these types of integration testing:
1. Top-down Incremental Integration Testing
In this approach, we will add the modules step by step or incrementally and test the data flow between them. We have to ensure that the modules we are adding are the child of the earlier ones.
2. Bottom-up Incremental Integration Testing
In the bottom-up approach, we will add the modules incrementally and check the data flow between modules. And also, ensure that the module we are adding is the parent of the earlier ones.
Non-Incremental Integration Testing/ Big Bang Method
Whenever the data flow is complex and very difficult to classify a parent and a child, we will go for the non-incremental integration approach. The non-incremental method is also known as the Big Bang method.
To get the complete information about integration testing and its type refers to the following link: https://www.javatpoint.com/integration-testing.
3. System Testing
Whenever we are done with the unit and integration testing, we can proceed with the system testing.
In system testing, the test environment is parallel to the production environment. It is also known as end-to-end testing.
In this type of testing, we will undergo each attribute of the software and test if the end feature works according to the business requirement. And analysis the software product as a complete system.
Click on the below link to get the complete information about system testing: https://www.javatpoint.com/system-testing.
中文
在本节中,我们将了解在软件开发生命周期期间可以使用的各种软件测试类型。
众所周知,软件测试是根据客户需要分析应用程序功能的过程。如果我们想确保我们的软件没有错误或稳定,我们必须执行各种类型的软件测试,因为测试是使我们的应用程序没有错误的唯一方法。
The different types of Software Testing
The categorization(分类) of software testing is a part(部分) of diverse testing activities, such as test strategy(战略), test deliverables(测试可交付成果), a defined test objective(确定的测试目标), etc. And software testing is the execution (执行)of the software to find defects.
手动测试分类
White Box Testing
In white-box testing, the developer(开发员) will(总是,将) inspect(检查) every line of code before handing(递手) it over to the testing team or the concerned(有关的) test engineers.
Subsequently(随后), the code is noticeable(显而易见) for developers throughout(全部,所有的) testing; that's why this process(过程) is known as WBT (White Box Testing).
在白盒测试中,开发人员将检查每行代码,然后再将其移交给测试团队或相关的测试工程师。
随后,该代码对于开发人员在整个测试过程中都很引人注目; 这就是为什么此过程被称为 WBT(白盒测试)的原因 。
换句话说,我们可以说 开发人员 将对特定软件执行完整的白盒测试,并将特定的应用程序发送给测试团队。
实施白盒测试的目的是强调软件上的输入和输出流,并增强应用程序的安全性。
黑盒测试
在此测试中,测试工程师将根据需求分析软件,确定缺陷或错误,然后将其发送回开发团队。
然后,开发人员将修复这些缺陷,进行一轮白盒测试,并将其发送给测试团队。
实施黑盒测试的主要目的是指定业务需求或客户需求。
换句话说,我们可以说黑盒测试是根据客户要求检查应用程序功能的过程。 源代码在此测试中不可见; 这就是为什么它被称为 黑盒测试 。
黑匣子测试的类型
功能测试
测试工程师将根据需求规范系统地检查所有组件,称为 功能测试 。 功能测试也称为 组件测试 。
在功能测试中,通过给出值、定义输出并用预期值验证实际输出来测试所有组件。
测试工程师只需要测试程序而不是系统。
功能测试的类型
1. 单元测试
单元测试是测试任何软件的第一级功能测试。在这种情况下,测试工程师将独立测试应用程序的模块,或者测试所有模块功能,称为单元测试。
执行单元测试的主要目的是确认单元组件的性能。 此处,单元被定义为软件或应用程序的单个可测试功能。 并在整个指定的应用程序开发阶段进行验证。
2. 整合测试
一旦我们成功实施了单元测试,我们将进行 集成测试 。 它是功能测试的第二级,我们测试依赖模块之间的数据流或两个功能之间的接口称为 集成测试 。
执行集成测试的目的是测试各个模块之间语句的准确性。
-
增量测试
每当模块之间有明确的关系时,我们就会进行增量集成测试。 假设,我们采用两个模块并分析它们之间的数据流是否正常工作。
如果这些模块工作正常,那么我们可以再添加一个模块并再次测试。 我们可以继续相同的过程以获得更好的结果。
换句话说,可以说以增量方式添加模块并测试模块之间的数据流称为 增量集成测试 。
- 自顶向下增量集成测试 在这种方法中,我们将逐步或增量地添加模块并测试它们之间的数据流。 我们必须确保我们添加的模块是 模块的 模块 早期 子 。
- 自下而上的增量集成测试 在自底向上的方法中,我们将增量添加模块并检查模块之间的数据流。 而且,确保我们添加的模块是 模块的 模块 早期 父 。
-
非增量测试 每当数据流很复杂并且很难对父子进行分类时,我们将采用非增量集成方法。 非增量方法也称为 Big Bang 方法 。
3. 系统测试
每当我们完成单元和集成测试时,我们就可以继续进行系统测试。
在系统测试中,测试环境与生产环境平行。 它也被称为 端到端 测试。
在这种类型的测试中,我们将对软件的每个属性进行测试,并测试最终功能是否符合业务需求。 并将软件产品作为一个完整的系统进行分析。
非功能测试
黑盒测试的下一部分 是非功能测试 。 它提供了有关软件产品性能和所用技术的详细信息。
非功能测试将帮助我们将软件的生产风险和相关成本降至最低。
非功能测试是 性能、负载、压力、可用性和兼容性测试的组合 。
性能测试
在性能测试中,测试工程师将通过施加一些负载来测试应用程序的工作情况。
1. 负载测试
负载可能小于或等于所需负载。
它将帮助我们检测软件的最高运行量和瓶颈。