1.白盒测试从何学起(1)除了拥有编码知识外,还必须拥有良好的编码风格(2)对于不同的语言平台,学习并掌握主流的单元测试框架是第一步 语言 单元测试框架 JAVA JUnit或TestNG C/C++ C++Test或Visual Unit .NET VisualStudio或QualityTools或UnitTest 纯C RTRT (3)掌握单元测试用例的设计思路和方法,能够熟练应用等价类,边界值等方法来设计组织测试用例(4)深入理解“可测性”问题,能够很好的分析处理“代码隔离、不可控、打桩失真、复杂数据结构初始化、间接输入、私有成员访问、中断输入”等技术细节(5)对于单元测试框架,不仅要做到会用,还必须知道它是设计思想和工作原理因为在有些比较特殊的项目中你会发现,现有的单元测试框架无法满足你的需求,这种情况下就有必要修改或者开发适合项目的单元测试框架6)白盒测试入门学习不难,但在实际项目中具体应用就很难会涉及到很多“可测性”难题,还会涉及到大量的技术细节问题(7)白盒测试的用例切忌不能以走读被测代码来设计,必须以详细设计作为白盒测试用例设计的依据。
关键:白盒测试的基本概念、检查方法、测试方法、测试工具等内容是必须掌握的2.白盒测试的基本概念白盒测试可以把程序看成装在一个透明的白盒子里,也就是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行白盒测试又称结构测试白盒测试的对象主要是源程序,是指用代码内部的分支、路径、条件,使程序设计的控制结构导出测试用例,是软件测试的主要方法之一3.白盒测试的方法软件白盒测试的测试方法总体上分为静态方法和动态方法两大类1.静态分析法静态分析法是一种不通过执行程序而进行测试的技术静态分析的关键功能是检查软件的表示和描述是否一致 , 没有冲突或者没有歧义常用方法:代码检查、代码走查、桌面检查2.动态分析法动态分析的主要特点是当软件系统在模拟的或真实的环境中执行之前、之中和之后 , 对软件系统行为的分析动态分析包含了程序在受控的环境下使用特定的期望结果进行正式的运行它显示了一个系统在检查状态下是正确还是不正确在动态分析技术中 , 最重要的技术是路径和分支测试六种覆盖测试方法属于动态分析方法六种覆盖法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖4.白盒测试的原则白盒测试的原则有如下4点: 1)保证一个模块中的所有路径至少被测试一次。
2)所有逻辑值都要测试真和假两种情况 3)检查程序的内部数据结构是否有效 4)检查上、下边界及可操作范围内运行的所有循环5.白盒测试的类别白盒测试的类别具体分为以下8大类: 1)软件公用问题的测试 2)语言测试 3)SQL语句测试 4)数据类型测试 5)界面测试 6)数值对象测试 7)业务对象测试 8)数据管理对象测试6.白盒测试的依据白盒测试的依据有以下6点: 1)软件需求报告 2)软件需求规格说明 3)程序设计文档 4)软件界面设计 5)编码规范 6)开发命名标准7.白盒测试的流程白盒测试的流程分为界面对象测试和业务对象测试两种方式 (1)界面对象测试优点:便于测试者从界面层直观地录入数据缺点:进行回归测试时,需要重复录入数据 (2)业务对象测试业务对象测试是从底层开始,逐一向上延伸的优点:进行回归测试时,不需要重复输入数据,且程序执行一遍就可以了缺点:需要给中间层编写一个测试小程序,根据程序中类的对象构造输入数据并将结果输出到控制台上8 .来自论坛的一些学习白盒测试的经验:1.掌握一个编程语言,一个数据库语言,然后找些白盒测试的书或者文章看看,多和相关的人员交流,然后自己尝试着写个小程序,然后去测试2.最起码要掌握C语言吧,然后是数据库,可找一些单元测试工具回来用用3.白盒测试主要关注内部细节,所以要入门,有几点建议:1、对单元测试的整个流程了如指掌2、至少精通一门编程语言3、熟悉其他语言和脚本也是必要的。
比如SQL, TCL4、会设计用例、执行用例、写测试报告4.做白盒测试如何下手:你可以先把它的用户需求说明书,概要说明书等相关的关档拿过来,先好好的看懂,明白它要实现一个什么样的逻辑功能 然后在好好的阅读它的代码,以验证它的逻辑正确性,当然你看它是采用什么语言开发的,在参照相相应的资料如:C语言开发编写标准,,或你们公司开发部的代码标准,等拿过来做一个代码检查.之后呢,可以采用一种逻辑覆盖法,或是基本路径法,来设计测试用例..检查完以后.还可以用相应的白盒测试工具来测试如c++test,junit等,即可!5.多学一些语言,不要求一定要很熟练的会编,至少要看的懂.白盒测试也需要写一定的代码去测试.然后看些测试的方法、技术和理论6.代码检测只是白盒测试的一部分,而且可以借助工具实现,比如代码覆盖率,内存分析,而对代码的具体分析就要靠对代码的理解力了,首先要读懂代码,分析函数,检测函数,等等,需要你对所测试的程序语言有一定的理解.建议你先从单元测试的代码分析开始,作为切入点,开始了解白盒测试的全部特别注明:本文内容均为转载,经个人整理而成。