白盒测试理论基础

一:白盒测试的概念:

    白盒测试的对象主要是源程序。是指用代码内部的分支,路径,条件,使程序设计的控制结构导出测试用例,是软件测试的主要方法之一

二: 白盒测试方法分为两类:

      1.静态测试 2.动态测试

三: 白盒测试测试原则:

    1.保证一个模块中所有路径至少被测试一次

    2.所有逻辑值都要测试真和假

    3.检查程序的内部数据结构是否有效

    4.检查上,下边界及可操作范围内运行所有循环

四:白盒测试一般要考虑类别,依据,和流程

五:白盒测试的类别:(8大类)

    1.软件公用问题的测试

    2.语言测试

    3.SQL语句测试

    4.数据类型测试

    5.界面测试

    6.数值对象测试

    7.业务对象测试

    8.数据管理对象测试

六:白盒测试依据

    软件需求报告

    软件需求规格说明

    程序设计文档

    软件界面设计

    编码规范

    开发命名规范

七:白盒测试的流程(界面测试和业务测试)

    界面测试

    业务对象流程测试

八:白盒测试方法

    1.测试中,尽量先用自动化工具进行静态结构分析。

    2.测试中建议先从静态测试开始。

    3.利用静态分析的结果作为依据,再使用代码检查和动态测试的方法对静态结果进行进一步确认,提高测试效率及准确性

    4.覆盖率测试是白盒测试的重要手段,在测试报告中可以作为量化指标的依据,对于软件的重点模块,应使用多种覆盖率标准衡量代码的覆盖率。

    5.在不同的测试阶段,测试的侧重是不同的。

九.代码检查

    主要检查代码的流程设计的一致性,代码结构的合理性,代码编写的标准型,可读性,代码的逻辑表达的正确性等方面

十.代码走查(目的)

    1.通过检查代码程序是不是按照某种标准或规范编写的代码

    2.通过检查代码来发现程序缺陷

    3.通过检查代码来发现代码是不是流程图要求的

    4.通过检查代码来发现有没有遗漏的项目

    5.要代码易于移植,代码经常需要在不同的硬件中运行,或者使用不同的编译器编译

    6.要代码易于阅读,理解和维护

十一:代码检查方式

    1.桌面检查

    2.走查

    3.代码审查

十二:代码检查项目

    1.目录文件组织

    2.检查函数

    3.数据类型及变量

    4.检查条件判断语句

    5.检查循环体制

    6.检查代码注释

    7.桌面检查

    8.其他检查

十三:静态结构分析主要是以图形的方式表现程序的内部结构,例如函数调用关系图,函数内部控制流程

十四:SQL语句测试

    主要检查以下两点:

      1.语句检查

      2.类型检查

十五:白盒测试的常用技术

    1.测试覆盖率

    2.逻辑覆盖

    3.面向对象的覆盖

    4.测试覆盖准则

          分别讨论

       测试覆盖率(包括功能覆盖和结构覆盖)--作为量化指标依据

          测试覆盖率是用于确定测试所执行到的覆盖项的百分比。覆盖项是指作为测试基础的一个入口或属性,比如语句,分支,条件

      逻辑覆盖

          可分为语句覆盖,判断覆盖,条件覆盖,条件判断组合覆盖,多条件富覆盖,修改条件判断覆盖,组合覆盖和路径覆盖

      面向对象的覆盖

          继承上下文覆盖和基于状态的上下文覆盖

十六:测试覆盖准则

    测试覆盖准则主要讨论 ESTCA  (错误敏感测试用例分析)和  LCASJ  (线性代码序列与跳转)

      ESTCA覆盖准则

      现行代码序列与跳转LCSAJ

      现行代码序列与条状LCSAJ是指一组顺序执行的代码,以控制流跳转为结束点,可生产4层覆盖

十七:插桩技术

    插桩测试就是向源程序中插入语句然后执行程序,通过打印语句,获得动态信息

十八:基本路径测试法

    在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法,设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次

问题:

  1.白盒测试有哪两个分类?

  2.白盒测试的4个原则

  3.详细说明白盒测试方法要注意的问题

  4.请简要写出白盒测试常用的7类技术

  5.逻辑覆盖主要测试哪8个方面的覆盖率

时间: 2024-10-30 06:42:53

白盒测试理论基础的相关文章

白盒测试:理论基础

白盒测试:理论基础 2016-08-23 目录 1 白盒测试的概念2 白盒测试的主要目的3 测试覆盖标准4 白盒测试的主要方法  4.1 逻辑驱动测试    4.1.1 语句覆盖    4.1.2 判定覆盖(分支覆盖)    4.1.3 条件覆盖    4.1.4 判定/条件覆盖    4.1.5 条件组合覆盖    4.1.6 黑盒法补充测试用例  4.2 路径测试    4.2.1 基本路径测试      1) 控制流图      2) 独立路径      3) 基本路径测试       4

