什么是软件可视化测试

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

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

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

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

    @RegistClass(title="anti size", name="anti")  
    @JRobinPrintor(Factory="File",identifier="antisize")  
    @CollectStrategy("local")  
    public class AntiRegManager{  
      @add 
      @id("antisize")  
      @u("MAX")  
      int antiPoolsize = 0;  
      //.... hide sth  
        
      public anti native(){  
        if(oAnti.isCancled) {  
          return antiProxyIf.borrow();  
        } else {  
           //添加一个变化  
           antiPoolsize = antiPool.size();  
           //hide sth  
        }  
      }  
    } 

xml 代码

    <injection-configuration> 
      <group> 
         <bean id="anti" class="com.iktec.foo.AntiRegManager" /> 
      group> 
    injection-configuration>   

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

功能二

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

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

功能三

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

    @RegistClass(title="anti size", name="anti")      
    @JRobinPrintor(Factory="File",identifier="antisize")      
    @CollectStrategy("local")      
    public class AntiRegManager{      
      @add     
      @id("antisize")      
      @u("MAX")      
      int antiPoolsize = 0;      
      //.... hide sth      
            
      public anti native(){      
        if(oAnti.isCancled) {      
          return antiProxyIf.borrow();      
        } else {      
           //添加一个变化      
           antiPoolsize = antiPool.size();      
           //hide sth      
        }      
      }      
    }