软件工程第六章软件测试

前言

软件测试目的在于发现错误;
测试过程是按照相反顺序自底向上,逐步集成的过程

黑盒测试

将测试对象看做一个黑盒子,检查程序的功能是否符合它的功能说明

测试用例设计

等价类划分
把所有可能的输入数据划分为若干部分,然后从每一部分选取少数有代表性的数据作为测试用例
(划分等价类的五个原则)之后建立输入等价类表

边界值分析

错误推测法

因果图
适用范围:测试的时候必须考虑输入条件的各种组合,一种适合于描述多种条件的组合,相应产生多个动作的形式来设计测试用例。最终生成判定表

因果图生成测试用例的步骤

1.分析软件规格说明描述中,哪些是原因,哪些是结果
2.找出原因与结果之间是什么关系
3.表明特殊情况,在因果图上用一些记号表明约束或限制条件
4.把因果图转换成判定表
5.把判定表的每一列拿出来作为依据,设计测试用例

因果图中常用基本符号

白盒测试

将测试对象看做一个透明的盒子,对程序所有逻辑路径进行测试

逻辑覆盖

逻辑覆盖是以程序内部的逻辑结构作为基础的设计测试用例的技术(属于白盒测试)

语句覆盖
设计若干测试用例,运行被测程序,使得每一可执行语句至少执行一次

判定-条件覆盖
每个条件和每个判断的可能取值至少执行一次

判定覆盖
设计若干测试用例,使得程序中每个判断的取真分支和取假分支至少经历一次

条件组合覆盖

条件覆盖
每个判断的每个条件的可能取值至少执行一次

路径覆盖


路径测试

设计足够的测试用例,覆盖程序中所有可能的路径

条件测试路径选择
程序中判定多于一个时,分支结构分为两类:
嵌套型分支结构和连锁型分支结构

循环测试路径

简单循环
嵌套循环
连锁循环
非结构循环

软件测试策略
单元测试

针对软件设计的最小单位——程序模块,进行正确性检验的测试工作

辅助模块:驱动模块、桩模块

组装测试

一次性组装方式
增殖性组装方式

自顶向下的增殖方式
自底向上的增殖方式
混合增殖式测试

确认测试

有效性测试,为验证软件的功能和性能及其它特性是否与用户的要求一致

系统测试

对计算机系统进行一系列组装测试和确认测试

…….
各种测试

调试

进一步诊断和改正程序中潜在的错误

步骤

1.从错误的外部表现形式入手,确定程序中出错位置
2.研究有关部分的程序,找出错误的内在原因
3.修改设计和代码,以排除这个错误
4.重复进行暴露了这个错误的原始测试或某些有关测试

调试方法

强行排错
使用较多,效率较低

回溯法调试
小程序中常用。先分析错误征兆,确定最先发现症状的位置

归纳法调试
从一些线索着手,通过分析它们之间的关系来找错误

演绎法调试
从一般原理或前提出发,经过排除和精化的过程来推导出结论的思考方法

调试和修改错误的原则

确定错误的性质和位置的原则
.用头脑去分析思考与错误征兆有关的信息
.避开死胡同
.只把调试工具当作辅助手段来使用
.避免使用试探法

.出错的地方,还有可能有别的错误
.当心修正一个错误的同时又可能会引进新的错误

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值