课程咨询 :0571-56020834 QQ:3163902815

杭州软件测试培训

杭州软件测试培训 > 达内新闻 > 软件测试中的测不准原理
  • 软件测试中的测不准原理

    发布:~Rambler~      来源:51测试网      时间:2015-11-24


  •     1.测不准原理

        1927年,德国物理学家海森堡,首先提出了量子力学中的不确定性。即在一个量子力学系统中,一个粒子的位置和它的动量不可被同时确定。这就是著名的测不准原理。

        达内软件测试专家提出,对任何系统,加入了观测后,必然会对系统产生或多或少的影响。或者说,如果你要观测一个系统,严格意义上说,它就不是原来的系统了。

        如何既要对系统进行观测,又要对系统影响最小? 

        2.软件测试方法

        软件的测试方法有黑盒测试和白盒测试。

        黑盒测试,这种测试不需要了解软件的内部构造,是从用户的角度对程序进行的测试,只知道程序的输入、输出和系统的功能就可以。包括功能测试、系统测试、极限测试和性能测试。

        白盒测试,也称结构测试、逻辑驱动测试或基于程序本身的测试。测试者需要了解待测试程序的内部结构、算法等信息,这是从程序设计者的角度对程序进行的测试。

        传统的白盒测试方法:

        单步测试方法

        用集成开发环境进行单步调试,可以在语句级、函数级、对象级进行单步调试。使用JUnit也属于单步调试的范畴,只是粒度在函数级,属于单元测试,本质并没有太大的变化。代码并不是“真实”地运行,代码总是要 走停停,运行一段程序或一条代码,之后停止下来观察运行结果。这个测试方法对系统影响很大,不适合系统性能的测试,适合功能级的测试。

        日志测试方法

        关键代码中大量嵌入printf语句,输出日志或直接显示,之后分析日志。在linux中总是用种方法。这种测试,代码是在真实地运行,不仅能调试功能,也能测试软件的性能,但是在代码中要大量嵌入printf语句,影响了软 的性能,但这种测试,与单步调试相比,对系统性能影响较小。

        在日志测试方法中,代码不用停止,代码在运行到有printf语句的地方会打印日志,事后分析日志,以了解代码的运行状况,如从日志中可以知道发生了什么错误、程序运行状况等。这种方法,有点类似飞机的黑盒子, 是事后的分析与处理。这是一种被动的对系统的观测方式。

        断言测试方法

        基于DBC的测试,程序员对函数或变量进行预测,并插入断言语句来判断是否符合你的预测,但要加入大量的断言语句,断言的输出可以显示或记入日志中。这是一种主动的对系统的观测方法。可以测试软件系统的性能 。

        3.QS测试方法

        QS(Quantum Spy)是断言方法和日志方法两者的结合。

        QS测试方法是,在目标板中进行事件记录,记录内容放到RAM中缓冲,之后,在目标板程序运行的空闲时间,通过串口或UDP协议,把RAM缓存的内容传送到上位机(PC机) ,上位机事后对事件进行分析,检查程序的运行正确 否。QS把记录事件与传送事件分离,并且,传送的数据是压缩格式的。

        QS的软件测试方法不用单步调试方法,也不用printf语句,但严格地说它是属于断言测试和日志测试两者的结合,需要在关键部分嵌入测试代码宏,但是QS实现的测试结构性更好,不像printf语句那么零碎和任意放置。

        QS是基于QP框架的,在关键代码中加入测试代码模块,对事件的监测是动态可变的,可以通过两层事件过滤机制对需要监测的事件进行动态变更,屏蔽不需要观测的事件。

        新版的QS加入了事件注入机制,可以主动发起特定的事件,观测系统对这个事件的反应结果。这是一种主动的测试方式,对系统影响也比较小。

        QS不仅可以测试程序的功能,而且能很好地测试程序的性能,很好地实现了对系统进行测试,并对系统影响最小。
    推荐文章

上一篇:白盒测试抓取网络请求的方法

下一篇:Web自动化测试之DOM

最新开班日期  |  更多

国际软件测试工程师精品班

国际软件测试工程师精品班

开班日期:每月底

国际软件测试工程师提升班

国际软件测试工程师提升班

开班日期:每月底

国际软件测试工程师就业班

国际软件测试工程师就业班

开班日期:每月底

国际软件测试工程师就业班

国际软件测试工程师就业班

开班日期:每月底

  • 地址:杭州市西湖区文三路199号创业大厦4楼
  • 课程培训电话:0571-56020834 QQ:3163902815     全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56