软件测试之“白盒测试”

[引言]工作关系,作为曾经的独立测试部门,现在与开发团队一起组成Scrum Team融合阶段. 因为以前的项目系统问题较多,上边大老板为了提高开发团队的代码提交质量,要求开发除了必要的Unit Test之外,也到做一些E2E的Functioanl Testing俗称Dev Testing:而QA的SIT Testing则可以侧重更广的E2E范围甚至直接上Regression. 而跟开发最近几次的会议讨论中,发现很多开发人员多次提出Dev Testing的侧重点和测试范围,并反复提到很可能与QA

白盒测试方法

白盒测试,英文是White Box Testing.又称结构测试或者逻辑驱动测试. 白盒测试是把测试对象看作一个打开的盒子.利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能. 白盒测试法的覆盖标准有逻辑覆盖.循环覆盖和基本路径测试.其中逻辑覆盖包括语句覆盖.判定覆盖.条件覆盖.判定/条件覆盖.条件组合覆盖和路径覆盖. 白盒测试是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条

单元测试和白盒测试相关总结

一.  软件测试方法 1.        软件测试方法包括:白盒测试(White  Box  Testing).黑盒测试(Black  Box Testing).灰盒测试.静态测试.动态测试. 2.        白盒测试:是一种测试用例设计方法,在这里盒子指的是被测试的软件,白盒,顾名思义即盒子是可视的,你可以清楚盒子内部的东西以及里面是如何运作的,因此白盒测试需要你对系统内部的结构和工作原理有一个清楚的了解,并且基于这个知识来设计你的用例. 白盒测试技术一般可被分为静态分析和动态分析两类技术

入门级----黑盒测试、白盒测试、手工测试、自动化测试、探索性测试、单元测试、性能测试、数据库性能、压力测试、安全性测试、SQL注入、缓冲区溢出、环境测试

黑盒测试 黑盒测试把产品软件当成是一个黑箱子,只有出口和入口,测试过程中只要知道往黑盒中输入什么东西,知道黑盒会出来什么结果就可以了,不需要了解黑箱子里面是如果做的. 即测试人员不用费神去理解软件里面的具体构成和原理,只要像用户一样看待产品就可以了. 例如银行转账功能,不需要知道转账的具体实现代码是怎样工作的,只需要把自己想象成各种类型的用户,模拟多种转账情况看系统是否能正常转账即可. 但是仅仅像用户一样去测试又是不够的.如果只做黑盒测试,必然是存在一定的风险的. 例如某个安全性较高的软件系统,

对白盒测试的一些理解

白盒测试,是一种透明化的测试,程序的内部结构是可视的,是对用例的测试. 白盒测试测试方式有语句覆盖,判断覆盖,条件覆盖,还有判定条件覆盖,条件组合覆盖 白盒测试能发现一系列问题,如逻辑问题,边界条件,变量未初始化,内存越界等一系列问题 如果产品更多的具备软件平台特性,白盒测试应占总测试的80%以上,而如果产品具备复杂的业务操作,有大量GUI界面,黑盒测试的份量应该更重些: 白盒测试和黑盒测试的成分因视情况而定

黑盒测试白盒测试

           白盒测试:是通过程序的源代码进行测试而不使用用户界面.这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正            黑盒测试:又被称为功能测试.数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解 该软件的源代码程序具体是怎样设计的.测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作            黑盒测试(与白盒测试区别

白盒测试一些方法

白盒测试的基本方法 白盒测试足针对软件内部结构的测试,土要是川覆盖的方式对程序代码进行测.戚.下面就白盒测试中的六种典型覆盖方法进行探讨. 1)语句覆盖 作为最基本的逻辑覆盖方法,语句覆盖的含义是:选择足够多的测试数据,使得被测程序中的每个语句至少执行一次.通过语句覆盖,可以直观地从源代码得到测试用例,无须细分每条判定表达式:然而,语句覆盖对程序的逻辑覆盖很少,对于一个包含多个条件的判定表达式,它只关心判定表达式的值,并没有分别测试判定表达式中每个条件取不同值的情况.所以语句覆盖无法全面反映多分

Assignment6:白盒测试方法

常用的软件测试方法有两大类:静态测试方法和动态测试方法. 其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试:而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程.在动态分析技术中,最重要的技术是路径和分支测试. 六种白盒子测试方法:(强度由低到高)语句覆盖.判定覆盖.条件覆盖.判定条件覆盖.条件组合覆盖.路径覆盖. 1)所谓语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执