nowcoder刷题笔记——易错概念

1.在软件开发中,我们经常要使用测试用例对程序进行检查,一次成功的测试是指运行测试用例后,发现了程序错误。

2.圈复杂度:圈复杂度所反映的是“判定条件”的数量。圈复杂度用来衡量一个模块判定结构的复杂程度,数量上表现为线性无关的路径条数,即合理的预防错误所需测试的最少路径条数。圈复杂度大说明程序代码可能质量低且难于测试和维护,根据经验,程序的可能错误和高的圈复杂度有着很大关系。
举例:如果一段源码中不包含控制流语句(条件或决策点),那么这段代码的圈复杂度为1,因为这段代码中只会有一条路径;如果一段代码中仅包含一个if语句,且if语句仅有一个条件,那么这段代码的圈复杂度为2;包含两个嵌套的if语句,或是一个if语句有两个条件的代码块的圈复杂度为3。
计算公式1:V(G)=e-n+2p。其中,e表示控制流图中边的数量,n表示控制流图中节点的数量,p图的连接组件数目(图的组件数是相连节点的最大集合)。因为控制流图都是连通的,所以p为1.
计算公式2:V(G)=区域数=判定节点数+1。因为圈复杂度所反映的是“判定条件”的数量,所以圈复杂度实际上就是等于判定节点的数量再加上1,也即控制流图的区域数
对于多分支的CASE结构或IF-ELSEIF-ELSE结构,统计判定节点的个数时需要特别注意一点,要求必须统计全部实际的判定节点数,也即每个ELSEIF语句,以及每个CASE语句,都应该算为一个判定节点。
计算公式3:V(G)=R。其中R代表平面被控制流图划分成的区域数。
三者的比较:针对程序的控制流图计算圈复杂度V(G)时,最好还是采用第一个公式,也即V(G)=e-n+2;而针对模块的控制流图时,可以直接统计判定节点数,这样更为简单;针对复杂的控制流图是,使用区域计算公式V(G)=R更为简单。
在这里插入图片描述
在这里插入图片描述

3.黑盒测试技术使用最广的用例设计技术是等值分析测试。
4.单元测试:指对软件中的最小可测试单元进行检查和验证。比如C语言中单元指一个函数。经常和单元测试联系起来的另外
一些开发活动包括代码走读,静态分析(对软件源代码进行研读,查找错误或收集一些度量数据,不需要对代码进行编译和执行),动态分析(观察软件运行时的动作,提供执行跟踪,时间分析,以及测试覆盖度方面)。

5.数据流分析:数据流分析是一项编译时使用的技术,它能从程序代码中收集程序的语义信息,并通过代数的方法在编译时确定变量的定义和使用。通过数据流分析,可以不必实际运行程序就能够发现程序运行时的行为,这样可以帮助大家理解程序。数据流分析被用于解决编译优化、程序验证、调试、测试、并行、向量化和片行编程环境等问题。

6.逻辑覆盖:以程序内部的逻辑结构为基础的设计测试用例的技术,它属于白盒测试。根据覆盖目标的不同和覆盖源程序语句的详尽程度,逻辑覆盖又可分为:
语句覆盖(设计测试用例使得每一个可执行语句至少执行一次)
判定覆盖(设计测试用例使得每个判定取真分支和取假分支至少执行一次)
条件覆盖(只考虑判断语句中的表达式不考虑各个分支条件即不满足判定覆盖)
条件/判定覆盖
条件组合覆盖(条件组合覆盖使得每个判定中条件的各种可能组合都至少出现一次(以数轴形式划分区域,提取交集,建立最少的测试用例)。满足条件组合覆盖一定满足判定覆盖、条件覆盖、判定条件覆盖
修正判定条件覆盖
路径覆盖

7.软件测试计划评审会需要哪些人员参加?
项目经理、SQA 负责人、配置负责人、测试组

8,软件测试主要工作内容是验证和确认。确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。

9.系统测试是基于软件需求说明书的黑盒测试,是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确。
集成测试的主要目的是检查软件单位之间的接口是否正确,主要是针对程序内部结构进行测试,特别是对程序之间的接口进行测试。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值