当前位置:
文档之家› 源代码审核的基本步骤及流程_整体测试
源代码审核的基本步骤及流程_整体测试
整体测试概念
整体测试是在软件开发完成之后,对软件进行系统完
整的测试。整体测试的任务是尽可能彻底地检查出程序中的
错误,提高软件系统的可靠性,其目的是检验系统“做得怎样
?”。整体测试是针对整个产品系统进行的测试,目的是验证
系统是否满足了需求规格的定义,找出与需求规格不相符合
或与之矛盾的地方。
整体测试结束应交付测试报告,说明测试数据的选择
点击此处添加脚注信息
23
功能测试
划分等价类: 等价类是指某个输入域的子集合。在该子集合中 ,各个输入数据对于揭露程序中的错误都是等效的。并合理 地假定:测试某等价类的代表值就等于对这一类其它值的测试 。因此,可以把全部输入数据合理划分为若干等价类,在每 一个等价类中取一个数据作为测试的输入条件,就可以用少 量代表性的测试数据,取得较好的测试结果。
问题的效率也较高;
3.能够较容易地测试到系统测试用例难以模拟的特殊异常流
程,从纯理论的角度来讲,集成测试能够模拟所有实际情况
;
4.定位问题较快,由于集成测试具有可重复强、对测试人员 透明的特点,发现问题后容易定位,所以能够有效点击地此处加添加快脚注进信息
度,减少隐患。
12
集成测试
集成测试是: 1.测试人员在开发人员的协助下,制定集成测试计划; 2.集成测试主要关注的是集成模块接口上消息的覆盖、异常 流程、性能指标等深入的测试,集成测试不一定依赖于物理 平台的支撑(如:机架); 3.集成测试是分层次的,某模块集成测试通过后,可以按照 集成方案的策划开始着手下一个(组)模块或更高级别的模 块的集成,直至按照集成方案的要求将所有的部值分析方法是对等价类划分方法的补充。长期的
测试工作经验告诉我们,大量的错误是发生在输入或输出范 围的边界上,而不是发生在输入输出范围的内部。因此针对 各种边界情况设计测试用例,可以查出更多的错误.。
点击此处添加脚注信息
26
功能测试
使用边界值分析方法设计测试用例,首先应确定边界 情况。通常输入和输出等价类的边界,就是应着重测试的边 界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值 作为测试数据,而不是选取等价类中的典型值或任意值作为 测试数据。
点击此处添加脚注信息
16
集成测试
自底向上集成 目的:从依赖性最小的底层模块开始,按照层次结构图,逐 层向上集成,验证系统的稳定性。 定义:自底向上集成是从系统层次结构图的最底层模块开始 进行组装和集成测试的方式。
点击此处添加脚注信息
17
集成测试
三明治集成 目的:综合利用自顶向下和自底向上两中集成测试策略的优 点。 定义: 三明治集成是一种混合增殖式测试策略,综合了自顶 向下和自底向上两种集成方法的优点,因此也属于基于功能 分解集成。
,测试用例以及测试结果是否符合预期结果。测试发现问题
之后要经过调试找出错误原因和位置,然后进行改正。是基
于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合
的部件。
点击此处添加脚注信息
5
整体测试组成
整体测试组成
集成测试:也叫组装测试、联合测试,集成测试是在单元测 试的基础上,将所有模块按照概要设计要求组装成子系统。 功能测试:根据产品特性、操作描述和用户方案,测试一个 产品的特性和可操作行为以确定它们满足设计需求。
点击此处添加脚注信息
33
性能测试
并发测试 验证系统的并发处理能力。一般是和服务器端建立大量
的并发连接,通过客户端的响应时间和服务器端的性能监测 情况来判断系统是否达到了既定的并发能力指标。负载测试 往往就会使用并发来创造负载,之所以把并发测试单独提出 来,是因为并发测试往往涉及服务器的并发容量,以及多进 程/多线程协调同步可能带来的问题。这是要特别注意,必须 测试的。
点击此处添加脚注信息
24
功能测试
等价类划分可有两种不同的情况:有效等价类和无效等价类。 有效等价类:是指对于程序的规格说明来说是合理的,有意义 的输入数据构成的集合。利用有效等价类可检验程序是否实 现了规格说明中所规定的功能和性能。 无效等价类:与有效等价类的定义恰巧相反.
点击此处添加脚注信息
25
软件源代码漏洞及缺陷扫描技术
源代码审核的基本步骤及流程
1
目录
1
• 以借口为标准的代码审计——书写自动化测试的桩
2
• 一边编码,一边测试
3
• 边界测试
4
• 整体测试
5
• 编码、测试交叉分离
6
• 结束
2
软件源代码漏洞及缺陷扫描技术
整体测试
整体测试概念 测试方法 测试工具 小结
3
整体测试概念
集成测试
常用集成方法
大爆炸集成 目的:尽可能缩短测试时间,使用最少的测试用例验证系统 。 定义:大爆炸集成也称为一次性组装或整体拼装,这种集成 测试策略的做法就是把所有通过单元测试的模块一次性集成 到一起进行测试,不考虑组件之间的互相依赖性及可能存在 的风险。
点击此处添加脚注信息
15
集成测试
自顶向下集成 目的:从顶层控制(主控模块)开始,采用同设计顺序一样 的思路对被测系统进行测试,来验证系统的稳定性。 定义:自顶向下的集成测试就是按照系统层次结构图,以主 程序模块为中心,自上而下按照深度优先或者广度优先策略 ,对各个模块一边组装一边进行测试。
点击此处添加脚注信息
35
性能测试
稳定性测试 “路遥知马力”,在这里我们要说的是和性能测试有关
的稳定性测试,即测试系统在一定负载下运行长时间后是否 会发生问题。软件系统的有些问题是不能一下子就暴露出来 的,或者说是需要时间积累才能达到能够度量的程度。为什 么会需要这样的测试呢?因为有些软件的问题只有在运行一 天或一个星期甚至更长的时间才会暴露。这种问题一般是程 序占用资源却不能及时释放而引起的。比如,内存泄漏问题 就是经过一段时间积累才会慢慢变得显著,在运行初期却很 难检测出来;还有客户端和服务器在负载运行一段时间后, 建立了大量的连接通路,却不能有效地复用或及时释放。
进行集成测试。
点击此处添加脚注信息
11
集成测试
集成测试有以下不可替代的特点:
1.单元测试具有不彻底性,对于模块间接口信息内容的正确
性、相互调用关系是否符合设计无能为力。只能靠集成测试
来进行保障。
2.同系统测试相比,由于集成测试用例是从程序结构出发的
,目的性、针对性更强,测试项发现问题的效率更高,定位
点击此处添加脚注信息
34
性能测试
基准测试 当软件系统中增加一个新的模块的时候,需要做基准测
试,以判断新模块对整个软件系统的性能影响。按照基准测 试的方法,需要打开/关闭新模块至少各做一次测试。关闭模 块之前的系统各个性能指标记下来作为基准(Benchmark) ,然后与打开模块状态下的系统性能指标作比较,以判断模 块对系统性能的影响。
点击此处添加脚注信息
20
功能测试
功能测试
功能测试中的常用方法有如下几种 等价类划分: 边界值分析方法 错误推测方法 因果图方法
点击此处添加脚注信息
22
功能测试
等价类划分 等价类划分是把所有可能的输入数据,即程序的输入域
划分成若干部分(子集),然后从每一个子集中选取少数具有 代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒 测试用例设计方法.。
。 因此必须考虑采用一种适合于描述对于多种条件的组合,
相应产生多个动作的形式来考虑设计测试用例。 这就需要利
用因果图(逻辑模型)。
因果图方法最终生成的就是判定表。 它适合于检查程
序输入条件的各种组合情况。
点击此处添加脚注信息
29
性能测试
性能测试
常见的性能测试方法有如下几种: 负载测试 压力测试 并发测试 基准测试 稳定性测试 可恢复测试
点击此处添加脚注信息
31
性能测试
负载测试 在这里,负载测试指的是最常见的验证一般性能需求而
进行的性能测试,用户最常见的性能需求就是“既要马儿跑 ,又要马儿少吃草”。因此负载测试主要是考察软件系统在 既定负载下的性能表现。我们对负载测试可以有如下理解: (1)负载测试是站在用户的角度去观察在一定条件下软件系 统的性能表现。 (2)负载测试的预期结果是用户的性能需求得到满足。此指 标一般体现为响应时间、交易容量、并发容量、资源使用率 等。
点击此处添加脚注信息
7
整体测试组成
系统测试:是将经过测试的子系统装配成一个完整系统来测 试。它是检测系统是否确实能提供系统方案说明书中制定功 能的有效方法。 性能测试:是通过自动化的测试工具模拟多种正常、峰值以 及异常负载条件来对系统的各项性能指标进行测试。负载测 试和压力测试都属于性能测试
点击此处添加脚注信息
9
集成测试
集成测试
考虑如下问题
1.在把各个模块连接起来的时候,穿越模块接口的数据是否
会丢失;
2.各个子功能组合起来,能否达到预期要求的父功能;
3.一个模块的功能是否会对另一个模块的功能产生不利的影
响;
4.全局数据结构是否有问题
5.单个模块的误差积累起来,是否会放大,从而达到不可接
受的程度。
要想发现并排除在模块连接中可能发生的上述问题,就需要
8
整体测试步骤
验收测试:验收测试是部署软件之前的最后一个测试操作。 在软件产品完成了单元测试、集成测试和系统测试之后,产 品发布之前所进行的软件测试活动它是技术测试的最后一个 阶段,也称为交付测试。验收测试的目的是确保软件准备就 绪,并且可以让最终用户将其用于执行软件的既定功能和任 务。
点击此处添加脚注信息
点击此处添加脚注信息
32
性能测试
压力测试 压力测试是为了考察系统在极端条件下的表现,极端条