




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一讲一、软件1、计算机(computer)=硬件(hardware)+软件(software)PC=personal computer 个人电脑2、软件=程序(program)+文档(document)3、测试对象:不仅是程序,还包括文档4、开发过程包括:需求分析 (需求分析师完成,需求说明书)程序设计(系统分析师、系统架构师完成,概要设计说明书、详细设计说明书)编程(程序员完成,程序)4、哪个阶段出现的缺陷多?需求>程序设计>编程在需求阶段引入的bug占55%左右,程序设计阶段bug占25%左右,编程引入的bug占15%左右测试思想:(1) 测试工作应该咋在项目的早期展开,与开
2、发并行前期需要对相关文档测试,才能更好控制质量,如果对开发文档进行测试,需要掌握一定开发知识二、软件缺陷1、要求的功能未实现2、画蛇添足3、出现了指明不应出现的错误(程序出现用户数据错误时,给出友好的处理)一个优秀软件的基本特点:(1) 用户要求的功能要实现(2) 很强的异常处理能力(健壮性)4、 需求虽未明确提及,但应该实现的功能(需求是人写的,可能会有遗漏)5、 软件难以理解、不易使用、运行缓慢,或者站在用户角度认为是不好的与缺陷等意的词:错误 毛病 失效 违背 异常三、软件测试在现有软件中(程序+文档)寻找缺陷的过程(找缺陷是有科学的方法测试用例)截图技巧:(1) 使要截取的窗口界面显示
3、出来,按下“PrtSc”(print screen,把当前界面当做图片复制到windows的剪切板(2) 打开画图软件 开始-运行-mspaint(3) 粘贴(Ctrl V)(4) 选定区域:点击工具栏第一行第二个“选定按钮”,变为十字光标,把光标放在想要截取区域的左上角,按朱鼠标左键不放,向右下角拖拽(5) Ctrl +C/X(6) Ctrl+N 新建(7) Ctrl + V(8) Ctrl + S 保存(9) Ctrl + A 全选(10) Ctrl + C复制(11) 在word中或其他文档中 ctrl + v四、bug的历史缺陷: defect 一般称为bug Debug: 调试 除错
4、五、 计算机的层次1、 硬件(裸机)2、软件(1)操作系统(2)应用软件补充: (1)裸机也包含软件,主要是BIOS程序(Basic input/output system )A、存储在主板上的一块芯片中B、作用:打开电脑开关,首先由BIOS程序控制机计算机,进行“上电自检”,检查硬件设备的完好性,如果设备没问题,再把控制权交给操作系统,如果检查出有问题,通过蜂鸣器发出报警声,并停止引导。C、如何进入bios打开电脑开关,迅速按下“delete”键(笔记本一般为功能键,如F2)(2)常见的操作系统(Operating System,简称OS)Windows unix linux MAC OS
5、Dos(disk operating system磁盘操作系统)(3) 查看windows版本,内存,计算机名A、鼠标放在桌面“我的电脑”,点击右键,在弹出的菜单中点击“属性”B、在“系统属性”窗口中的“常规”选项卡中查看版本、补丁包(service packge)、cpu型号、频率、内存C、在“计算机名”选项卡中查看计算机名,点击“更改”按钮,可以更改六、软件分类1、基本分类(1)系统软件A、操作系统B、操作系统的补丁程序C、驱动程序(操作系统的内核程序通过调用硬件的驱动程序来完成硬件设备的管理)(2)应用软件 以后的工作以应用软件测试为主2.按照软件结构划分(看软件的运行是否基于网络)(1
6、)否单机软件 (如office )(2)是分布式软件分布式软件按照客户端的特点可以细分为: C/S结构(Client/Server,客户端/服务器结构) 客户端需要使用该公司提供的专门软件才能享受服务 如:QQ、微信、联众游戏 B/S结构(Browser/Server,浏览器/服务器结构) 客户端只要使用浏览器就可以享受服务 如:各种网站、搜索引擎、论坛第二讲 进制转换和逻辑代数一、进制转换1、 基本概念(1) 十进制A、 系数:0-9B、 进制:逢十进一C、 权: 10的次幂右侧第一位:权为10的0次幂 1右侧第二位:权为10的1次幂 10 三 2 任何数都可以分解成每个系数乘以该位的权D、
7、 在十进制数据后面加后缀D(如果数据后面没有后缀一般也看做十进制)(2)二进制A、计算机采用二进制,电路设计简单(只设0和1)B、冯-诺依曼把二进制引入到计算机,所以现在的计算机称为“冯诺依曼体系结构” 哈佛结构嵌入式计算机(机器人、手机)C、系数: 0 和 1 D、进制:逢二进一E、权:右侧第二位 权为2的1次幂右侧第1位:权为2的0次幂(1)右侧第2位:权为2的1次幂(2)右侧第3位:权为2的2次幂(4)F、使用后缀B表示二进制数G、缺点:需要频繁进位,一个很小的数位数却很多(3)十六进制A、系数:09,ABCDEFA=10,B=11,C=12D=13,E=14,F=15B、进制:逢16进
8、1C、权:16的次幂右侧第1位:权为16的0次幂(1)右侧第2位:权为16的1次幂(16)右侧第3位:权为16的2次幂(256)D、使用后缀H表示(4)八进制A、系数:07B、进制:逢8进1C、权:8的次幂右侧第1位:权为8的0次幂(1)右侧第2位:权为8的1次幂(8)右侧第3位:权为8的2次幂(64)D、使用后缀字母O1 将下列十进制数分别转化为其他进制数1)25D = ( 11001)B = ( 19)H= (31 )o2)85D = ( 1010101)B=(55)H = (125 )o3)123D=(1111011)B=(7B)H = ( 173)o4)141D=(10001101 )
9、B=(8D )H = ( 215)o2 完成下列进制转换1)1101101 B (109)D (6D)H2)26 D (11010)B (1A)H3)3C H (111100)B4)2EH (46)D二、逻辑代数1. 逻辑与(1)定义:只有一件事情的所有条件全部成立,这件事情才成立。(2)两个条件真值表真值表表示的输入条件和输出结果之间的所有对应关系输入条件输出结果ABY0(假,不成立)0001(真,成立)0100111(3)三个条件真值表输入条件输出结果ABCY00000010010001101000101011001111(4) 结论: 有0出0 全1才1(5)表达式:Y=A*B=AB(6
10、)多位二进制数,按位与运算右侧对齐,位数少的前面补0,上下对应的位分别进行与运算即可2、逻辑或(1)定义:只要有一个条件成立,这件事情就成立(2)两个条件真值表输入条件输出结果ABY000011101111(3)三个条件输入条件输出结果ABCY00000011010101111001101111011111(4)结论:有1出1,全0才0输入只要有1(成立),输出必为1(成立);只有输入全部为0(不成立),输出才为0(5)四个条件输入条件输出结果ABCDX=ABCDY=A+B+C+D000000000101001001001101010001010101011001011101100001100
11、101101001101101110001110101111001111111(6)表达式:Y=A+B(7)多位二进制数,按位或运算右侧对齐,位数少的前面补0,上下对应的位分别进行逻辑或运算3、逻辑非(反)(1)定义:一件事情的成立要求其条件要不成立(2)真值表逻辑非只能有一个条件输入条件输出结果AY0110(3)表达式:Y=A(4)多位二进制数,按位取反把每一位数分别取反即可 第三讲 测试报告一、 测试人员的职责1、阅读或编写测试计划(3篇)2、编写测试用例(1000条)3、执行测试(包括返测),发现bug,提交缺陷报告(50份)4、编写测试总结报告(3篇)5、使用测试管理工具跟踪测试管理b
12、ug二、缺陷报告的组成1、缺陷编号(Defect ID)提交bug的顺序如果使用缺陷管理工具会自动编号在一个项目组是中会统一编号2、缺陷标题(summary)简明扼要的描述一下该bug3、缺陷的发现者(Detected By)一般就是自己4、发现缺陷的日期(Detected On Date)一般就是当天5、缺陷所属的模块(Subject)在测试程序的哪个功能模块时发现的bug,开发经理据此分配由谁解决bug6、发现缺陷的版本(Detected in release)在测试程序的哪个版本时发现的bug7、指派给谁处理(Assigned to)测试人员指派给开发经理,开发经理会根据bug所在的模块
13、,再次指派给该模块的开发人员对bug修复8、缺陷的状态(status)描述bug此时所处的状态或处理情况(1)测试人员发现bug,提交缺陷报告给开发经理,把缺陷的状态写成new(新提交)(2)开发经理验证该bug,如果是bug,开发经理把缺陷的状态改为open(打开的bug,开发组承认的bug),然后把该bug指派给该模块的开发人员修复;如果不是bug,把缺陷的状态改为rejected(拒绝的bug,开发组不承认的) 。(3)开发人员看到指派给自己的bug,对bug进行修改,修改完后把缺陷状态改成fixed(已修复的bug,待返测的bug) (4)测试人员对修改的bug进行返测,如果返测通过,
14、把缺陷的状态改为closed(关闭的bug,返测成功的bug,归档的bug);如果返测失败,把缺陷的状态改为reopen(重新打开的bug,返测失败的bug) 此过程称为“缺陷(报告)的处理流程”,或者称“缺陷的生命周期”New->Ope n->Fixed->Closed9、缺陷的严重程度(severity)表明该缺陷有多糟糕: Urgent:致命的bug,造成死机、重启、崩溃等Veryhigh:非常严重的缺陷High:严重的缺陷Medium:中等程度的bugLow:小的bug 说明:每个词代表的含义在不同公司可能会有所不同,一般需要在专门的文档中定义好具体细节。案例:Bug
15、 level definition.xls性能:performance功能:function10、缺陷的优先级(priority)希望开发组什么时间内或程序的哪个版本中解决该bugUrgent:立即解决,否则会影响开发/测试进度Veryhigh:本版本解决High:下版本解决Medium:发布之前解决Low:允许发布中存在优先级参考的因素:(1) 严重程度:一般情况下,越严重,优先级越高(2) 缺陷影响的范围:一般影响范围越广,优先级越高(3) 考虑开发组当前的任务压力:压力越小,优先级越高(4) 解决bug的成本问题(时间):成本越低,优先级越高11、缺陷描述(Description)把发现
16、bug的步骤、过程、数据等记录下来,使程序员通过描述可以看到该bug说明:(1) 优先级和严重程度是不是严格正比关系? 不是,严重程度只是优先级其中一个参考。 成本 时间(2)严重程度和优先级确定好后,是否还会修改?严重程度一般不做修改;优先级根据实际情况,经常会调整(一般会推延)(3)是不是所有已经发现的bug在发布之前都会被修复?不是。 对于不解决的bug,一定要经过项目组的讨论,明确解决bug的成本(时间),分析缺陷存在的风险,尽量避免法律纠纷,经济赔偿,另外存在bug的模块最好为用户使用频率较低的功能三、缺陷报告的用途1、记录bug2、对bug进行分类(发现者、模块、日期、版本、严重程
17、度、状态)3、对bug进行跟踪管理(new->closed)4、对bug进行分析、统计、总结四、如何识别bug1、通过测试用例的预期结果识别,实际结果与预期结果不一致就是bug2、参考需求文档,与需求不一致,就是bug3、通过与相关人员讨论4、参考缺陷的5点定义五、提交bug时注意的问题(了解)六、缺陷报告处理流程* 参考缺陷状态status部分缺陷的处理流程也就是缺陷的跟踪管理过程第四讲 使用等价类划分和边界值法编写测试用例一、基本概念1、 测试用例(测试案例)测试用例是由测试人员在测试执行之前编写的指导测试执行过程的重要文档,主要包括:用例编号、测试目的、用例描述、预期结果2、 设计
18、测试用例的方法(1) 等价类划分法(2) 边界值法(3) 因果图法(4) 判定表法(5) 正交排列法(6) 场景法(7) 测试大纲法(8) 状态转换图(不讲)3、 写用例的参考(1) 参考需求文档(2) 参考已经开发出来的程序(3) 讨论二、 等价类划分法编写用例1、应用场合只要有数据输入的地方就可以采用。从无穷多的数据中挑选典型代表数据进行测试2、 测试思想:穷举测试(把所有可能的数据全部测试一遍)是最全面的测试,但时间成本太高,在实际工作中不能采用。测试用例的方法是在保证测试质量的基础上使用最少的数据达到最大的测试效果。不做穷举测试,是存在风险的(遗漏bug的风险),如果时间允许,可以适当
19、补充一些数据(以后遇到纠结的数据时,把其补充上)3、 核心概念(1)有效等价类按照程序规格有意义、合理的输入数据集合程序接收到有效等价类,可以正确计算、执行(2)无效等价类按照程序说明无意义、不合理的输入数据集合程序接收到无效等价类数据,应该给出错误提示,或者根本无法输入说明:一个好的软件基本特点:A:功能实现有效等价类测试B:异常处理能力(健壮性)无效等价类测试4、 分析步骤首先明确测试对象“第一个数”文本框,保证“第二个数”填写正确(1)划分等价类有效等价类 -9999无效等价类 A:<-99整数 B:>99整数 C:非整数 D:为空 (2)细化等价类依据的一般不是字面上的需求
20、,而是根据数据在内存中的存储方式或数据类型等整数在内存中按照“补码”存储,正数和负数计算补码的方式不同,有必要把正数和负数单独测试把-9999细化为: -99-1的整数 099的整数把“非整数”细化为:小数、字母、汉字、符号(3)建立等价类表(熟练后直接进行该步)有效等价类编号数据要求1-99-1的整数2099的整数无效等价类编号数据要求1<-99的整数2>99的整数3为空4小数5字母6汉字7符号(4)编写测试用例从每个等价类中至少挑选1个数据进行测试再测试“第二个数”文本框,保证第一个数正确三、边界值法1、应用场合只要有数据输入的地方就可以使用。边界值法和等价类划分往往一起使用,
21、共同形成一套较为完善的测试方案2、如何使用?找到有效数据和无效数据的分界点,对分界点及其两边的点单独测试3、说明边界值数据本质上就是属于等价类范畴,但需要单独进行测试,这确实是一种冗余,但在工程上是必须的2015-8-7练习1: 说明1.如果需求要求是“字符”,就意味着允许:字母、汉字、符号、0-9数字,在写有效等价类时,一般只关注字符长度,不用再细化为汉字、字母、符号等,因为在程序中定义变量,把这些都当做一种类型存储(如Java,存成.string),如果存储在数据库中,一般也是当做同一种类型(如Oracle,存成varchar)。另外,在测试边界值时,可以适当考虑字母、汉字、符号,这些区分
22、。如果无效等价类为非整数(小数、字符),一般需要把字符细化为:字母、汉字、符号,因为一个完善的程序异常处理应该根据用户不同的输入给出明确的提示2、在标准英文编码中(ASCII美国标准交换信息代码),一个英文字符占1个字节,在标准中文编码中(GB-2312),一个中文字符占2个字节) 1个字节(Byte)=8位(bit) 1KB=1024B四、用例的优化主要针对有效等价类和有效边界值1、问题的提出 每条用例只测试一个控件的有效数据(有效等价类或有效边界值),方法比较简单,适合初学者,但会存在数据冗余(2条或以上用例测试数据雷同)2、如何优化在一条用例中,可以尽可能多的测试不同控件的一个有效等价类
23、或有效边界值不同控件的有效等价类或有效边界值可以组合在一条用例中测试,在测试质量不变的情况下,减少用例数量,五、测试用例的强化针对无效等价类和无效边界值在一条用例中,开始的时候只测试一个控件的一个无效等价类或无效边界值不同控件的无效等价类或无效边界值开始时不能组合避免屏蔽现象发生(前面的错误提示出现后,后面的错误提示就不出现了)最后,再适当考虑不同控件的无效等价类或无效边界值的组合(姓名和年龄),以及同一个控件不同无效等价类或无效边界值的组合无效等价类的强化,提高破坏能力说明:1、当发现软件处理同一个等价类中不同数据的情况不相同时,有必要把该等价类进行细化(如:处理全部为数字和部分为数字不一样
24、)2、对照软件写用例,当发现bug时,不要按照bug去写,要把正确的的步骤和预期写出来。六、小结1、有效等价类一般都可以从需求中直接找到,一般数量较少。使用有效数据进行测试,称作“通过测试”或“正向测试”2、无效等价类一般数量较多(时有效等价类的2-5倍)。使用无效数据进行测试,称作“失败测试”或“反向测试”。无效等价类主要考虑以下要素:序号数据要求无效等价类示例1不能为空(必填项)为空2不能重复重复3数据有大小范围要求数据超出范围年龄:1860无效:<18 和 >60 4字符个数有范围要求字符个数超出范围姓名:320个字符无效:<3个和>20个5数据有数据类型、格式、
25、样式要求数据类型、格式、样式非法(1)要求整数,无效为非整数(小数、字母、汉字、符号)(2)要求是数字(小数或整数),无效为非数字(字母、汉字、符号)6小数有小数位要求小数位数超出范围 说明:(1)如果要求是小数,没有指名不允许整数,就意味着也允许整数,需要对整数也测试(2)对于非必填项,也要测试不填的情形(当做有效等价类)(3)因为每个控件的有效等价类加上有效边界值的数量一般不会完全相等,会导致在测试某个控件的有效等价类或有效边界值时,其他控件的有效数据全部测试,这时需要从这些测完的数据中再次挑选,这是一种冗余,但在工程中不能避免,在写时目的时,冗余的测试就不要写出了。8.10补码(了解)1
26、、整数在计算机中以补码方式存储2、整数转换成二进制数,称为“原码”(一般前面补齐适当的位数)3、计算机中一般用0表示+,用1表示 -4、为什么用补码? 使用补码,可以使数据的符号位参与到运算中,当成普通数字处理5、如何算补码(1)正数的补码就是其原码(算出对应的二进制,补齐足够的位数,最高位用0表示) 11>00000001011 第一个0是符号位,其余占位,1011是数值 (2) 负数补码:A、求负数的绝对值(变成正数)B、求该绝对值的二进制(前面补齐0)C、对求出的二进制按位取反D、取反后做算数加1 如下: 第五讲 因果图法一、基本概念1、应用场合在一个界面中,有多个控件,控件之间有
27、一定的组合关系和限制关系,不同的输入组合会发生不同的输出结果,为了弄清输入和输出的对应关系,使用因果图法2、核心概念(1)因原因,输入条件(2)果结果,输出结果使用画图的方式表达输入和输出之间的关系3、图形符号(联想到软件中去)(1)基本符号表达的是输入和输出的对应关系恒等* 有输入à有对应输出 无输入à无对应输出非与* a=b=c=1 Y=1 有0出0,全1才1或 a=b=c=0 Y=0 有1出1,全0才0(2)约束(限制)符号约束的是同一类的:要么同时约束输入,要么同时约束输出互斥(E) excludea、b、c三个原因不可能同时成立 a、b、c最多只有一个1(可以同时
28、为0)唯一(O) only有且仅有一个1(不能同时为0)互斥和唯一的区别:互斥没有默认值,而唯一会有一个选定的默认值要求(R)若a(主要)=1,必须b(辅助,次要)=1 表示当a出现时,b也必须出现“自动登录”要求“记住密码”屏蔽(M)如果a=1,必须b=0 ,a出现,b不出现 ;当a=0时,b的值不定(5)包含(I)a b c3个原因至少有一个必须成立; a b c至少包含一个1二、使用因果图法分析程序案例需求1、找出所有的输入条件(因),编号(1)投币50元(2)投币100元(3)充值50元(4)充值100元2、找出所有的输出结果编号A、充值成功并退卡B、提示充值成功C、找零D、错误提示并
29、退卡步骤1、2是初步分析需求的过程,可以同时画出因果图的“因”和“果”,并写出“判定表”的“输入”和“输出”3、在步骤1基础上,找出输入的组合关系和限制关系(1)组合关系(决定测试用例的数量)输入(1)(3)组合输入(1)(4)组合输入(2)(3)组合输入(2)(4)组合输入(1)单独输入(2)单独输入(3)单独输入(4)单独(2)限制关系输入(1)(2)互斥输入(3)(4)互斥4、在步骤2基础上,找出输出的组合关系和限制关系(1)组合关系输出AB必须组合(要求)输出ABC组合输出CD组合输出D单独(2)限制关系输出A和D互斥输出B和D互斥步骤3、4是深入分析需求的过程把输入和输出的限制关系先
30、画出因果图,可以在判定表中先把输入的组合关系写出熟练以后步骤4可以省略5、找“因果关系”:哪种输入组合会产生哪种输出组合,写出判定表,画出因果对应关系图(参考步骤3(1)和4(1)情况1:输入(1)(3)组合会产生:输出AB组合=情况2:输入(1)(4)组合会产生:输出CD组合。6、编写用例把判定表的每1列写成1条用例,测试1种组合情况8.11.2015 第六讲、判定表法1、判定表法就是因果图法的简化,本质上是一种方法2、在实际工作中,编写用例往往要结合几个方法(24种),或者说任何一种方法一般只能测试一个窗口的某个局部.3、综合使用多种编写方法写用例(1)通过控件的特点,判断每个控件采用的方
31、法基本信息部分是填写项等价类、边界值工资薪制和错误程度需要考虑组合因果图 判定表(2)对每个控件根据选择的方法进行“独立分析”A、使用判定表法分析“工资薪制”和“错误程度”部分,得到判定表B、使用等价类划分法和边界值法分别对基本信息部分进行分析,得到数据分析表(等价类表+边界值表)-见上课讲义(3)结合数据分析表和判定表“综合”编写用例-见上课讲义4、判定表法(因果图法)小结(1)考虑的是控件之间的组合关系(2)每个控件的条件不宜过多,一般24项,如:按钮按下/不按、单选按钮选择/不选择、复选框选择/不选择、只有24个备选项的下拉列表(3)输入条件也叫“条件桩”,输出结果也叫“动作桩”(4)判
32、定表特点:A、输入条件的排列顺序是无关紧要的B、输出结果的排列顺序是无关紧要的C、先测试哪种组合后测试哪种组合是无关紧要的D、每种组合是独立的,在测试这种组合时,不用考虑其他组合8.12孙晨 sunchen1、设计用例:正交排列法、场景法、测试大纲法2、熟悉“测试理论”3、QC4、手工功能项目一、正交排列法应用场合:如果一个界面上有很多的控件,每个控件还有很多的取值,测试时,需要测试取值的组合情况,并且组合数量较大(一般几十种(>20种)、几百种、甚至几千种),从代码的角度考虑,不同的组合使用的基本是同一段代码,这个时候为了选择最少的最优的组合,可以考虑使用正交排列法共同点:都需要测试空
33、间取值的组合情况不同点:A、组合数量:判定表适合测试组合数量较少(<20种),正交排列法适合测试组合数量较多(>20种)B、代码:判定表不同的组合测试的基本是不同的代码,正交排列法不同的组合测试的基本是同一段代码二、正交表 Ln(mk)L:公式里的符号 L:line 行 n:需要测试的组合数量(正交表的行数)K: 控件的个数(正交表的列数) m:每个控件的取值个数选择正交表时,只需要确定m、k即可,n是固定的,不需要选择三、应用正交表步骤(以工程1为例)1、分析需求:列出所有的控件以及每个控件的取值2、选择合适的正交表(确定m、k)K=控件的个数=正交表的列数 (以工程1为例)4个
34、控件->K=4说明:如果没有正合适的K,取较大的K,任意删除列,取与控件个数相同即可m=每个控件的取值个数=正交表中允许出现的最大值每个控件有3个取值->m=3 查正交表n=9 L9(34)界面有4个控件,每个控件有3个取值,总共需要测试34=81种组合,通过正交表选择最优的9种进行测试 3、将正交表的列名使用控件名称替换,将正交表中的取值使用控件的取值替换 4、编写用例:将正交表中的每一行转换成一条用例,也就是测试一种组合情况。 因为没有测试的组合过多,所以还是有发生缺陷的风险,所以时间允许的情况下,应该尽量的多补充一些用例说明:判定表是将一列转换成一条用例,测试一种组合情况?如
35、何确定底m,如何修改正交表正交表的种类:四、正交排列法的局限性1、目前为止正交表只有9种(数量有限)2、目前9种正交表基本都要求控件的取值个数相等,但实际测试中,这样的软件很难遇到。五、正交表的设计思想1、尽量保证每个控件的取值参与组合的次数相等(从列考虑)2、从所有的组合中选取测试组合时,尽量均匀、零星的选取(从行考虑)六、PPT打印案例1、分析需求: 当“打印内容”选择“大纲视图”时,“幻灯片加框”复选框置灰(不用测幻灯片加框)2、选择合适的正交表(1)确定次幂k 4个控件 à k=4(2)确定底mA、少数服从多数原则 看哪些控件的取值个数相等,就选择相等情况最多的那个底为m第一
36、个空间:3第二个控件:4第三个控件:3第四个控件:2 3出现2次,4出现1次,2出现1次 à m=3 L9(34) 不改变原先正交表取值,自己添加B、最大值原则 看哪个控件的取值个数最多,就以该控件的取值个数作为底m第一个空间:3第二个控件:4第三个控件:3第四个控件:2第二个控件的取值个数为4,4个空间中取值个数最多 à m=4 àLn(44) à L16(44)(3)将能替换的先替换好à将每一列多出的机会尽量平均分配给该控件的其他取值à查看是否有重复的组合,再适当修改自己添加的取值8.13场景法一、 应用场合1、界面特点:没有太多
37、的填写项(甚至没有),大部分操作都是通过鼠标的单击、双击、拖拽等完成。2、测试特点: 要求测试人员对业务非常精通,站在用户的角度去模拟用户的操作,操作一般分为两类: (1)针对软件正确的操作测试软件件的基本业务流程(2)针对软件错误的操作测试软件的健壮性二、基本概念1、基本流(有效等价类):模拟用户输入正确的操作2、备选流(无效等价类):模拟用户输入正确的操作三、使用场景法步骤使用场景法设计银行卡取款功能测试用例1、分析需求:按照软件的说明,列出基本流(正确的操作)和备选流(错误的操作)(1)基本流成功取款(场景1)(2)备选流(每个备选流就是一个场景)银行卡错误密码错误密码三次错误账户余额不
38、足达到当日最大金额ATM机金额不足2、根据基本流和备选流生成不同的场景说明:熟练之后,直接做该步骤(实际工作中遇到的软件经常找不到明显的基本流和备选流) 本质上就是找到正确的操作流程和错误的操作流程3、根据场景编写用例 说明:场景和用例之间不一定是一对一关系练习1:1、列出“五子棋”游戏的场景(测试思路)练习2:1、执行“五子棋”游戏场景,留证迹 20-25min2、思考“房间设置-删除类型”子模块的场景 10-15min美萍酒店管理系统(1)从房间状态分析:占用、预定、长包房:提示正在使用,不能删除 (场景1)可供、停用、清理:允许删除(场景2)取消:取消删除 确定:删除成功(2)房间类型是
39、否有所属的服务生(场景3) 有服务生无法删除,无则可以删除。 练习: 1、针对“房间设置-删除类型”模块补充用例(003、004)2、思考“商品设置-删除类别”模块的模块(1)是否需要服务生,删除类别时没有影响(2)如果商品类别下包含商品,不允许删除;不包含商品,允许删除(3)“自定义费用”和“消耗品”不能删除补充:测试表格和下拉列表时,要补充测试第一项(当做最小边界值)、最后项(当做最大边界值)、中间任选项(当做有效等价类)练习:1、针对“商品设置-删除类别”模块补充用例删除类别002、补充:最小边界值 预置条件: 选择“商品类别”表格中第一条记录,如:“食品类下包含商品”2、给“保健推拿”
40、商品设置提成,消费该商品,查看所选的服务生是否得到了相应的提成3、思考“商品设置-提成设置”模块场景 8.18测试大纲法一、应用场合 软件有很多窗口,每个窗口上又有很多操作,为了弄清楚不同窗口不同操作之间的关系(测试路径),可以选择测试大纲法(提纲法)。二、分析步骤1、分析需求:列出所有的窗口,以及每个窗口上的操作 主窗口 专卖店 地图 帮助2、找出操作之间的练习(测试路径),编写用例说明:如果一条用例中包含的路径都已经测试过,那么该条用例可以省略Eg. 练习:1、整理“案例”2、编写“snagit”软件的安装测试用例测试大纲法上机练习写出snagit软件安装过程中每个安装界面的测试要点(安装
41、测试用例、安装测试方案)。1、Welcome to the snagit 10 Installation Wizard(欢迎进入Snagit 10的欢迎向导)(1) 点击“Next”按钮,可以进入下一个界面(2) 点击“Cancle”按钮,或关闭按钮,程序不应该直接退出,而是弹出“信息提示框”a. 如果点击“Resume”按钮,或关闭按钮,可以继续安装b. 如果点击“Exit Setup”按钮,终止安装2、License Agreement(许可协议)(1) 如果不选择“I accept the License agreement”,“Next”按钮是置灰状态(2) 点击“Cancle”按钮,
42、或关闭按钮,程序不应该直接退出,而是弹出“信息提示框”(3) 点击“back”按钮,程序返回上一个界面(4) 选中“I accept the License agreement”,“Next”按钮可用,点击按钮,进入下一个界面3、Help Us Improve Snagit(帮助改善Snagit)(1)如果不选择"improve Snagit by collecting usage data"或"Decide later when Snagit is running",“Next”按钮置灰(默认状态)(2)点击“back”按钮,程序返回上一个界面(3)点
43、击“Cancle”按钮,或关闭按钮,程序不应该直接退出,而是弹出“信息提示框”(4)点击“More Information”按钮,弹出软件相关页面(5)选择"improve Snagit by collecting usage data"或"Decide later when Snagit is running",“Next”按钮可用,点击进入下一个界面(需分别测试)4、Licensing(填写许可信息)(1)如果不选择"30 day evaluation"或"License-I have a key",“Next
44、”按钮置灰(默认状态)(2)点击“back”按钮,程序返回上一个界面(3)点击“Cancle”按钮,或关闭按钮,程序不应该直接退出,而是弹出“信息提示框”(4)如果选择"License-I have a key",可以在“Name”和“Key”文本框中输入,输入无效信息时,点击“Next”按钮,弹出信息提示框,提示:请输入正确的密匙;输入正确时,点击“Next”按钮,进入下一个页面A、点击“Visit TeachSmith Web Site”跳转至网页B、点击“OK”按钮,提示框关闭,程序继续运行(5)点击“Need help find your software key?
45、”,跳转至帮助页面(6)选择"30 day evaluation",“Next”按钮可用,点击进入下一个页面5、Select Installation Type(选择安装类型)说明:目前只测试Typical(典型安装)(1)默认选择“Typical(典型安装)”,点击“Next”按钮,可以进入以一个页面(2)点击“back”按钮,程序返回上一个界面(3)点击“Cancle”按钮,或关闭按钮,程序不应该直接退出,而是弹出“信息提示框”6、Ready to Install Snagit(准备安装)(1)默认选中“Start Snagit when installation is
46、 finished(安装完成后运行程序)”和“Run Snagit when Windows starts(系统启动时自动运行程序)”(2)点击“back”按钮,程序返回上一个界面(3)点击“Cancle”按钮,或关闭按钮,程序不应该直接退出,而是弹出“信息提示框”(4)选中“Create shortcuts on Deskop(在桌面建立快捷方式)”并点击“Install”按钮,进入下一个页面7、Updating System(更新系统)(1)“Update System”页面显示安装进程,直至进入“安装成功”界面(2)点击“Cancle”按钮安装进程会终止,安装界面关闭8、Snagit 1
47、0 has been successful installed(安装成功)提示“安装成功”信息,“Cancle”按钮置灰,点击“Finish”按钮,安装界面关闭,桌面上生成Snagit程序的快捷方式。一、软件开发阶段划分需求分析 56%缺陷 由需求分析师分析客户的需求,最后生成“需求规格说明书”概要设计 概要+详细设计=25% 由系统架构师分析“需求规格说明书”,最后生成“概要设计说明书” 详细设计 由系统架构师分析“概要设计说明书”,最后生成“详细设计说明书”编码 13% 文档的质量决定了软件的质量,工作中应该更多的关注文档,测试人员要及时的测试相关文档二、软件测试阶段划分1、单元测试(此时
48、发现缺陷修改成本较低)(1)单元测试是最小的测试单位(类、文件、窗口、方法),依据的是详细设计说明书。目的在于检查每个程序的单元能否正确实现详细设计说明书中的模块功能、性能、接口等要求,发现各模块内部节能存在的各种错误。(2)单元测试阶段以黑盒测试为主,重点模块可以进行白盒测试(检查代码)(3)有可能需要测试人员编写驱动模块或者桩模块 A、驱动模块:模拟调用“被测模块”的那个模块(“被测模块”的上一级模块) B、桩模块:被“被测模块”调用的那个模块(“被测模块”的下一级模块)例如:main.c调用input.c ,input.c调用add.c,则若被测模块是add.c,main.c驱动inpu
49、t.c ,input.c驱动add.c,无桩模块 若被测模块是input.c , main.c是驱动模块,add.c是桩模块 (4)实际工作中,单元测试基本都由开发人员自己完成为了节约成本(5)检查每个程序的单元能否正确实现详细设计说明书中的模块功能、性能、接口等要求,发现各模块内部节能存在的各种错误2、集成测试(1)集成测试依据的是概要设计说明书,基本还是采用黑盒测试,重点模块采用白盒测试(2)集成一个新版本之后,要先对该版本做冒烟测试(使用较少的人(13人)但经验较丰富,再使用较少的时间测试整个系统的主要功能,主要业务流程是否实现,是否稳定(一般不参考用例),如果不稳定,直接打回开发组,如
50、果较稳定,那么再让测试组其他人参与进来进行测试)。(3)集成测试的基本思路:A、冒烟测试:验证版本是否稳定B、返测:验证上一版本的缺陷在新版本上是否修复(针对程序员修改的错误进行的测试,验证错误是否被修改)C、回归测试:将之前版本上所有功能的用例在新版本上重新执行一遍,目的是保证已经实现的功能在新版本上没问题D、如果集成了新功能,再测试新功能3、系统测试(1)系统测试依据的是需求规格说明书,全部采用黑盒测试(2)在进行大规模系统测试之前,要进行确认测试,主要确认:A、验证整个系统是否稳定(相当于冒烟测试)B、确认文档是否齐全,尤其确认提交给用户的文档(如:安装文档、用户手册、需要认证的文档等)
51、4、验收测试(UAT:user acceptance testing 用户接受度测试 )(1)验收测试以用户为主,全部采用黑盒测试(2)alpha测试:在软件的开发环境下,主要由开发方进行测试(由用户参与并使用真实的数据)(3)Beta测试:在软件的实际应用环境中,由用户进行测试(开发方也会参与) 对于公共类软件,免费发放给用户使用,收集用户谁用过程中遇到的缺陷、意见,再对软件进行修改,修改后正式发布三、软件测试模型1、概念:反应测试活动和开发阶段的对应关系2、V模型(1)优点:A、开发阶段和测试阶段划分明确B、开发阶段和测试阶段的对应关系较明确C、既包含了低层测试(代码测试专业级)又包含了高层测试(需求测试用户级)(2)缺点A、感觉测试阶段是在开发阶段完成之后才介入的,没有体现尽早测试和不断测试的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 郫县电梯加装施工方案
- 2025届湖南省张家界市名校中考生物五模试卷含解析
- 出售广东渔船合同范例
- 专题01 声现象(3大模块知识清单+3个易混易错+2种方法技巧+典例真题精析)-2025年中考地理一轮复习知识清单
- 单位共有房屋买卖合同范例
- 多媒体教学计划
- 眼科手术患者护理
- 员工福利的改进与落实计划
- 环保与可持续发展计划
- 班主任的班级学习目标计划
- 中国古典园林史复习
- 32个管理学经典理论
- 高压线下作业安全技术交底
- 模型18奔驰模型(原卷版+解析)
- 2024华中区域电力并网运行管理实施细则
- 安全员岗位竞聘课件
- 职能科室对医技科室医疗质量督查记录表(检验科、放射科、超声科、功能科、内镜室)
- 报警员服务规范用语
- 护士职业暴露后处理
- 广东省珠海市香洲区2023-2024学年七年级下学期期末历史试题(原卷版)
- 反诉状(业主反诉物业)(供参考)
评论
0/150
提交评论