首页 > 其他分享 >3.4 基于逻辑覆盖的方法

3.4 基于逻辑覆盖的方法

时间:2024-11-26 17:29:46浏览次数:8  
标签:逻辑 覆盖 白盒 代码 基本块 工匠 词法 3.4 测试

 章节概述/ 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

相关文章

  • 如何更改训练策略——利用torch.utils.data.batchsampler修改batch处理逻辑
    问题背景给了个任务,小老板单独给了个训练集,要按照他创造的mimo策略进行训练/验证。mimo策略其中第一步就是对数据集进行处理,要把每个batch重复n_infers遍,之后组合所有的batch生成一个单独的epoch。原码是使用torch.utils.dataloader进行数据集加载的,并使用sampler(torch.utils.d......
  • 最小覆盖子串(java)
    给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。注意:对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保......
  • MybatisPlus入门(十)MybatisPlus-逻辑删除和多记录操作
    一、Mybatis-Plus多记录操作按照主键删除多条记录List<Long>ids=Arrays.asList(newLong[]{2,3})userDao.deleteBatchIds(ids);示例代码如下:@TestvoidtestDelete(){//删除指定多条数据List<Long>list=newArrayList<>();......
  • 模糊逻辑学习 | 模糊推理 | 模糊逻辑控制
    注:本文为几位功夫博主关于“模糊逻辑学习/推理/控制”的相关几篇文章合辑。初学模糊逻辑控制(FuzzyLogicControl)ziqian__已于2022-08-1920:30:25修改一、前言模糊逻辑控制(FuzzyLogicControl)是基于模糊数学发展来的一类控制方法,由扎德(Zadeh)于1965年提出......
  • KOA 入门,完善用户注册和登录逻辑
    在上次简单实现用户注册和登录逻辑的时候「传送门」,提到了很多优化的地方,在这里我们来解决优化这些问题。在开始之前,因为上次我们测试的时候创建了多个相同账号名字的账号,所以我们先进行强制同步模型来清空上次创建的相关数据。调用node./src/db/connect.js来处理相关逻辑。......
  • 说说你对CSS样式覆盖规则的理解
    CSS样式覆盖规则决定了当多个样式规则应用于同一个HTML元素时,哪个样式最终生效。其核心原则是特异性、继承和层叠顺序。1.特异性(Specificity):特异性决定了哪个样式规则更“具体”地针对目标元素。特异性越高,优先级越高。计算特异性可以将其分解为四个级别(从高到低):内联样式......
  • 机器学习——逻辑回归
    一、逻辑回归的基本概念1.什么是逻辑回归?逻辑回归是一种分类算法,它通过一个数学模型估计输入特征与目标类别之间的关系,用于解决二分类问题(如判断某事件是否会发生)。虽然名字中有“回归”,但它是一个分类算法,因为它的输出是一个概率,用来预测样本属于某一类的可能性。2.逻辑回......
  • 数据库技术提升-MySQL数据库原理、设计与应用【3.4】
    3.触发器的触发触发器在创建完成后,若使触发器触发,则需要让触发器指定的数据表执行设置的对应操作。为了让读者更好地理解,接下来以触发inserttri触发器为例进行演示,具体SQL,语句及执行结果如下.(1)首先查看shgoods表中商品编号为5的库存量stock。(2)接着向购物......
  • 一分钟了解同步与异步时序逻辑电路
    在同步时序电路中,各触发器的时钟端全部连接到同一个时钟源上,只有当时钟脉冲到来时,电路的状态才能改变。(注意不要求是同一时钟,而是同源时钟。所谓的同源时钟是指同一个时钟源衍生频率比值为2的幂次方,且初相位相同的时钟。)同步逻辑是指时钟之间有固定的因果......
  • 华为OD机试真题-最少量线段覆盖-2024年OD统一考试(E卷)
    最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客     每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。题目描述给定坐标轴上的一组线......