以测试isOutOfRange函数为例,首先知道该函数在整个软件架构中处于最底层(叶子),所以对它进行测试并不需要写桩模块,只需要写驱动模块。要注意的问题是:对于测试结果是否通过测试不要使用printf方式打印被测试函数的返回结果值,否则就需要人工去检查结果了。
使用边界值的方法可以得到5个测试用例,写的驱动模块代码如下:
TestTriangle.cpp:
-
-
-
-
-
-
- #include "Triangle.h"
-
-
-
-
- void testIsOutOfRange_try()
- {
- if(isOutOfRange(0) == true)
- {
- printf("pass!\n");
- }
- else
- {
- printf("fail!\n");
- }
- if(isOutOfRange(1) == false)
- {
- printf("pass!\n");
- }
- else
- {
- printf("fail!\n");
- }
- }
- void main()
- {
- testIsOutOfRange_try();
- }
小知识:做单元测试的时候,一般不直接在main函数中写所有的测试代码,否则的话,main函数将会非常庞大。正确的做法:针对每个函数分别创建一个或若干个(函数比较复杂时)测试函数,测试函数的名称习惯以test开头。
写到这里发现重复的代码太多了,而且如果测试用例数量很多的话,对于测试结果的检查也将是很大的工作量。在测试有错误的时候,这样的单元测试结果也很难获得更多关于错误的信息。
解决问题的途径可以采用cppUnit单元测试框架。不过这里为了让学生能够对单元测试和单元测试框架有进一步的理解,我决定自己写一个类似cppUnit的简单的测试框架。
分享到:
相关推荐
为了深入理解和实践这两种测试方法,你可以分别下载"白盒测试指南.rar"和"黑盒测试设计.rar"这两个压缩包,其中应该包含详细的指南和实例,帮助你提升单元测试的能力。记得在实践中不断学习和改进,以提高软件质量。
#### 一、白盒测试基础 **1.1 定义** - **白盒测试**:是一种基于内部结构或工作方式的测试方法,它关注的是产品的内部运作机制。 **1.2 原理** - 通过对代码的深入分析来检测错误或缺陷。 - 主要针对软件的逻辑...
四、自动售货机程序测试实例 自动售货机程序SaleMachine应能接受不同面额的硬币,根据用户选择的商品计算找零,并正确出货。测试用例包括但不限于: - 输入单一或混合面额的硬币,选择商品,检查出货和找零是否正确...
- **安全测试的一些实例**:例如,尝试非法访问系统资源、攻击系统的漏洞等。 - **安全性测试方式**:使用自动化工具进行扫描、人工渗透测试等。 - **配置测试**:验证不同的硬件配置、操作系统版本等对软件的...
- **安全测试实例**: 模拟攻击尝试访问敏感信息。 - **安全性测试方式**: 包括权限测试、数据加密测试等。 - **配置测试**: 确保不同的配置设置下软件仍能正常工作。 **6.4 容量测试** - **定义**: 检查软件在高...
1. **用例**:一个具体的测试实例,包括输入数据、执行步骤和预期结果。 2. **测试用例的作用**: - 指导测试人员如何进行测试。 - 提高测试效率,避免遗漏重要的测试场景。 - 便于重复执行相同的测试,以验证...
通过编写程序、绘制流程图和设计测试用例,实验者复习并巩固了白盒测试的相关知识,认识到白盒测试的核心是基于程序的内部结构进行测试。最后,实验者表达了团队合作的价值,指出在遇到问题时,团队协作能够提供更多...
【软件测试概述】 软件测试是软件开发过程中不可或缺的一部分,它主要关注的是确保软件产品的质量和可靠性。...白盒测试的这些原则和方法有助于深入理解软件内部运作,从而更全面地发现和修复错误,确保软件质量。
选项B正确,基本路径测试是一种白盒测试技术,它基于程序控制流来选择测试路径。选项C也正确,基本路径测试中的环路复杂性可通过流图计算得出,该指标可以帮助测试人员确定最少的测试路径数目。 **4. 下列哪些属于...
- **白盒测试**:测试者拥有较多关于目标系统的内部信息,包括网络拓扑图、代码片段等,并且可以与目标组织的员工进行沟通。这种测试方式旨在模拟内部人员的越权操作。 - **隐秘测试**:针对被测试单位来说,这种...
- 白盒测试:测试人员了解软件的内部结构,检查代码层面的安全性。 - 灰盒测试:结合黑盒和白盒测试方法,对部分内部结构有一定了解。 3. 安全测试方法: - 模糊测试:通过输入随机数据,检测程序是否能正确处理...
- **安全性测试的一些实例**:模拟攻击尝试非法访问系统。 - **安全性测试方式**:包括静态分析、动态测试等。 - **配置测试**:验证不同配置设置下系统的行为。 4. **容量测试**:评估系统能够处理的最大用户数...
通过对上述文献的学习和研究,可以总结出软件测试的关键技术和方法,包括但不限于黑盒测试、白盒测试、自动化测试等,并了解其在实际项目中的应用情况。 #### 四、方案论证 根据宿舍管理系统的具体需求,本课题...
在这个文档中,"测试用例名称"和"测试用例编号"是每个测试实例的标识符,便于管理和追踪。 2. **问题报告人**:当发现软件存在问题时,问题报告人通常是执行测试的工程师,他们负责记录并提交问题,以便开发团队...
1. **软件测试基础**:了解软件测试的基本概念,如黑盒测试、白盒测试、灰盒测试,以及它们的应用场景。理解缺陷生命周期,包括缺陷的发现、报告、跟踪和关闭过程。熟悉各种测试类型,如功能测试、性能测试、安全...
6. **仲裁机制**:在多主设备系统中,当两个或更多主设备同时尝试控制总线时,仲裁机制会确保只有一个主设备继续发送数据。这是通过比较在SDA线上每个主设备正在发送的数据位来实现的。 7. **扩展功能**:除了基本...