软件测试期末复习

注:本文基于软件测试技术第二版 范勇等人主编整理

第一部分:概念简述

1.软件测试的原则:

(1) 可追溯性
(2)尽早开展预防性测试
(3)投入/产出原则
(4)回归测试
(5)80/20原则
(6)设立独立的测试机构或委托第三方测试
2.软件测试的方法:软件测试方法一般分为两大类:动态测试方法和静态测试方法。
3.动态测试通过运行程序发现错误。 根据测试用例的设计方法不同,动态测试又分为黑盒测试白盒测试两类。
4.综合测试步骤:单元测试,集成测试,确认测试,系统测试,验证测试
5.单元测试方法:驱动模块(自底向上)、桩模块(自顶向下)
驱动模块模拟主程序,桩模块模拟被测模块调用的模块。
6.集成测试方法:非增量式集成测试,增量式(渐增式)集成测试

基于功能分解的集成
自顶向下集成
自底向上集成
三明治集成
基于调用图的集成
成对集成
相邻集成
增量式集成测试

习题P179 3,4必做

7.系统测试内容:

系统测试
功能测试
性能测试
负载测试
压力测试
兼容性测试
安全性测试
其他测试

选择几个记住名称了解即可

8.验收测试:α测试,β测试,正式测试
注:α测试不需要开发人员参与

9.V模型,W模型,X模型
习题:软件测试过程中的集成测试主要是为了发现( B )阶段的错误。

A.需求分析 (系统测试) B.概要设计 (集成测试)

C.详细设计 (单元测试) D.编码 (单元测试)
在这里插入图片描述10.软件测试活动的生命周期分为
(1)软件定义
(2)软件开发
(3)软件使用与维护
11. 10 软件的缺陷等级应如何划分?每类错误包括哪些错误?

A类—严重错误:a、由于程序所引起的死机,非法退出 b、死循环

c、数据库发生死锁 d、因错误操作导致的程序中断 e、功能错误

f、与数据库连接错误 g、数据通讯错误

B类—较严重错误:a、程序错误 b、程序接口错误 c、数据库的表、业务规则、缺省值未加完整性等约束条件

C类 —一般错误:a、操作界面错误 b、打印内容、格式错误 c、简单的输入限制未放在前台进行控制 d、删除操作未给出提示 e、数据库表中有过多的空字段

D类—较小错误:a、界面不规范 b、辅助说明描述不清楚 c、输入输出不规范 d、长操作未给用户提示 e、提示窗口文字未采用行业术语 f、可输入区域和只读区域没有明显的区分标志
12.软件是程序文档的集合。
13.区别软件测试和软件调试的:
软件测试目的是尽早发现软件潜在的错误
软件调试目的是定位错误并纠正。

第二部分:黑盒测试

1.边界值测试:

1.1边界值分析:取5种取值,共4n+1种样例
1.1.1最坏情况测试,在边界值分析的基础上进行笛卡尔积,共5^n种取值
1.2健壮性边界测试:取7种取值,共6n+1种样例
1.2.1健壮性最坏情况测试:在健壮性边界测试的基础上进行笛卡尔积,共7^n种取值。
习题 P75 6

2.等价类测试

输入有效等价类无效等价类

习题 P74 5

3.判定表测试

表的组成:

规则
条件桩条件项
动作桩动作项

习题 P75 10

4.因果图测试

在这里插入图片描述(1)恒等:若c1是1,则e1也是1;否则e1为0
(2)非:若c1是1,则e1是0;否则e1是1
(3)或:若c1或c2或c3是1,则e1是1;否则e1为0。“或”可有任意个输入
(4)与:若c1和c2都是1,则e1为1;否则e1为0。“与”也可有任意个输入
在这里插入图片描述E(互斥Exclusion):表示ab两原因不会同时成立,最多一个能成立
I(包含Include):abc三个原因中至少有一个必须成立
O(唯一Only):ab当中必须有一个,且仅有一个成立
R(要求Require):当a出现时,b必须也出现,不可能a出现b不出现
M(强制或屏蔽):a是1时,b必须是0,a是0时,b的值不定

习题 P66 问题描述2

第三部分:白盒测试

1.逻辑覆盖

1.几种常用的逻辑覆盖测试方法
语句覆盖:测试时,首先设计若干个测试用例,然后运行被测程序,使程序中的每个可执行语句至少执行一次
Eg

测试用例:
A=2,B=0,X=3 路径为ace,达到语句覆盖
A=2,B=1,X=3 路径为abe,未能达到语句覆盖

2. 判定覆盖:

使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假值均曾被满足。

测试用例:
A=2,B=0,X=3
A=1,B=1,X=1
达到判定覆盖

3.条件覆盖:

要使每个判断中每个条件的可能取值至少满足一次
T1:A>1
T2: B=0
T3: A=2
T4: X>1在这里插入图片描述

3个测试用例把4个条件的8种情况均做了覆盖。但满足条件覆盖并不一定满足判定覆盖。

4.判定-条件覆盖:

使得判断中每个条件的所有可能至少出现一次,并且每个判断本身的判定结果也至少出现一次
在这里插入图片描述
既满足判定覆盖(覆盖了4个分支bcde),又满足条件覆盖(覆盖了8种情况),但少了一条路径acd
1~4测试方式往往综合出题,习题P105 2

