章节概述/ Summary
白盒测试又称为透明盒测试、结构测试,它基于程序的内部逻辑结构进行测试,而不是程序的功能(黑盒测试)。因此,进行白盒测试时,测试人员需要了解程序的内部逻辑结构,根据使用的编程语言设计测试用例。白盒测试可用于单元测试、集成测试和系统测试。白盒测试的方法包括基本路径法、逻辑覆盖法、程序插桩法,本章将对白盒测试的方法进行详细讲解。
预备知识——基本块
基本块: 如果P是一个由过程式程序设计语言(如C语言)编写的程序,那么只有一个入口块和出口块的连续语句序列就可以被认为是一个基本块。 一个基本块只有唯一的入口块和出口块,这个入口块即为基本块的第1条语句,出口块是最后一条语句。程序的控制从入口块进入,从出口块退出,除此之外程序不能在基本块其他点退出或是中止。如果基本块仅有一条语句,那么认为入口和出口是重合的。
静态检测法
工匠精神-软件测试的核心信仰
广义上讲,工匠精神,是指工匠以极致的态度对自己的产品精雕细琢、精益求精、追求更完美的精神理念。工匠们喜欢不断雕琢自己的产品,不断改善自己的工艺,享受着产品在双手中升华的过程。概括起来,工匠精神就是追求卓越的创造精神、精益求精的品质精神、用户至上的服务精神。 当下的社会风气有很多心浮气躁的信息,很多人追求“短、平、快”(投资少、周期短、见效快)带来的即时利益,而忽略了产品的品质灵魂。坚持“工匠精神”,依靠信念、信仰,看着产品不断改进、不断完善,最终,通过高标准要求历练之后,成为众多用户的骄傲,无论成功与否,这个过程,参与者的精神是完完全全的享受,是脱俗的、也是正面积极的。 软件测试的过程,其实是为了保障软件质量,提升用户体验的过程。在这个过程中,测试人员需要不间断和尽早地对产品进行反复测试,力争发现软件设计和运行过程中的缺陷和漏洞,帮助开发人员提升软件产品的品质,并最终实现对接客户的需求。这个过程,是测试人员以“工匠精神”为核心理念,不断追求卓越、精益求精,本着用户至上的原则,和对精品执着的坚持和追求,力争把品质提高,过程中其利虽微,却长久造福于世。
白盒测试只测试软件产品的内部结构和处理过程,而不测试软件产品的功能,用于纠正软件系统在描述、表示和规格上的错误,是进一步测试的前提。白盒子测试分静态和动态两种:静态白盒测试是在不执行的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程,有时也称为结构分析。动态白盒测试也称结构化测试,通过查看并使用代码的内部结构,设计和执行测试。
词法分析与语法分析
词法分析是计算机科学中将字符序列转换为单词序列的过程。进行词法分析的程序或者函数叫作词法分析器(Lexical analyzer,简称Lexer),也叫扫描器(Scanner)。词法分析器一般以函数的形式存在,供语法分析器调用。
代码检查法
代码检查主要检查代码和设计的一致性,代码对文档标准的遵循及代码的可读性,代码的逻辑表达正确性,代码结构的合理性等方面。代码检查比动态测试更有效率,能快速找到大约30%~70%的逻辑设计错误和编码缺陷。
《MISRA C:2012手册》 Helix QAC 《阿里巴巴Java开发手册》
标签:逻辑,覆盖,白盒,代码,基本块,工匠,词法,3.4,测试 From: https://blog.csdn.net/m0_74955388/article/details/144064108