`

可视化软件测试,讨论可视化测试是否有存在的价值

阅读更多

什么是软件可视化测试

可视化的软件测试区别于一般的测试手段,它需要将测试结果直观的表现出来,而不仅仅是一个测试的结果。显然,可视化测试必须要有一个稳定的,可靠的,持续的测试数据收集方案,和多种直观的表现形式。

 

java 代码

测试数据采样的策略有2种

 |-- 本地策略 --  Annotation / xml defintion + xml-def的方式来将数据注入到core中

 |-- 远程策略 -- 只接受标准格式的持久数据

 

java 代码
  1. @RegistClass(title="anti size", name="anti")   
  2. @JRobinPrintor(Factory="File",identifier="antisize")   
  3. @CollectStrategy("local")   
  4. public class AntiRegManager{   
  5.   @add  
  6.   @id("antisize")   
  7.   @u("MAX")   
  8.   int antiPoolsize = 0;   
  9.   //.... hide sth   
  10.      
  11.   public anti native(){   
  12.     if(oAnti.isCancled) {   
  13.       return antiProxyIf.borrow();   
  14.     } else {   
  15.        //添加一个变化   
  16.        antiPoolsize = antiPool.size();   
  17.        //hide sth   
  18.     }   
  19.   }   
  20. }  

 

xml 代码
  1. <injection-configuration>  
  2.   <group>  
  3.      <bean id="anti" class="com.iktec.foo.AntiRegManager" />  
  4.   group>  
  5. injection-configuration>    

 

AntiRegManager类会是个持续性的类,antiPoolsize这个数值型变量的变化也是持续性的,Core模块里面的AkCfg会从xml中把AntiRegManager这个类提取出来,并且Reflect它的Annotation。根据这些定义我会把收集来的数据存储到anti.de这个文件里。core模块里面封装了client包,提供接口把anti.de解释成JRobin和jasperReport能够接受的数据类型,并且显示出来。

功能二

提供其他平台和其他语言的支持

由于我提出了这个测试方案在解决一些性能问题上还算直观,组里的其他的项目也希望通过这种方式来表现,所以我提供了Remote接口,但是这种方式只能接受标准格式的数据,我提供接口把这些数据直接导入可视化模块。

功能三

把多条数据的内容进行比较

java 代码
  1. @RegistClass(title="anti size", name="anti")       
  2. @JRobinPrintor(Factory="File",identifier="antisize")       
  3. @CollectStrategy("local")       
  4. public class AntiRegManager{       
  5.   @add      
  6.   @id("antisize")       
  7.   @u("MAX")       
  8.   int antiPoolsize = 0;       
  9.   //.... hide sth       
  10.          
  11.   public anti native(){       
  12.     if(oAnti.isCancled) {       
  13.       return antiProxyIf.borrow();       
  14.     } else {       
  15.        //添加一个变化       
  16.        antiPoolsize = antiPool.size();       
  17.        //hide sth       
  18.     }       
  19.   }       
  20. }   

 

java 代码
  1. @RegistClass(title="suz size", name="suz")          
  2. @JRobinPrintor(Factory="File",identifier="suzsize")          
  3. @CollectStrategy("local")          
  4. public class suzRegManager{          
  5.   @add         
  6.   @id("suz")          
  7.   @u("AVE")          
  8.   int suzPoolsize = 0;          
  9.   //.... hide sth          
  10.             
  11.   public void native(){                
  12.        //添加一个变化          
  13.        antiPoolsize = antiPool.size();          
  14.        //hide sth               
  15.   }          
  16. }   
xml 代码
  1. <injection-configuration></injection-configuration>  
  2.   <group></group>   
  3.     "anti" class="com.intec.foo.AntiRegManager" />          
  4.     "suz" class="com.intec.module.suzRegManager" />   
  5.      
  6.   

这样可以把2条数据曲线保存在一个可视化的图形中,这样2者之间可以有一个非常直观的比较。

其他有意义的测试功能

1:增加测试的曲线的夸张力 通过@addLease(fuc="+",value="10")  这条Annotation的作用是把测试获取的数据全部+10以后在存储起来。

2:添加统计 通过@reset(fuc="+","AVE")

现在还存在的问题

1:由于是使用动态代理的模式,所以只能介入到方法这一层。并且数据采集是完全针对接口的,目前工作环境是对业务接口的性能提供测试。所以功能上是非常单一的。我考虑过使用cglib来提供字段级别的数据识别。

2:统计数据存在一些人为因素影响到事实的数据,在表现上也有误差。

3:需要提供数值类型的数据,如Collection为不合法,Collection.size()就是合法的,但是用户必须提供一种类似 int size = xx.size()的方式,这样你的类会得到一个warning,无法做到完全的透明插入。

4:设计上的相对还是比较粗糙,特别在异常的处理上有一些问题,长时间运行会有一些问题。 

  • 描述: 实现图
  • 大小: 7.1 KB
分享到:
Aop
评论
1 楼 retreat 2007-03-05  
希望有高手能提供一些意见

相关推荐

    可视化kafka测试工具

    **可视化Kafka测试工具** 在大数据处理领域,Apache Kafka是一个广泛应用的分布式流处理平台,它被设计用于构建实时数据管道和流应用。Kafka的核心功能包括发布订阅消息系统、高吞吐量的数据处理以及持久化数据存储...

    BQConf-软件测试中的数据可视化

    BQConf-软件测试中的数据可视化,资源大小:906KB,欢迎下载

    软件测试过程可视化的研究与应用

    随着数据可视化技术在软件测试领域的推广应用,出现了如软件测试管理系统、 软件测试过程管理系统以及软件测试过程或结果可视分析辅助工具等。但是,这些系 统或工具主要供开发人员进行代码分析时使用,可视化内容...

    行业分类-设备装置-一种可视化软件测试设计平台.zip

    《一种可视化软件测试设计平台》 在现代信息技术领域,软件测试是确保产品质量和可靠性不可或缺的一环。本资料主要探讨了一种专为设备装置行业设计的可视化软件测试设计平台,该平台旨在提高测试效率,降低测试成本...

    基于Python设计的TEQC数据质量可视化分析软件.pdf

    因此,本文基于Python语言对TEQC质量检核模块进行可视化软件设计,并结合实验数据对编写的软件性能进行测试。 TEQC质量检核模块是TEQC软件的核心功能之一,其质量检核原理主要是利用GNSS观测数据的伪距和载波相位...

    android可视化编程软件

    标题中的“android可视化编程软件”指的是使用图形用户界面(GUI)工具来构建Android应用程序的开发方式,这种方法允许开发者通过拖放组件、设置属性等直观操作,而非编写大量代码,大大简化了开发流程,降低了入门...

    数据可视化软件app

    在本项目中,我们关注的是一个使用Python编程语言,结合PyQt5和matplotlib库开发的数据可视化软件应用。PyQt5是一个强大的GUI(图形用户界面)框架,它允许开发者创建桌面应用程序,而matplotlib则是Python中最常用...

    人工智能-项目实践-深度学习-可视化-YoloX可视化训练插件.zip

    人工智能-项目实践-深度学习-可视化-YoloX可视化训练插件 YoloX_EasyTrain 这是一个YoloX的训练插件,通过可视化的方式管理工程,训练模型。方便,高效!适合yolox新人朋友以及重度用户,让你点点鼠标就能训练自己...

    codesys2.3可视化教程.pdf_Codesys2.3可视化教程_

    《Codesys2.3可视化教程》是一份专为学习和掌握Codesys2.3编程环境中的可视化编程技术而编写的详细指南。Codesys是基于IEC 61131-3标准的软件平台,广泛应用于工业自动化领域,尤其是PLC(可编程逻辑控制器)编程。...

    软件需求与可视化模型.rar

    《软件需求与可视化模型》是针对产品经理和项目经理的重要学习资源,它涵盖了软件开发过程中至关重要的需求分析和模型化方法。这个压缩包中的“软件需求与可视化模型.pdf”文件,很显然是一个详细的指南,旨在帮助...

    0007_可视化接口测试控件.rar

    在IT行业中,接口测试是软件测试的一个重要环节,它主要关注的是系统间的通信,确保一个系统或服务能够正确地与其他系统交互。可视化接口测试控件则为这一过程提供了直观且高效的工具,使得测试人员可以更加便捷地...

    最新 BACnet可视化测试软件

    针对BACnet协议的测试和调试,有一款名为“BACnet可视化测试软件”的工具,它对开发者和系统集成商来说极其重要。 这款软件提供了全面的BACnet协议测试功能,包含了所有BACnet测试命令,如读取、写入、确认报文、...

    虚谷数据库可视化工具备份

    虚谷数据库可视化工具是一款专为数据库管理设计的高效软件,它提供了一种直观且用户友好的界面,使得数据库操作和管理变得更加便捷。该工具的主要功能包括数据库备份、数据恢复、性能监控以及SQL查询等,旨在提升...

    国外可视化数据结构教学软件及其比较

    国外已有多种数据结构可视化软件,如Visualgo、Data Structure Visualizations等,它们各有特色,有的注重交互性,有的侧重于算法的详细展示。国内在这一领域的发展相对较慢,但借鉴国外的成功案例,可以为我国的...

    BACnet 可视化测试软件

    BACnet可视化测试软件是针对这一协议开发的工具,对于拥有BACnet设备的用户来说,它在设备的开发和调试过程中扮演了重要角色。 这款软件的核心功能在于其全面的BACnet命令码测试能力。BACnet协议包含了一系列的命令...

    BACNET的可视化测试软件vts

    **BACnet与可视化测试软件VTS** BACnet(楼宇自动化控制网络)是一种标准通信协议,专门设计用于建筑自动化和控制系统,如暖通空调(HVAC)、照明、安全和消防系统等。它允许不同制造商的设备在同一个网络上相互...

    软件测试bug统计分析图表

    1. **可视化bug分布**:通过柱状图、饼图或热力图等形式,清晰展示不同模块或功能区的bug数量,有助于识别高风险区域,优先安排资源进行修复。 2. **评估测试进度**:时间轴上的趋势图可以反映bug的发现和解决速率,...

    神州数码-大屏可视化决策系统解决方案18页.pptx

    3. 软件开发:开发大屏可视化决策系统的软件部分。 4. 硬件配置:配置大屏可视化决策系统的硬件部分。 5. 系统测试:对大屏可视化决策系统进行测试和调试。 6. 系统实施:将大屏可视化决策系统实施到客户的业务环境...

    大连理工软件学院 可视化上机作业.rar

    在【大连理工软件学院】,这门课程可能作为【软件开发与测试】方向的选修课程,旨在培养学生的数据洞察力和信息可视化能力。 在2018级的日常上机作业中,学生可能需要掌握以下知识点: 1. **基础图表类型**:理解...

    cosesys 可视化教程

    在线模式下,用户可以直接在编程系统中查看和测试可视化的实际效果,而无需部署到目标设备上。 **2.9 库的可视化** 用户可以创建自定义的可视化库,包含常用的元素和模板,以便在多个项目中重复使用。 #### 三、...

Global site tag (gtag.js) - Google Analytics