需求分析是后续工作的基石,如果分析思路有问题,后续工作可能就会走向不正确的方向,比如:代码重用性差、难于测试、难于扩展和难于维护等。反而,如果需求分析做的好,对设计、开发和测试来说,都可能是很大的帮助。
看到题目给出的条件达12个之多,粗粗一看,好像很复杂,但仔细分析之后,发现可以把它们分成4组来讨论:
1、 条件1:a+b>c; 条件2:a+c>b; 条件3:b+c>a
这三个表达式有什么特点呢?实际上它们的逻辑是一样的:两个数之和大于第三个数。那么,前面程序的写法就存在逻辑重复的地方,应该把这个逻辑提取到一个函数中。
2、 条件4:0<a<200; 条件5:0<b<200; 条件6:0<c<200
这三个表达式也是同一个逻辑:判断一个数的范围是否在(0, 200)区间内,也应该把这个逻辑提取到一个函数中,去掉重复的逻辑,提高代码的可重用性。
可重用性的好处:比如,现在用户的需求改为了三条边的取值范围要改为[100,400],那么,按前面的思路来说,需要改3个地方,而现在只需要在一个函数里改1个地方,这就是代码重用的好处。
3、条件7:a==b; 条件8:a==c; 条件9:b==c
这三个表达式的逻辑:判断两个数是否相等。也应该把它提取到一个函数中。
我们进一步来分析一下判断是否是等边三角形或等腰三角形的条件:
(1)前面程序的判断是从最直观的方式(a==b && b==c && a==c)(实际上只需要两个表达式成立即可)三条边都相等来判定是等边三角形;(a==b || b==c || a==c)只有两条边相等来判定是等腰三角形。
(2)转变一下思路:给定三个整数,然后用一个函数来判断这三个整数有几个相等,返回相等的个数,如果返回值等于3,那么它是等边三角形,如果返回值是2,那么它是等腰三角形,否则,它是一般三角形(如果不是直角三角形的话)。
4、条件10:a2+b2==c2 条件11:a2+ c2== b2 条件12:c2+b2== a2
这三个条件的处理方式有两种:
(1)跟前面三组分析一样,把相同的逻辑提取到一个函数中,然后三次调用。
(2)根据直角三角形的特点:斜边是最长的,所以我们可以事先写一个函数来找到最长的边,然后把它赋值给c,这样处理之后,只需要一次调用判定(a2+b2==c2)的函数了。
分享到:
相关推荐
通过白盒测试实例的分析,我们可以看出,不仅测试本身很重要,前期的需求分析和代码设计也同样关键。良好的需求分析和代码设计能够简化测试工作,提高测试效率,同时也能确保软件的质量和稳定性。因此,在实际的软件...
2. 白盒测试:分析程序的内部结构,检查代码逻辑和路径是否正确。 3. 回归测试:修改或添加功能后,重新运行以前的测试,确保原有功能未受影响。 4. 压力测试:模拟大量并发用户,评估系统在高负载下的表现和稳定性...
本实例主要介绍了几种不同的白盒测试技术,包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖以及条件组合覆盖,并通过一个具体的程序结构展示了如何设计测试用例。 1. **语句覆盖**:此测试方法的目标是确保程序中...
**白盒测试实例** 设计测试用例时,根据代码逻辑覆盖所有可能的分支和路径。例如,在一个登录模块中,不仅要测试正确的用户名和密码情况,还要测试空字符串、错误密码等异常情况。 **白盒测试总结** 白盒测试通过...
PPT可能会通过实例、流程图和案例研究来帮助理解黑盒测试和白盒测试的实施步骤、优缺点及应用场合。 通过深入学习这些课件,软件测试工程师可以更好地掌握如何有效地测试软件,从而提升软件产品的质量和用户体验。...
本文借助这个例子结合教学经验,从更高的视角来探讨需求分析、软件设计、软件开发与软件测试之间的关系与作用。 题目:根据下面给出的三角形的需求完成程序并完成测试: 一、输入条件: 1、条件1:a+b>c 2、...
- 白盒测试确保代码逻辑正确无误,黑盒测试则确保功能满足用户需求。 - 两种测试方法互补,可以提高软件的质量和可靠性。 **4.2 自动化测试的重要性** - QTP等自动化测试工具可以显著提高测试效率,减少重复劳动。 ...
为了深入理解和实践这两种测试方法,你可以分别下载"白盒测试指南.rar"和"黑盒测试设计.rar"这两个压缩包,其中应该包含详细的指南和实例,帮助你提升单元测试的能力。记得在实践中不断学习和改进,以提高软件质量。
- 白盒测试:基于代码结构的测试,关注程序逻辑路径。 - 黑盒测试:不考虑内部结构,只关注输入、输出和功能是否符合需求。 - 灰盒测试:结合白盒和黑盒测试,既考虑内部结构也关注功能行为。 5. **测试策略**:...
在HIS系统中,白盒测试方法尤为重要,因为它能深入到代码层面,检查内部逻辑和数据流,确保每个模块的内部实现是正确的。通过结合动态测试(如执行测试用例)和静态测试(如代码审查)的方法,可以有效地发现代码中...
软件测试生命周期(Software Testing Life Cycle, STLC)包括一系列阶段,如需求分析、测试计划、设计、实施、执行、评估、报告和回归测试。每个阶段都有明确的目标和产出物,确保测试过程的完整性和有效性。 4. *...
单元测试关注点包括确保每个模块能够正常运作,测试时机紧跟在编码和编译之后,并且通常由程序开发者或具备白盒测试技能的测试人员执行。测试依据是详细的软件设计文档,测试方法以白盒测试为主,结合静态代码审查和...
- **白盒测试工具**:介绍用于白盒测试的工具。 - **黑盒测试工具**:介绍用于黑盒测试的工具。 - **测试设计和开发工具**:支持测试设计和开发的工具。 - **测试执行和评估工具**:支持测试执行和结果评估的...
- **白盒测试:** 根据程序内部逻辑结构进行测试,适用于特定情况下验证代码质量。 **案例分析**: 以文档中的“LinkWorks_WorkEvaluate”为例,该测试用例针对的是LinkWorks项目的WorkEvaluate模块,关注点在于...
三、黑盒测试与白盒测试 黑盒测试又称功能测试、数据驱动测试或基于规格说明书的测试。它注重于测试软件的功能性需求。白盒测试又称结构测试、逻辑驱动测试或基于程序本身测试。白盒测试要求对某些程序的结构特性...