每日总结-集成测试

一、系统集成
1.系统集成基本概念

(1)通过结构化综合布线系统和计算机网络技术,将各个分离的设备(计算机、传感器等)和信息(软件模块)集成到相互关联的、统一和协调的系统之中;使资源充分共享,实现集中、高效和便利的管理;

(2)系统集成应该采用功能集成、网络集成、软件界面集成等多种集成技术;

(3)系统集成应综合利用各种计算机网络相关技术,适当选择各种软、硬件设备,经过相关人员的集成设计、安装调试、应用开发等大量技术性工作和相应的管理及商务性工作,使集成后的系统能满足用户对实际工作的需求,形成一个具有良好性能和适当性价比的计算机网络系统。

2.系统集成包括设备系统集成和应用系统集成两个方面

(1)设备系统集成:以搭建组织机构内的信息化管理支持平台为目的,利用综合布线技术、楼宇自控技术、通信技术、网络互联技术等将相关设备和软件进行集成设计、安装调试、界面定制开发和应用支持的行为。

(2)应用系统集成:从为客户提供高性能系统应用的角度,提出及实现系统模式的具体技术和运作方案,即为客户提供一个全面的系统解决方案。

3.系统集成的特点:

(1)以满足用户的需求为根本的出发点

(2)系统集成不是选择最好的产品的简单行为,而是选择最适合用户需求和投资规模的产品和技术

(3)不是简单的设备供货,体现更多的是设计、调试与开发的技术和能力

(4)包含技术、商务和管理等方面,是综合性的系统工程:技术是核心,管理和商务活动是系统集成项目成功实施的可靠保障

(5)性价比的高低是评价集成项目设计是否合理和实施是否成功的重要参考因素

 

二、系统测试
1.软件测试:是发现错误的重要手段,能够发现分析和需求阶段产生的多数错误,是取得高可靠软件质量的重要措施之一。

2.软件测试的目的:以较小的代价发现软件中存在的错误

3.软件测试原则

(1)穷尽测试是不可能的:软件测试时抽样测试,满足一定的测试出口准则时应当终止;根据测试的风险和优先级控制工作量

(2)测试应该贯穿于软件生命周期的始终,并尽早测试:测试的准备和设计在编码之前开始;开发过程的每个阶段通过测试保证该过程产品的质量;越到测试后期,为修复缺陷付出的代价越大

(3)缺陷具有集群特性:Pareto原则表明80% 的错误集中在20%的程序模块中

(4)杀虫剂悖论:同样的测试用例被反复执行时,发现缺陷的能力会越来越差-->评审和修改测试用例

(5)没有失效不代表系统可用:即使测试没有发现任何缺陷,也不能证明软件完全正确;如果系统无法使用或者不满足用户的需求和期望,研发就是失败的

(6)测试的标准是用户的需求

(7)尽早定义产品的质量标准:建立质量标准,根据测试的结果,对产品的质量进行分析和评估

(8)可以由第三方或者独立的测试团队完成

4.软件的可测试性

(1)测试过程便于对软件的内部状态进行控制-->可控性

(2)通过测试能够对软件的内部状态进行观测-->可观测性

即对软件进行测试时信息获取的难易程度

软件可测试性的一个重要原则为技术文档的完整,并根据设计变化而及时更新

尽早确定用户接口和特征集,使软件的变化很少而且可控

 

5.测试用例的设计

(1)测试用例:软件测试过程中为了实现特定的测试目的而设计的一组测试输入、执行条件和预期的输出结果,以便测试某个程序是否满足特定需求

(2)测试用例的设计原则:

正面测试和方面测试条件下的测试
正面测试:代表预期的条件,核实行为是否正确或者符合预期
负面测试:代表不可接受的、异常的或者意外的条件
单元测试中,主要的输入应该是被测单元的设计文档
测试用例用来确定测试目标中所有的产品需求行为,每个测试用例说明或者代表唯一的输入集或事件顺序,产生唯一的测试目标行为
6.测试分类

(1)是否执行软件程序

静态测试:不运行被测试的程序本身,仅分析检查源程序的语法、结构、接口等来检查程序的正确性
动态测试:运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能
(2)软件开发过程的角度

需求测试:充分发现需求中不完善和不严密的地方;常使用静态测试,同行评审是有效的拍错手段之一
单元测试(模块测试):在编码完成之后对软件设计的最小单位——程序模块,进行正确性检验的测试工作
集成测试:在单元测试完成的基础上,将所有的模块按照设计要求组装成系统后进行的测试
确认测试:在集成测试的基础上,测试软件是否满足用户需求;由软件开发人员、质量保证人员和用户参与
系统测试:在实际运行环境下,对计算机系统进行一系列组装和确认测试
 

