单元测试单元测试包括对软件应用程序的每个单元或单个组件的测试。这是功能测试的第一级。单元测试的目的是验证单元组件的性能。 单元是软件系统中单个可测试的部分,在应用软件的开发阶段进行测试。 单元测试的目的是测试孤立代码的正确性。单元组件是应用程序的单独功能或代码。白盒测试方法用于单元测试,通常由开发人员完成。 当应用程序准备好并交给测试工程师时,他/她将开始独立地或逐个地检查应用程序的模块或模块的每个组件,这个过程称为单元测试或组件测试. 为什么要进行单元测试?在测试级别层次结构中,单元测试是在集成和其他测试级别之前完成的第一级测试。它使用模块进行测试过程,减少了等待单元测试框架的依赖,存根,驱动程序和模拟对象用于辅助单元测试。 ![单元测试](https://static.javatpoint.com/tutorial/software-testing/images/unit-testing.png) 一般来说,的软件测试分为四个级别:单元测试、集成测试、系统测试和验收测试,但有时由于时间消耗,软件测试人员只进行最少的单元测试,而跳过单元测试可能会导致在集成测试、系统测试和验收测试期间,甚至在软件应用程序完成后进行的Beta测试期间出现更高的缺陷。 以下是一些重要的原因:
- 单元测试帮助测试人员和开发人员理解代码的基础,从而使他们能够快速更改导致缺陷的代码。
- 单元测试有助于编写文档。
- 单元测试可以在开发阶段的早期修复缺陷,这就是为什么在接下来的测试级别中可能会出现较少数量的缺陷。
- 它通过迁移代码和测试用例来提高代码的可重用性。
单元测试的例子让我们看一个示例,以便更好地理解单元测试的概念: ![单元测试](https://static.javatpoint.com/tutorial/software-testing/images/unit-testing2.png) 为量转移,具体要求如下:
1. |
量转移 |
1.1 |
从账号(FAN)→文本框 |
1.1.1 |
FAN→只接受4位数字 |
1.2 |
账户号(TAN)→文本框 |
1.2.1 " |
TAN→只接受4位数字 |
1.3 |
金额→文本框 |
1.3.1 |
金额→接受最多4位数字 |
1.4 |
转移→按钮 |
1.4.1 |
传输→启用 |
1.5 |
取消→按钮 |
1.5.1 |
取消→启用 |
下面是由客户提供的应用程序访问细节
- URL→登录页面
- 用户名/密码/OK→首页
- 按以下步骤进入金额转账模块
贷款→销售→金额转移 在进行单元测试时,我们应该遵循一些规则,这些规则如下:
- 要开始单元测试,我们至少应该有一个模块。
- 阳性值测试
- 测试负值
- 无过度测试
- 不需要假设
当我们觉得最大测试覆盖率达到了,我们就停止试验。 现在,我们将开始在不同的组件上执行单元测试,例如
- 来自账号(FAN)
- 转到帐户号码(TAN)
- 量
- 转移
- 取消
![单元测试](https://static.javatpoint.com/tutorial/software-testing/images/unit-testing3.png) 对于FAN组件
值 |
描述 |
1234 |
接受 |
4311 |
错误信息→账户是否有效 |
空白 |
错误信息→输入一些值 |
5位/ 3位 |
错误信息→只接受4位数字 |
字母数字 |
错误信息→只接受数字 |
封号 |
错误消息 |
复制并粘贴该值 |
错误信息→输入值 |
FAN和TAN也一样 |
错误消息 |
对于TAN组件
对于金额分量
对于传输组件
- 输入有效的FAN值
- 输入有效的TAN值
- 请输入正确的“金额”
- 点击转账按钮→转账成功(确认信息)
对于取消组件
- 输入“FAN”、“TAN”和“amount”。
- 点击“取消”按钮→清除所有数据。
单元测试工具我们在市场上有各种类型的单元测试工具,它们如下:
- NUnit
- JUnit
- PHPunit)
- Parasoft Jtest
- 艾玛
有关Unit测试工具的更多信息,请参考以下链接: //m.047138.com/unit-testing-tools 单元测试技术:单元测试使用所有的白盒测试技术,因为它使用软件应用程序的代码:
- 数据流测试
- 控制流程测试
- 分支覆盖率测试
- 语句覆盖率测试
- 决策覆盖率测试
如何通过单元测试获得最佳结果?按照下面列出的步骤,单元测试可以在不混淆和增加复杂性的情况下获得最佳结果:
- 测试用例必须是独立的,因为如果在需求中有任何变更或增强,测试用例将不会受到影响。
- 单元测试用例的命名约定必须清晰且一致。
- 在单元测试期间,必须在进入SDLC的下一个阶段之前修复已识别的错误。
- 一次只能测试一个代码。
- 在编写代码时采用测试用例,如果不这样做,执行路径的数量将会增加。
- 如果任何模块的代码有变化,确保相应的单元测试对该模块可用或不可用。
单元测试的优点和缺点单元测试的优点和缺点如下: 优势
- 单元测试使用模块方法,因为任何部件都可以测试,而无需等待另一个部件测试完成。
- 开发团队专注于单元所提供的功能,以及功能在单元测试中的表现,以理解单元API。
- 单元测试允许开发人员在几天之后重构代码,并确保模块仍然可以正常工作,没有任何缺陷。
缺点
- 它不能识别集成或广泛级别的错误,因为它工作在代码单元上。
- 在单元测试中,不可能计算所有的执行路径,因此单元测试不能捕获程序中的每一个错误。
- 它最适合与其他测试活动结合使用。
|