5. 路径覆盖:

1.要求覆盖程序中所有可能的路径

在这里插入图片描述
2.程序中路径数的计算
(1)程序复杂度计算

V=E-N+2
V:复杂度
E:边数
N:结点数(判断框也算结点)

3.计算独立路径数
独立路径:某一程序的独立路径是从程序入口到出口的多次执行中,每次至少一个语句(包括运算、赋值、输入输出或判断)是新的
在这里插入图片描述在这里插入图片描述习题P106 3

第四部分 单元测试

一.单元测试的目的:
1.更准更全面地找到错误,显著提高软件质量
2.大量削减开发时间和成本

二. 原则:
1.尽早进行单元测试
2.保证单元测试的可重复性
在这里插入图片描述

三.尽可能采用测试自动化支持单元测试
过程:
1.制定测试计划
2.单元测试计划
3.测试执行
4.测试评估
在这里插入图片描述

四:内容:
1.对模块的五个基本特征进行评价:
(1)模块接口
(2)局部数据结构
(3)边界条件
(4)执行路径
(5)错误处理
在这里插入图片描述

五:方法:
1.静态代码分析:代码走查,审查,评查
2.单元结构测试(白盒测试)
3.单元功能测试(黑盒测试)

单元测试环境:驱动模块(模拟主程序)桩模块(模拟被测基本单元调用的单元)
在这里插入图片描述在这里插入图片描述

单元测试策略:自顶向下(需要桩模块),自底向上(需要驱动模块),孤立单元测试

第五部分:集成测试

集成测试的目的:
1.集成测试在单元测试和系统测试间起到承上启下的作用,既能发现大量单元测试阶段不易发现的接口类错误,又可以保证在进入系统测试前及早发现错误,减少损失。
2.单元测试通常是单人执行,而集成测试通常是多人执行或第三方执行。集成测试通过模块间的交互作用和不同人的理解和交流,更容易发现实现上、理解上的不一致和差错。

集成测试的原则:
1.集成测试是产品研发中的重要工作,需要为其分
配足够的资源和时间。
2.集成测试需要经过严密的计划,并严格按计划执行。
3.应采取增量式的分步集成方式,逐步进行软件部件的集成和测试。
4.应重视测试自动化技术的引入与应用,不断提高集成测试效率。
5.应该注意测试用例的积累和管理,方便进行回归并进行测试用例补充。

集成测试接口类型:
1.通信协议
2.调用关系
3.文件,数据库,队列,第三方中间件等
4.共享资源
5.同步

集成测试的层次:
按集成力度分:
1.模块内集成测试
2.子系统内集成测试
3.子系统间集成测试
按面向对象的应用系统分:
1.类内集成测试
2.类外集成测试
过程:
1.计划阶段
2.设计阶段
3.实施阶段
4.执行阶段
5.分析
6.评估
集成测试策略:
1.非增量式方式:大爆炸/大棒
2.增量式方式:自顶向下,自底向上,三明治
集成测试用例设计:
在这里插入图片描述

1.为系统运行设计用例
可使用的主要测试分析技术有:
(1)等价类划分
(2)边界值分析。
(3)基于决策表的测试。
2.为正向测试设计用例
可以用如下几种主要测试分析技术:
(1)输入域测试。
(2)输出域测试。
(3)等价类划分。
(4)状态转换测试。
(5)规范导出法。
3.为逆向测试设计用例
可使用的主要测试分析技术有:
(1)错误猜测法
(2)基于风险的测试。
(3)基于故障的测试。.
(4)边界值分析。
(5)特殊值测试。
(6)状态转换测试。
4.为满足特殊需求设计用例
可使用的主要测试分析技术为规范导出法。
5.为高覆盖设计用例
可使用的主要测试分析技术有:
(1)功能覆盖分析。
(2)接口覆盖分析。

第六部分:系统测试

系统测试目标:
1.检验组成整个系统的代码、以及系统的软硬件配合有无错误;
2.代码实现的系统与用户需求是否吻合;
3.检验系统的文档等各种是否完整、有效;
4.模拟验收测试的要求,检查系统是否符合用户的验收标准;
主要内容:
功能测试、性能测试、负载测试、强度测试、容量测试、安全性测试、配置测试、故障恢复测试、安装测试、文档测试、用户界面测试等,其中,功能测试、性能测试、配置测试、安装测试等在一般情况下是必需的,而其它的测试类型则需要根据软件项目的具体要求进行裁剪。
功能性测试内容:界面,数据,操作,逻辑,接口等
功能测试的流程
1.测试需求分析
2.制定测试计划
3.测试设计和测试用例设计
4.测试环境搭建
5.测试实施
6.缺陷报告
7.回归测试

功能测试的重点:
1.整体性
2.重点性

常见的功能测试:安装测试,卸载测试,运行与关闭测试,菜单功能测试

第七部分:回归测试

回归测试的目的
1.所做的修改达到了预定的目的,如错误得到了改正,新功能得到了实现,能够适应新的运行环境等;
2.不影响软件原有功能的正确性。

策略:
1.再测试全部用例
2.基于风险选择测试
3.基于操作剖面选择测试
4.再测试修改的部分
5.更智能的选择方法

鉴于作者水平有限,编写时间仓促,文章中疏漏,不足之处难免,或有考点覆盖不全之处,恳请读者批评指正。

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值