1.1黑盒测试问题描述 假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商店的货币面值只包括:50元(M50)、10元(M10)、 5元(M5)、1元(M1) 四种。 1.2白盒测试问题描述 10个铅球中有一个假球(比其他铅球的重量要轻),用天平三次称出假球。 第一次使用天平分别称5个球,判断轻的一边有假球;拿出轻的5个球,取出其中4个第二次称,两边分别放2个球:如果两边同重,则剩下的球为假球;若两边不同重,拿出轻的两个球称第三次,轻的为假球。 在本实验报告中,主要探讨了两种常见的软件测试方法——黑盒测试和白盒测试,并通过实际案例展示了这两种测试的应用。下面将详细解释这两种测试方法及其相关知识点。 1. **黑盒测试**: 黑盒测试是一种功能测试,关注的是软件的外部行为,而不关心其内部结构或实现。在实验描述的问题中,黑盒测试的目标是验证程序能否在顾客付款后给出找零钱的最佳组合。这涉及到以下几个关键测试点: - 输入有效性:检查输入的顾客付款金额(P)和商品价格(R)是否在规定的范围内(0到100元),并且是整数。 - 输出正确性:确保程序计算的找零金额和找零组合正确,即找给顾客的货币张数最少。 - 边界条件:测试边界值,如付款金额等于商品价格、付款金额接近100元等。 2. **白盒测试**: 白盒测试,又称结构测试,是根据程序内部逻辑结构进行的测试。在这个问题中,白盒测试的目标是确保找出假球的算法在三次称量后能准确找到假球。关键测试点包括: - 控制流:检查程序执行的分支逻辑,确保每次称量都能正确判断球的重量差异。 - 边界条件:考虑各种可能的球重分布,如所有球重量相同,所有球都在假球一侧等。 - 错误处理:验证在异常情况下,如天平故障或数据输入错误,程序能正确处理并给出反馈。 3. **相关编程知识**: 实验中涉及的Java代码是实现找零和称球问题的程序。以下是一些相关的编程概念: - **Scanner类**:用于从用户那里获取输入,如读取顾客的付款金额和商品价格。 - **try-catch语句**:用于捕获和处理可能抛出的异常,确保程序在输入不合法时能正常运行。 - **返回值**:`giveChange`方法返回找零结果字符串,表示找零的货币组合。 - **控制流程**:通过if-else语句控制程序的逻辑流程,确保正确执行找零和称球算法。 4. **测试框架**: 实验标签中提到了`junit`和`testNG`,它们是流行的单元测试框架。这些工具用于自动化测试,编写和执行针对代码各个部分的独立测试,以确保它们按预期工作。在本实验中,可以创建测试用例来检验`Change`类的方法,如`giveChange`,以验证它们的正确性。 总结来说,这个实验报告深入浅出地介绍了黑盒测试和白盒测试的实践应用,同时涵盖了基本的Java编程知识以及测试框架的使用。通过这样的实验,学生可以更好地理解和掌握软件测试的重要性及其实施方法。
剩余12页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助