考试题型
单项选择 10题共20分
分析解答题(包括用例设计 简答) 4题共40分 问答题 3题共40分
第一章主要是定义一些概念 看课件《第一章》《软件测试》所涉及到的一些基本概念 从高度来看整个软件测试领域的一些常识性的概念
正向思维- 验证软件正常工软 件测试 作 评价一个程序或系统的特性或能力并确定是否达到预期的结果 测试是为发现错误而针对某个程序或系统的执行过程 在设计规定的环境下运行软件的所有功能,直至全部通过。 寻找容易犯错误的地方和系统的薄弱环节,试图破坏系统,直至找不出问题。 逆向思维- 假定软件有错误
软件测试 (IEEE) 的定义 :
在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价 分析某个软件项以发现现存的和要求的条件之差别(即错误)并评价此软件项的特性
软件测试过程包括哪些关键活动
1、 对测试做需求分析,例如只做单元测试也是一样的,了解需求,要测试的内容,概况,
要测试什么
2、 制定测试计划,进度,人员,内容安排,方法使用都要确定 3、 开始测试,设计测试用例,根据已定的方法设计测试用例
4、 执行测试用例,可以使人工的测试,也可能是软件自动生成的测试用例
5、 最后,对得到的结果进行分析和总结,形成测试报告,对产生的结果进行分析,发现缺
陷和错误并进行改进
无论是做整个过程也好还是做某个阶段的流程也好,都需要做这五个流程
整个测试过程如何保证测试的质量,保证软件测试质量的手段 除了五个关键步骤以外还有 1、 制定一些质量保证计划
2、 测试活动都要进行审核和测试文档的评审 3、 对产生的大量测试数据进行收集分析和度量
例如,软件测试从横向来看分为几个阶段,每个阶段需要做什么,任务是什么,测试哪些方面、它的特点 阶段:
1单元测试 目的:检测程序模块中有无故障存在
对象:软件设计的最小单位,与程序设计和编程实现关系密切 定义:单元测试是对软件基本组成单元进行的测试。 目标: 单元模块被正确编码 任务:
模块执行通路测试; 模块局部数据结构测试;
模块接口测试;模块边界条件测试; 模块的各条错误处理通路测试
2集成测试、目的:发现与接口有关的模块之间的问题
3验收测试. 目的:向用户表明所开发的软件系统能够像用户所预定的那样工作 主要任务:
明确规定验收测试通过的标准; 确定验收测试方法;
确定验收测试的组织和可利用的资源; 确定测试结果的分析方法; 制定验收测试计划并进行评审; 设计验收测试的测试用例; 审查验收测试的准备工作; 执行验收测试;
分析测试结果,决定是否通过验收
4确认测试 目的:对软件产品进行评估以确定其是否满足软件需求的过程
5系统测试 目的:针对系统中各个组成部分进行的综合性检验,证明系统的性能
基本常识性的概念要知道
测试的V模型和W模型,说明了开发阶段和测试阶段的关系,每个模型看一下,对比一下改进的地方等等
V模型是软件开发完了之后才开始测试活动。
而W模型则是软件测试活动伴随着软件开发活动。和软件开发同时开展。 W模型更加敏捷,对于软件的交付期和品质的保证能力更强。 测试V模型
测试W模型
软件的缺陷涉及到的相关概念ppt 大致看看有点多 概念和基本概念,其他的也看一下有个印象 第二三四章不考
第二部分
功能性测试,黑盒测试 结构性测试
掌握方法,会分析设计测试用例 功能性测试包括哪些方法
边界值,等价类,决策表,因果图
从第五章开始对于黑盒测试的一些概要的方法之间的对比
比如,黑盒测试的哪些方法之间的对比,每种方法的适用范围,什么类型的软件适用于什那些么方法测试或者那些方法结合起来使用
例如:决策表适合输入输出以及输入输出之间组合关系比较复杂的,有逻辑依赖关系的 边界值测试适合测试
边界值结合等价类适用于测试那些软件 因果图(第七章)
边界值测试会分析
等价类学会怎么设计测试用例
因果图的方法分析出原因和结果之间的关系,然后再构造因果图
c1(a)恒等c1c2e1c2(c)或(d)与图2.3 因果图的基本符号e1c1~(b)非e1c1e1c3
aEb异或aR要求b或IabcaM强制图2.4 约束符号bOab唯一
I(或):表示三个原因中至少有一个必须成立。 O(惟一):表示两个原因中必须有一个,且仅有一个成立。 R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现。 从输出(结果)考虑一种约束 M(强制):两个结果,a为1时,b必须是0,当a为0时,b值不定
恒等:若原因出现,则结果出现;若原因不出现,则结果不出现。 非(~):若原因出现,则结果不出现;若原因不出现,则结果出现。 或(V):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。 与(∧):若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现 利用因果图生成测试用例的基本步骤:
1.确定软件规格中的原因和结果。分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
2、确定原因和结果之间的逻辑关系。分析软件规格说明描述中的语义。找出原因与结果之间,原因与原因之间对应的关系。根据这些关系,画出因果图。
例:分析中国象棋中走马的实际情况
1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方的棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。 解:根据分析明确原因和结果 原因:
1、 落点在棋盘上;
2、 落点与起点构成日字; 3、 落点处为自己方棋子;
4、 落点方向的邻近交叉点无棋子; 5、 落点处无棋子;
6、 落点处为对方棋子(非老将);
7、 落点处为对方老将。 结果:
21、不移动棋子; 22、移动棋子;
23、移动棋子,并除去对方棋子;
24、移动棋子,并提示战胜对方,结束游戏。 添加中间节点11,作为导出结果的进一步原因。
第9章 结构性测试 主要是路径
六种基本的路径覆盖测试
语句覆盖:是最起码的结构覆盖要求,语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次
用例设计:(如果此时将A路径上的语句1—〉T去掉,那么用例如下)
X
1
Y
路径
X 50 50 90
Y 50 50 70
·¾¶ OBDE
OBCE
1 2 OBDE
2 :又称为分支覆盖, 90 70 OBCE 判定覆盖它要求设计足够多的测试用例,使得程序中每个判定至少有一
次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个判断的取真、取假至少执行一次。 用例设计
X
1 2 3
90 50 90
Y 90 50 70
路径 OAE OBDE OBCE
条件覆盖要求设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,有一次为假值 判定/条件覆盖
又叫分支-条件覆盖或分支-谓词覆盖.主要特点:设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次
X 1 2 3 4 90 Y 90 50 70 90 路径 OAE 50 90 70 OBDE OBCE OBCE 组合覆盖(点线组合)又叫条件组合覆盖或复合谓词覆盖 主要特点:要求设计足够多的测试用例,使得每个判定中条件结果的所有可能组合至少出现一次。
X X1 1 2 3 2 34 90 90 90 90 90 90Y Y 5 6 44 5 670 70 90 70 30 90 70 30路径 ·¾¶7 7 30 70 30 7090 90 90 OAE OBCE OBDE OAE OBCE OBDE 900- OBCE OBCE 50 50 70 70 50 50 OBDE OBDE OBDE OBDE OBDE OBDE 路径覆盖
主要特点:设计足够的测试用例,覆盖程序中所有可能的路径 、 1 2 3 4 X 90 50 90 70 Y 90 50 70 90 路径 OAE OBDE OBCE OBCE 每种方法怎样找路径,找那些路径区分开 主要是区分六种方法
依据是把程序在模型的基础上转化成程序图或者dd路径图 会把程序转化成程序图和dd路径图
基路径测试的方法,对一个程序和程序图来说至少要测的路径(即是所谓的路径)有多少
条—>最终确定下来要设计的测试用例 在dd路径图的基础上计算圈复杂度
得到至少要测的路径数,在dd路径上找到这些路径,怎么找?方法要掌握 1、 程序转化成程序图
2、 找圈复杂度,写出公式,代入数值,得到结果 3、 找路径
4、 设计出相应的测试用例 数据流不考 以上是测试的方法 下面是测试的过程 看ppt 第12章 测试的层次
知道系统测试和集成测试之间的区别和关系,任务目标和做的事情
关系
集成测试:集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。 系统测试:系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的 “ 先知者问题 ” 。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。
区别:
1.测试对象:
集成测试的对象是由通过了单元测试的各个模块所集成起来的组件; 系统测试的测试对象除了软件之外,还包括计算机硬件、相关外围设备以及数据传输机构等。 2.测试时间:集成测试是介于单元测试和系统测试之间的测试。 3测试方法:
集成测试:通常采用白盒测试和黑盒测试相结合的测试方法; 系统测试:通常使用黑盒测试。
4.测试内容:集成测试:各个单元模块直接的接口,以及各个模块集成后所实现的功能;系统测试:整个系统的功能和性能。 5.测试目的: 集成测试:发现单元之间接口的错误,以及发现集成后的软件同软件概要设计说明书不一致的地方,确保各个单元模块组合在一起后,能够达到软件概要设计说明的要求,协调一致地工作。
系统测试:通过与系统需求定义相比较,发现软件与系统定义不符合或矛盾的地方。 第13章 集成测试
对于集成测试来说,三种基本的方法,
书上介绍了基于调用图的集成,和基于路径的集成,要知道,考试中主要掌握优点和不足 一.基于功能分解的集成P167 优点:
1.基于分解的方法(除了大爆炸集成)是所有方法中最清晰的
2.系统经过测试的组件构建,一旦发现失效,只需怀疑最新加入的单元,错误容易定位 3.集成测试进程很容易通过分结束进行跟踪
缺点:
1. 基于分解的集成测试整个机制是根据结构集成单元,假设正确行为来自个体正确的
单元和正确的接口
2. 开发桩和驱动器的工作量较大,还需要考虑重新测试所需的工作量问题 二、基于调用图的集成 P169
优点:不再以纯结构作为基础,转而以行为作为基础,减少了开发桩和驱动器的工作量;与基于构建和合成的系统开发匹配的很好 缺点
1. 缺陷隔离存在问题,缺陷难以定位
2. 在测试的任何结构形式都存在这种基础性的不确定性 基于路径的集成--(-MM路径大致看看可能会考) P176
优点:结合功能性与结构性测试,可以避免结构性测试的缺点,同时又是集成测试与系统测试无缝连接,及时和瀑布过程开发,也适合某种基于可选的模型开发以及面向的开发,与实际系统行为密切匹配
缺点:需要更多的工作量来标识MM-路径
第14章 系统测试
线索 找系统层的线索找到系统测试的目的,只是系统测试的一个方面不是全部 P187以这个场景为线索找系统线索这种系统测试的方法 从数据,行为,设备,事件,线索描述规格说明
知道这五个方面基本的含义,一些数据指的是什么,行为是什么,以及基本概念之间的关系
P1页图14-1 er图用文字描述的关系如下
1.数据和事件都可以看做实体,跟其他之间都是多对多关系 2.数据和行为之间是输入和输出的关系,也是多对多
3.事件和设备、端口之间也是多对多关系,事件可以发生在多个端口上发生,多个事件 4.行为和线索也是多对多 处寻找系统级的线索,来对系统进行人工测试,从另外一个方向来说包括许多种类型的测试,课件上看一下,
系统测试的主要有如下三个类别
一.安装测试:1.主要测试哪些内容2.测试的出发点 二.软件界面测试:
测试内容---1、整体的界面测试:界面的规范性,合理性,界面之间是不是统一一致性,界面有无各自的特性
2、界面上单独的元素,是否正确美观,弹窗菜单按钮鼠标文字文本等,是否正确 三.帮助(文档)测试: 测试内容
1.文本描述的准确性 2.程序接口
3.在整个帮助文档里面采用索引来构建文档,测试帮助索引,检查索引的正确性
4.索引的内容中有许多超链接,通过超链接来跳转,测试超链接的正确性和准确性,链接的意义
5.整个帮助模块的整体风格是不是简洁个性
系统测试还有其他的测试方面,课件里面注意看一下
函数说明 :当i_flag=0;返回 i_count+100 当i_flag=1;返回 i_count *10
否则 返回 i_count *20 输入参数:int i_count , int i_flag 输出参数: int i_return;
代码:1 int Test(int i_count, int i_flag) 2 {
3 int i_temp = 0; 4 while (i_count>0) 5 {
6 if (0 == i_flag) 7 {
8 i_temp = i_count + 100; 9 break; 10 } 11 else 12 {
13 if (1 == i_flag) 14 {
15 i_temp = i_temp + 10; 16 } 17 else 18 {
19 i_temp = i_temp + 20; 20 } 21 }
22 i_count--; 23 }
24 return i_temp; 25 }
用基路径测试方法,画出DD路径图,计算圈复杂度,并列出基路径,设计对应的测试用例。
一个处理单价为5元钱的饮料自动售货机软件测试用例的设计。规格说明如下:若投入
5元钱或10元钱,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示“零钱找完”的红灯亮,这时在投入10元钱并按下按钮后,饮料不送出来而且10元钱也退出来;若有零钱找,则显示“零钱找完”的红灯灭,在送出饮料的同时退还5元钱。
构造因果图分析规格说明,用决策表设计测试用例。