`
yexin218
  • 浏览: 973278 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

关于程序测试小记

阅读更多

      忙乎了近一个多礼拜,所有的时间和精力都花在了程序的测试上面。比较写code的时间,这已经是它好多倍了。让我有些措手不及的是,程序没有编译上的错误,但是测试运行的结果并非像我们预测的那样的完美。我完全不清楚是自己算法本身的缺陷,造成某个问题没有办法很好解决,还是我在编写程序上有了失误。因为测试的结果有一部分显示很正常,而似乎在处理有些条件下的输入的时候就有了差错了。我们想无头苍蝇那样,撞了很多次壁,也没有弄清楚问题所在,有些沮丧。

 

 

      程序中有一个函数,其自变量d的取值为[min,max],我们要在这个区间中找到是有能让f(x)为零变量,及测试f(x)在这个区间上是否穿越了X轴。使用的方法很简单,先用粗略的采样区间比如t=(max-min)/10000.0这样的间隔来分别算出各自的值,然后判断相邻的两个数的成绩是否小于零。当然有时候你的取样间隔就成了关键的问题所在。一种先入为主的观念就是轨迹圆的方程不会很大,所以这个d的取值范围应该很小才对,一直认为他们之间[max-min]在平分多少份就可以满足需求了。结果这个陷入为主的想法,把我挡在了正解的边缘。

Thread 5 has entered into ^_^ 
 max and min are 73.04481725355387:0.4966007122005891
 original d is 0.5328748204712658 distance is 0.2412947474691374
 original d is 0.5691489287419425 distance is 0.4509871765772213
 original d is 0.6054230370126191 distance is 0.5994128821785287

      而后来的测试结果,令我大吃一惊。max的最大值为73多,所以无论你在平分多少万份都不能达到一个很精确的效果。正常情况下的精确值为10的负8次方。所以这样一来间隔就很大了,就会略过许多值了。结果可以想象。继续测是发现,在[0.49,73.0]中真正有效值仅为[0.49,16.5],所以这个73.0首先把你的取样间隔放大,然后在让程序做一些无效的计算。所以要考虑优化算法。

 

     所以,总结起来,不要盲目去测试和调试程序,如果不知道真正的问题所在,首先确保程序编写没有问题,然后再去检查测试的结果,分析其执行的过程的数据,我想这样是有一定帮助的。

 

      这是一门好大的学问,只有经验的积累和自己的探索,才能做得又快又好。

2
0
分享到:
评论

相关推荐

    单元测试学习小记

    单元测试学习小记软件测试什么是单元测试单元在程序里可以简单的理解为一个模块,一个方法。单元测试也就是在完成每个模块后都进行的测试。从确保每个模块没有问题,从而提高整体的程序质量。做单元测试的好处对于...

    asp.net Jmail使用小记

    ASP.NET 是微软开发的一种用于构建Web应用程序的框架,它提供了丰富的功能和强大的性能。在ASP.NET中,有时候我们需要实现邮件发送的功能,这时Jmail组件就显得尤为重要。Jmail是一款广泛应用于ASP.NET平台的邮件...

    安卓做的小记账本app.zip

    【标题】"安卓做的小记账本app.zip"是一个包含有安卓应用开发项目的压缩文件,主要涉及的内容是一款基于Android平台的简易记账本应用程序。这个项目不仅提供了源代码,还可能包括开发过程中的报告和演示用的PPT,...

    PHPweb渗透小记.docx

    根据文档描述,本次渗透测试的目标网站使用的是PHP Web程序,并且通过简单的尝试,测试人员发现了一个可能存在的安全漏洞。接下来,我们将详细探讨这一过程中所涉及的技术细节及其背后的原理。 #### 二、渗透过程 ...

    流程图与控制流图课堂小记.doc

    基本路径测试是一种白盒测试技术,用于确保程序中的所有独立路径都被至少测试一次。其主要步骤包括: 1. **绘制控制流图**:如上所述,首先需要根据程序代码绘制出控制流图。 2. **计算圈复杂度**:圈复杂度(也...

    spring 小记

    在传统的Java程序中,对象之间的依赖关系通常是硬编码的,这使得代码难以测试和维护。Spring通过DI实现了组件间的松耦合,允许开发者在运行时通过配置文件或注解来注入依赖,使得程序更灵活、可扩展。 其次,Spring...

    Flex整合J2EE开发小记+源码下载

    【标题】"Flex整合J2EE开发小记+源码下载"揭示了本文将探讨如何在Java企业级环境中(J2EE)集成Adobe Flex技术,用于构建富互联网应用程序(RIA)。Flex是一种强大的客户端开发框架,它允许开发人员创建交互性强、...

    Selenium自动化测试框架详细介绍ppt及示例脚本.rar

    Selenium是一款广泛应用于Web应用程序自动化测试的开源工具,它支持多种编程语言,如Python、Java、C#等,能够模拟真实用户在浏览器上的操作,进行功能验证和性能测试。本资料包包含了Selenium的详细讲解PPT以及...

    roseha8.5配置小记

    - **数据库迁移与验证**:在JKCTI上安装SQL Server,并附加之前创建的数据库文件,同样测试访问性,并修改服务启动方式。 #### 4. RoseHA 软件安装与配置 - **安装步骤**:登录WHJKAPP,运行RoseHA安装程序,简单...

    windows下部署tomcat项目小记

    在Windows环境下部署Apache Tomcat服务器是一项常见的任务,尤其对于开发和测试环境来说。在这个过程中,可能会遇到各种问题,本文将详细解析如何在Windows系统中部署Tomcat项目,并着重解决两个常见问题:数据库不...

    大方法的执行性能与调优过程小记1

    在案例中,`play()`方法在测试前已预热执行2000次,理论上应该触发了JIT编译。然而,通过添加`-XX:+PrintCompilation`参数观察JIT编译日志,我们发现经过32次重复拷贝的`play()`方法并未被JIT编译,而将其拆分为`...

    thinkphp5.0反序列化链小记.pdf

    当应用程序需要处理用户提供的数据时,如果这些数据包含可被反序列化的恶意代码,则可能导致远程代码执行等严重后果。 #### 三、ThinkPHP 5.0 反序列化链漏洞解析 ##### 1. 漏洞原理 在ThinkPHP 5.0版本中,由于...

    J-Link调试K60小记

    下载程序前,可以选择一个例程,如16位AD测试程序,将其下载到K60中。在调试窗口中观察运行结果,如变量result1A显示AD采样值,变量zwf实时更新,展示调试的实时跟踪功能。 在实际操作过程中可能会遇到问题,例如:...

    SRA2021-G03-用户反馈报告-李以昕1

    云端知识库APP是一款专为用户提供个人知识管理和团队协作服务的应用程序。该应用涵盖了多个核心功能模块,包括个人知识库、协作知识库、个人主页、小记等,旨在提高用户的知识整理与共享效率。 1. 个人知识库模块:...

    IBM X346 板载 Raid1 功能启用及Win2003系统安装小记

    在整个过程中,作者还测试了不同版本的serverguide光盘对RAID 1的支持情况,并发现只有serverguide 7.4能够支持RAID 1。最后,作者分析了集成前后的驱动和光盘文件,确认了网站上提供的驱动与集成到安装盘中的驱动在...

    SRA2021-G03-系统接口文档 0.11

    以上内容构成了云端知识库APP的系统接口文档的主要部分,它详细定义了系统的各个功能组件,为开发、测试和维护提供了清晰的指导。通过遵循这个文档,开发团队可以确保各个组件之间的协同工作,从而构建出一个高效、...

    angleMeasure-master.zip

    测量图像中一点到摄像头中心点的角度,程序主要是参照 https://blog.csdn.net/zmdsjtu/article/details/54729448 中的程序修改的,在使用中只要点击图像上的某点在终端上会输出当前点...角度测试图片可以参考test.jpg

    海尔驱动-Video

    5. 安装完成后,可以通过设备管理器检查驱动是否安装成功,也可以通过运行性能测试软件验证视频性能的提升。 至于压缩包中的"Video"文件,这可能包含的是驱动程序的安装文件或者是一些相关文档,例如安装指南、用户...

Global site tag (gtag.js) - Google Analytics