三、黑盒测试
黑盒测试:在程序接口上进行软件功能测试,给定正确的输入,测试能否产生正确的输出;需要测试合法和不合法的输入数据;黑盒测试只能采用有限的输入作为测试,因此使用测试用例将测试的行为具体量化。

 

(一)等价类划分法
1.等价类划分:将程序的输入域划分成若干子集合,即把全部的输入数据合理划分成若干等价类,在每一个等价类中取一个或者几个有代表性的数据作为测试的输入条件,用少量有代表性的测试数据取得较好的测试结果

有效等价类:合理的、有意义的输入数据

无效等价类:输入无效的数据

2.设计测试用例

确定有效等价类和无效等价类

设计一个测试用例,尽可能覆盖尚未被覆盖的有效等价类

设计一个测试用例,仅覆盖一个尚未被覆盖的无效等价类

 

(二)边界值分析法
1.边界值分析法

对输入数据的边界值进行输入和输出检测,测试用例来自有效等价类的边界数据
是等价类划分的一种特殊情形,更加注重将等价类中的边界数值作为输入数据来检查,可以结合二者
2.设计原则

输入数值的范围:选择刚达到这个范围边界的值、刚超过这个范围边界的值
值的个数:选择最大个数、最小个数、比最小个数少1、比最大个数多1的数值作为测试数据
输入输出域是有序集合:选择集合的第一个元素和最后一个元素
内部数据结构:选择边界上的值作为测试用例
 

(三)错误推测法
通过经验和知识推断错误的所在之处,基于经验和知觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例,可以作为一种辅助的测试手段

(四)因果图法
考虑输入到条件之间的相互结合,利用图解法分析输入组合的情况,从而设计测试用例

1.因果关系

恒等关系:C1存在则E1产生

非关系:C1存在则E1不产生

或关系:原因C1 C2 或者 C3存在,E1产生

与关系:原因C1和C3同时存在,E1 产生

 

2.约束条件——输入 输出的约束

输入条件的约束
E关系(异):a b不同时为1
I关系(或):a b c不同时为0 至少有一个为1
O关系(唯一):a和b同时有且仅有一个为1
R关系(要求):a为1时b必须为1
输出条件约束
M关系(强制):a为1则b强制为0


 

3.设计测试用例

找出原因(输入条件或者输入条件的等价类)和结果(输出条件),并赋予标识符
找出原因-结果、原因-原因之间的对应关系,画因果图
标明不可能出现的组合情况
转化为判定表
针对判定表的每一列,设计测试用例
 

四、白盒测试
1.白盒测试:把测试对象看做透明的盒子,测试人员依据程序内部的逻辑结构设计测试用例,测试程序所有的逻辑路径

2.白盒测试是一种穷举测试,但是及时对所有路径进行了测试,错误仍然可能出现

不能差出违反设计规范的错误
无法发现遗漏路径出现的错误
不能发现与数据相关的错误
3.白盒测试针对程序模块:

保证独立路径至少被使用一次
所有逻辑值:测试其为真和假的情况
在上下边界以及可操作范围内运行所有循环语句
检查内部数据结构保证有效性
(一)逻辑覆盖法
1.语句覆盖:每条语句至少执行一次;没有办法测试隐藏的条件和可能到达的隐式逻辑分支

2.判定覆盖:每个判定的每个分支至少执行一次,即每个判定有一次真、有一次假

3.条件覆盖:每个判定的每个条件取到各种可能的值,即每个条件有一次真、有一次假;条件覆盖并不能保证判定覆盖

4.判定-条件覆盖:判定语句中的每个条件的所有可能结果至少出现一次,同时每个判定本身的所有可能结果也至少出现一次

5.条件组合覆盖:每个判定中各个条件的每一种组合至少出现一次

 

(二)基本路径测试
1.基本路径测试是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,根据该集合设计的测试用例保证在测试中程序的每个可执行语句至少执行一次,同时判定条件也分别执行TRUE和FALSE一次。

2.基本路径测试的步骤:

画控制流图(注意不是程序流程图)
由圆圈和箭头组成:圆圈表示程序流程图中的一条或者多条语句
基本元素


 

计算环复杂度-->为程序逻辑复杂性提供测度的软件度量,计算程序基本路径的数目
=控制流图中区域的数量
=边-结点+2
=判定结点+1  所谓判定结点:包含条件的节点
确定线性独立路径的基本组合,独立路径:一个程序语句的集合或者至少包含一条在定义该路径之前没有用过的边
根据独立路径进行测试用例设计

原文链接:https://blog.csdn.net/shujian_tianya/article/details/106335561

posted on 2021-05-25 07:13  孔kk  阅读(348)  评论(0)    收藏  举报

导航