• 0
  • 0
分享
  • 软件测试工程师如何做好白盒测试——软件测试圈
  • 恬恬圈 2023-10-13 15:58:45 字数 1343 阅读 899 收藏 0

  1、什么是白盒测试

  定义:按照程序内部结构,逻辑驱动测试程序。

  目的:检测产品内部动作是否按照设计说明书的规范进行,检验程序的每条路径是否都能按照预定要求进行工作。

  对象:源程序。

  用代码内部的分支,路径,条件,使程序设计的控制结构导出测试用例。

  2、白盒测试方法分类

  ①、静态测试

  ②、动态测试

  3、白盒测试的原则

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

  ②、所有逻辑值都要测试真和假两种情况

  ③、检查程序内部的数据结构是否有效

  ④、检查上下边界及可操作范围内运行所有循环

  4、白盒测试的类别

  ①、软件共用问题的测试

  ②、语言测试

  ③、sql语句测试

  ④、数据类型测试

  ⑤、界面测试

  ⑥、数值队形测试

  ⑦、业务对象测试

  ⑧、数据管理对象测试

  5、白盒测试依据

  ①、软件需求报告

  ②、软件需求规格说明

  ③、程序设计文档

  ④、软件界面设计

  ⑤、编码规范

  ⑥、开发命名标准

  6、白盒测试流程

  ①、界面对象测试流程

  界面对象(UI)→业务对象(BO)→数据管理对象(DMO)→DBserver端

  ②、业务对象测试流程

  DBserver端→数据管理对象(DMO)→业务对象(BO)→界面对象(UI)

  7、白盒测试方法

  ①、尽量先用自动化工具来进行静态解析

  ②、建议先从静态测试开始(静态结构分析、代码走查、静态质量度量),然后进行动态测试(如覆盖率测试)

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

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

  8、代码检查

  概述:主要检查代码和流图设计的一致性、代码结构的合理性、代码编写的标准性、可读性、代码的逻辑表达的正确性等方面。包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。

  目的:

  ①、检查代码是否按照某种标准或规范编写的代码

  ②、检查代码以发现程序缺陷

  ③、通过检查代码容易发现程序产生的错误

  ④、通过检查代码来发现代码是不是流程图要求的;

  ⑤、通过检查代码来发现有没有遗漏的项目;

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

  ⑦、要代码易于阅读、理解和维护。

  方式:

  ①、桌面检查

  ②、走查

  ③、代码审查

  项目:

  ①、目录文件组织

  ②、检查函数

  ③、数据类型及变量

  ④、检查条件判断语句

  ⑤、检查循环体制

  ⑥、检查代码注释

  ⑦、桌面检查

  9、静态结构分析

  定义:主要以图形的方式表现程序的内部结构(例如函数调用关系图、函数内部控制流图);通过应用程序各函数之间的调用关系展示了系统的结构,列出所有函数,用连线表示调用关系和作用。

  主要分析:

  ①、可以检查函数的调用关系是否正确

  ②、是否存在孤立的函数而没有被调用

  ③、明确函数被调用的频繁度,对调用频繁的函数可以重点检查


作者:传说三哥    

来源:http://www.51testing.com/html/00/n-4481200.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   众所周知,Appium是移动端界面自动化中最常用的开源框架之一,它能够支持 iOS 平台和 Android 平台上app及Web应用测试,支持Mac,Windows操作系统,并且支持多种语言,Java、Python、PHP、C#、js等,让你不受编程语言的束缚 。下面我将展示Appium框架应用测试的一个具体实例。  一、框架环境安装  环境搭建需要具备以下软件,如下表:  环境配置略微复杂些,涉及到多个软件的安装及参数配置等,可参考网上Appium搭建文文档,环境搭建不属于本篇文章的重点,不再赘述。  二、测试流程操作  1、安装APK  打开模拟器,安装好自己要测试的app包 。  2...
            1 1 1709
            分享
          • 1、引言小鱼:小屌丝, 这段代码为什么要开两个线程?小屌丝:因为我要读写文件,还要备份文件,所以就开两个线程了。小鱼:嗯,想法是对的,但是,还有一种简便的方法, 不需要开两个线程就能搞得定的。小屌丝:额…难道是with open?小鱼:不是。小屌丝:那还有啥呢? 我咋想不起来了。小鱼:嗯,这个方法很奈斯,但是很少人使用,因为大部分码农都是直接open 文件的。小屌丝:那你就别藏着掖着了,赶紧展示一下,让我也长长见识。2、 fileinput说到fileinput,可能90%的码农表示没用过,甚至没有听说过。这不奇怪,因为在python界,既然open可以走天下,何必要fileinput呢?。但...
            0 0 1342
            分享
          •   应用场景  测试用例一遍一遍的执行,没有新意了,没有Bug了。突然来了一位小白,同样的用例就“逮”着了一只Bug。一回放,原来手误,输入了不同的测试数据,误打误撞。  这也证明了测试数据在测试执行中起到的关键作用。输入的数据不同,得到的结果就不一样。Bug是与你擦肩而过,还是不期而遇呢?有时候还真的就在你手指轻弹、输入数据的一瞬间。  今天的强调无非是想给大家介绍一款好用的API Mock 服务器 工具,以便大家在测试中更加方便地配置自己的动态数据。  温馨提示  如果您要按着示例一起做,请务必配置如下工具。  结尾的用例主要是结合Rest-Assured来介绍Json Serv...
            14 14 1756
            分享
          • webdriver概述是一个非常好用的用来进行复杂重复的web自动化测试的工具,主要是,它可以用于我们进行爬虫。WebDriver(Selenium 2),它的主要新功能是集成了 Selenium 1.0 以及 WebDriver。WebDriver(Selenium 2) 兼容 Selenium,它既支持 Selenium API 也支持 WebDriver API。安装chrome webdriver(这是谷歌浏览器的webdriver安装),安装webdriver必须要和对应浏览器的版本相匹配才可以使用。安装之前,先查看浏览器的版本,我这里用谷歌浏览器。1. 查看自己的chrome谷歌浏...
            12 12 3078
            分享
          •   SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。  1 Sonar简介  1.1 sonarQube是什么?  1、代码质量和安全扫描和分析平台。  2、多维度分析代码:代码量、安全隐患、编写规范隐患、重复度、复杂度、代码增量、测试覆盖率等。  3、支持25+编程语言的代码扫描和分析,包含java\python\C#\javascript\go\C++等。  4、涵盖了编程语言的静态扫描规...
            0 1 7028
            分享
      • 51testing软件测试圈微信