白盒测试一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级,又称结构测试、逻辑驱动测试或基于程序本身的测试。从程序的内部逻辑结构入手,按照一定的原则设计测试用例,对软件的逻辑路径进行测试,在程序的不同点检查程序的状态,来判定其实际情况是否和预期的状态相一致。

白盒测试可分为静态测试和动态测试。

■ 静态测试

直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件。静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。

静态测试方法能快速找到缺陷,发现30%~70%的逻辑设计和编码缺陷。静态测试方法的依据是项目的程序设计文档、程序的源代码清单、编码规范和代码审查表等。

■ 动态测试

与静态测试方法不同,动态测试方法的一般采用“插桩”的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。其与静态测试方法最大的不同就是动态测试方法要求被测系统实际运行。

动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。

宇信科技在白盒测试方面有如下优势:

● 在宇信金融服务产品研发和交付实施项目中开展的大量白盒测试实施,形成了白盒测试实施方法论,储备了白盒测试人员资源池

● 采用主流开源白盒测试工具实施白盒测试,节省客户白盒测试实施成本