`
liyiye
  • 浏览: 425182 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

(三)白盒测试实例--需求分析

阅读更多

需求分析是后续工作的基石,如果分析思路有问题,后续工作可能就会走向不正确的方向,比如:代码重用性差、难于测试、难于扩展和难于维护等。反而,如果需求分析做的好,对设计、开发和测试来说,都可能是很大的帮助。

看到题目给出的条件达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. 压力测试:模拟大量并发用户,评估系统在高负载下的表现和稳定性...

    白盒测试实例分析.pdf

    本实例主要介绍了几种不同的白盒测试技术,包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖以及条件组合覆盖,并通过一个具体的程序结构展示了如何设计测试用例。 1. **语句覆盖**:此测试方法的目标是确保程序中...

    软件测试过程中的黑盒与白盒测试.pptx

    **白盒测试实例** 设计测试用例时,根据代码逻辑覆盖所有可能的分支和路径。例如,在一个登录模块中,不仅要测试正确的用户名和密码情况,还要测试空字符串、错误密码等异常情况。 **白盒测试总结** 白盒测试通过...

    软件测试课件(基本概念、黑盒白盒测试方法等)

    PPT可能会通过实例、流程图和案例研究来帮助理解黑盒测试和白盒测试的实施步骤、优缺点及应用场合。 通过深入学习这些课件,软件测试工程师可以更好地掌握如何有效地测试软件,从而提升软件产品的质量和用户体验。...

    白盒测试实例之一——需求说明

    本文借助这个例子结合教学经验,从更高的视角来探讨需求分析、软件设计、软件开发与软件测试之间的关系与作用。  题目:根据下面给出的三角形的需求完成程序并完成测试:  一、输入条件:  1、条件1:a+b&gt;c  2、...

    白盒-黑盒测试与及QTP自动化测试实验报告.docx

    - 白盒测试确保代码逻辑正确无误,黑盒测试则确保功能满足用户需求。 - 两种测试方法互补,可以提高软件的质量和可靠性。 **4.2 自动化测试的重要性** - QTP等自动化测试工具可以显著提高测试效率,减少重复劳动。 ...

    单元测试(白盒和黑盒)

    为了深入理解和实践这两种测试方法,你可以分别下载"白盒测试指南.rar"和"黑盒测试设计.rar"这两个压缩包,其中应该包含详细的指南和实例,帮助你提升单元测试的能力。记得在实践中不断学习和改进,以提高软件质量。

    软件测试实例(好像是具体的测试)

    - 白盒测试:基于代码结构的测试,关注程序逻辑路径。 - 黑盒测试:不考虑内部结构,只关注输入、输出和功能是否符合需求。 - 灰盒测试:结合白盒和黑盒测试,既考虑内部结构也关注功能行为。 5. **测试策略**:...

    最全面详细的软件测试教程-之基础篇

    软件测试生命周期(Software Testing Life Cycle, STLC)包括一系列阶段,如需求分析、测试计划、设计、实施、执行、评估、报告和回归测试。每个阶段都有明确的目标和产出物,确保测试过程的完整性和有效性。 4. *...

    软件测试教程--第08章

    在HIS系统中,由于涉及大量费用计算和复杂业务逻辑,白盒测试显得尤为重要,以确保代码的正确性和逻辑无误。 集成测试阶段,重点在于检查不同模块之间的交互和数据流通,确保系统的整体功能。HIS的集成测试主要集中...

    [软件测试].赵瑞莲.文字版

    - **白盒测试工具**:介绍用于白盒测试的工具。 - **黑盒测试工具**:介绍用于黑盒测试的工具。 - **测试设计和开发工具**:支持测试设计和开发的工具。 - **测试执行和评估工具**:支持测试执行和结果评估的...

    测试用例实例(含:功能测试用例、性能测试用例、兼容性测试用例)

    - **白盒测试:** 根据程序内部逻辑结构进行测试,适用于特定情况下验证代码质量。 **案例分析**: 以文档中的“LinkWorks_WorkEvaluate”为例,该测试用例针对的是LinkWorks项目的WorkEvaluate模块,关注点在于...

    测试策略分类

    三、黑盒测试与白盒测试 黑盒测试又称功能测试、数据驱动测试或基于规格说明书的测试。它注重于测试软件的功能性需求。白盒测试又称结构测试、逻辑驱动测试或基于程序本身测试。白盒测试要求对某些程序的结构特性...

Global site tag (gtag.js) - Google Analytics