【文档说明】软件测试(黑盒白盒)课件.ppt,共(36)页,1.394 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45255.html
以下为本文档部分文字说明:
2024/12/2软件测试方法黑盒测试和白盒测试2024/12/22功能测试数据驱动测试结构测试逻辑驱动测试客户需求事件驱动输入输出2024/12/23黑盒测试是从用户观点出发的测试,它又称功能测试、数据驱动测试或基于规格说明书或用户手册的测试。它所依据的是程序的外部特性
。规格说明产生被测程序测试结果输出比较测试用例黑盒测试黑盒测试的设计方法等价分类法边值分析法错误推测法因果图法不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例。2024/12/241.等价类划分2024/12/25基本思想:把所有可
能的输入数据,即程序的输入域划分成若干部分—“等价类”,然后从每一部分中选取少数有“代表性”的数据做为测试用例。分为两步:①划分等价类(列出等价类表)②选取测试用例2024/12/26等价类的分类:①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。②无效等价类
:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。1.等价类划分2024/12/27数学含义A<=X<=BC<=Y<=D等价类划分的原则例如:每个学生可选修1-3门课程可以划分一个有效等价类:选修1-3门课程。可以划分两个无效等价类:
未选修课,选修课超过3门。8确立等价类测试用例2024/12/29①确立了等价类之后,建立等价类表,列出所有划分出的等价类。确立等价类测试用例2024/12/210②再从划分出的等价类中按以下原则选择测试用例:为每一个等价类规定一个唯一编号;设计一个新的测试用例,使其尽可能
多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。2024/12/211在某一PASCAL语言版本中规定:“标识符是由
字母开头,后跟字母或数字的任意组合构成。有效字符数为8个,最大字符数为80个。”并且规定:“标识符必须先说明,再使用。”“在同一说明语句中,标识符至少必须有一个。”举例2024/12/212建立输入等价类表举例2024/12/213下面选取了9
个测试用例,它们覆盖了所有的等价类。①VARx,T1234567:REAL;BEGINx:=3.414;T1234567:=2.732;...(1),(2),(4),(8),(9),(12),(14)
②VAR:REAL;(3)③VARx,:REAL;(5)举例2024/12/214④VART12345678REAL;(6)⑤VART12345......REAL;(7)多于80个字符⑥VART$:CHAR;(10)⑦VA
RGOTO:INTEGER;(11)⑧VAR2T:REAL;(13)⑨VARPAR:REAL;(15)BEGIN......PAP:=SIN(3.14*0.8)/6;举例2.边界值分析2024/12/215基本思想:选择等价类的边缘值作为测试用例,让每个等价类的边界
都得到测试,选择测试用例既考虑输入亦考虑输出。⚫分析步骤:A、先划分等价类。B、选择测试用例,测试等价类边界。使用边界值分析方法设计测试用例,首先应确定边界情况。应当选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据,而不是选取等价类中的典型值
或任意值做为测试数据。2.边界值分析2024/12/216数学含义A<=X<=BC<=Y<=DA、按照输入值范围的边界。例如:输入值的范围是-1.0至1.0,则可选择用例–1.0、1.0、-1.001、1.001。B、按照输入/输出值个数的边界。例如:输入文件可
有1-255个记录,则设计用例:文件的记录数为0个、1个、255个、256个。C、输出值域的边界。例如:检索文献摘要,最多4篇。设计用例:可检索0篇、1篇、4篇,和5篇。D、输入/输出有序集(如顺序文件、线性表)的边界。应选择第一个元素和最后一个元素。边界选择原则:173.错误推测法
2024/12/218人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的用例。错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。一般经验:输
入数据为0,输出数据为0,输入表格为空等4.因果图2024/12/219因果图:把输入条件视为“因”,把输出条件视为“果”,将黑盒看成是从因到果的网络图,采用逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系。根据这
种关系可选择高效的测试用例。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。因果图基本步骤2024/12/220(1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果
(即输出条件),并给每个原因和结果赋予一个标识符。(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?根据这些关系,画出因果图。因果图基本步骤2024/12/221(3)由于语法或环境限制,有些原因与原因之间,原
因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。(4)把因果图转换成判定表。(5)把判定表的每一列拿出来作为依据,设计测试用例。因果图基本符号2024/12/222用Ci表示原因,
用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。主要的原因和结果之间的关系有:因果图基本符号2024/12/223表示约束条件的符号:为了表示原因与原因之间,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条
件的符号。2024/12/224例如,有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且
1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。”因果图举例因果图举例2024/12/225(1)分析这一段说明,列出原因和结果原因:1.售货机有零钱找2.投入1元硬币3.投入5角硬币4.押下橙汁按钮5.押下啤酒按钮建立中间结点,表示处理中间
状态11.投入1元硬币且押下饮料按钮12.押下〖橙汁〗或〖啤酒〗的按钮13.应当找5角零钱并且售货机有零钱找14.钱已付清因果图举例2024/12/226结果:21.售货机〖零钱找完〗灯亮22.退还1元硬币23.退还5角
硬币24.送出橙汁饮料25.送出啤酒饮料(2)画出因果图。所有原因结点列在左边,所有结果结点列在右边。(3)由于2与3,4与5不能同时发生,分别加上约束条件E。(4)因果图(5)转换成判定表2024/12/2272024/12/
228白盒测试29白盒测试又称结构测试、逻辑驱动测试或基于程序的测试,其测试过程如图所示。测试用例被测程序源程序分析覆盖情况分析执行路径覆盖情况分析测试用例分析白盒法白盒法又称为逻辑覆盖法,其测试用例选择,是按照不同覆盖标准确定的。
语句覆盖判定覆盖条件覆盖判定条件覆盖条件组合覆盖弱强路径覆盖301、语句覆盖使得程序中每个语句至少都能被执行一次。A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcde满足语句覆盖的情况:执行路径:ace选择用例:[(2,0,4),
(2,0,3)]ace用例格式:[输入(A,B,X),输出(A,B,X)]YNYN312、判定覆盖使得程序中每个判定至少为TRUE或FALSE各一次。A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcde覆盖情况:应执行路径ace∧a
bd或:acd∧abe选择用例(其一):⑴[(2,0,4),(2,0,3)]ace[(1,1,1),(1,1,1)]abd⑵[(2,1,1),(2,1,2)]abe[(3,0,3),(3,1,1)]acdYYNN323、条件覆
盖使得判定中的每个条件获得各种可能的结果。应满足以下覆盖情况:判定一:A>1,A≤1,B=0,B≠0判定二:A=2,A≠2,X>1,X≤1选择用例:[(2,0,4),(2,0,3)]ace[(1,1,1),(1,1,1)]abd注意:[(1,0,3),(
1,0,4)]abd[(2,1,1),(2,1,2)]abe满足条件覆盖,但不满足判定覆盖。A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcdeYYNN334、判定/条件覆盖同时满足判断覆盖和条件
覆盖。应满足以下覆盖情况:条件:A>1,A≤1,B=0,B≠0A=2,A≠2,X>1,X≤1应执行路径ace∧abd或:acd∧abe选择用例:[(2,0,4),(2,0,3)](ace)[(1,1,1),(1,1,1)](abd)A>1ANDB=0X:=X/AA=2ORX>1X:=X+1
abcdeYYNN345、条件组合覆盖使得每个判定中条件的各种可能组合都至少出现一次。A>1X:=X/AA=2X:=X+1abcdeB=0X>1YNYNYNYN满足以下覆盖情况:①A>1,B=0②A>1,B≠0③A≤1,B=0④A≤1,B≠0⑤A=2,X>
1⑥A=2,X≤1⑦A≠2,X>1⑧A≠2,X≤1选择用例:[(2,0,4),(2,0,3)]①⑤[(2,1,1),(2,1,2)]②⑥[(1,0,3),(1,0,4)]③⑦[(1,1,1),(1,1,1)]④⑧3
56.路径测试36路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。测试用例通过路径覆盖条件【(2,0,4),(2,0,3)】ace(L1)【(1,1,1),(1,1,1)】abd(L2)【(1,1,2),(1,1,3)】abe(
L3)【(3,0,3),(3,0,1)】acd(L3)TTTT1234TTTT1234TTTT1234TTTT3412A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcdeYNYN