您好,欢迎访问三七文档
测试方法网博课程研发目标•了解白盒测试、黑盒测试•掌握黑盒测试方法并能使用这些方法编写测试用例网博课程研发内容•白盒测试•黑盒测试网博课程研发白盒测试•白盒测试白盒测试又叫结构测试,逻辑驱动测试或基于程序本身的测试网博课程研发白盒测试过程测试用例被测程序源程序分析覆盖情况分析执行路径网博课程研发黑盒测试•黑盒测试又叫功能测试,数据驱动测试或基于规格说明的测试软件输入输出网博课程研发黑盒测试过程需求说明产生被测程序测试结果输出比较网博课程研发黑盒测试•黑盒测试的目的主要是在已知软件应具有的功能的基础上,进行;(1)检查程序功能是否按需求规格的说明,测试各个功能是否有遗漏,检测性能等特性要求是否满足。(2)检测人机交互是否错误,检测数据结果或外部数据库访问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性(3)检测程序初始化和终止方面的错误网博课程研发黑盒测试主要测试的错误类型黑盒测试主要测试的错误类型有:不正确或遗漏的功能;接口、界面错误;性能错误;数据结果或外部数据访问错误初始化或终止条件错误等等。网博课程研发黑盒测试用于回答以下问题•如何测试功能的有效性?•何种类型的输入会产生好的测试用例?•系统是否对特定的输入值尤其敏感?•如何分隔数据类的边界?•系统能够承受何种数据率和数据量?•特定类型的数据组合会对系统产生何种影响?白盒测试在测试测试早期采用,而黑盒测试主要用于测试的后期。黑盒测试故意不考虑控制结构,而是注意信息域。网博课程研发黑盒测试能取代白盒测试吗?•黑盒测试只能观察软件的外部表现,即使软件的输入输出都是正确的,却并不能说明软件就是正确的。因为程序有可能用错误的运算方式得出正确的结果,只有白盒测试才能发现真正的原因。•白盒测试能发现程序里隐患,像内存泄露、误差累计问题。在这方面,黑盒测试存在严重不足。网博课程研发白盒测试能取代黑盒测试吗?•通过了白盒测试只能说明程序符合设计要求,并不能说明最终的软件符合用户要求。如果系统设计偏离了用户需求,那么100%正确的程序也不是用户想要的。•将错就错不等于正确,所以需要黑盒测试黑盒测试与白盒测试都不能取代对方,只有两者结合才能弥补对方的不足网博课程研发常见的黑盒测试类型•功能性测试顺序测试每个软件特性或能力或者一个模块一个模块的执行;•容量测试检测软件在处理海量数据时的局限性,能发现系统效率方面的问题;•负载测试检测系统在某个很短时间内处理一个巨大的数据量或执行许多功能掉用上的能力;•恢复性测试保证系统在崩溃后能够恢复外部数据的能力;网博课程研发黑盒测试方法黑盒测试等价类划分法边界值分析法流程图法因果图错误推测法正交法决策表法应用综合测试策略某系统测试案例实战常见测试点汇总常见控件测试常见功能点测试系统权限测试网博课程研发等价类分析法概述-1•计算两个1-100之间整数之和1+11+21+31+41+5…2+12+22+32+42+5…...3+13+23+33+43+5…………………………………网博课程研发等价类划分法•等价类划分法:依据需求对输入的范围进行细分,然后在分出的每个区域内选取一个有代表性的测试数据穷举合理划分等价类网博课程研发等价类的划分•有效等价类对需求来说是合理的、有意义的输入数据组成的集合。利用有效等价类可以检验是否实现了需求中所要求的功能或性能。(正面用例)•无效等价类与有效等价类正好相反,无效等价类指对需求是不合理的或无意义的输入数据所构成的集合。无效等价类至少应有一个,也可能有多个。(负面用例)网博课程研发等价类举例•举例:设计这样的测试用例,来实现一个对所有实数进行开平方运算(y=sqrt(x))的程序的测试。•思路:由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域x)进行划分,可以分成:正实数、0和负实数。假设我们选定+1.55558代表正实数,-2.568代表负实数,则为该程序设计的测试用例的输入为+1.55558、0和-2.568。网博课程研发计算两个1-100之间整数之和无效等价类1有效等价类1-100无效等价类100网博课程研发等价类划分法-划分•计算两个1-100之间整数的和等价类加数数值非数值整数小数(4)字母(5)特殊字符(6)空格(7)空白(8)1(1)1-100(2)100(3)网博课程研发等价类划分法-编写测试用例•计算两个1-100之间整数的和的测试用例用例编号所属等价类加数1加数2和12(有效等价类)4353921(无效等价类)0-1提示“请输入1-100之间的数!”33(无效等价类)11010144(无效等价类)1.12.155(无效等价类)ab66(无效等价类)#&77(无效等价类)空格空格88(无效等价类)…………网博课程研发等价类划分法-步骤•操作步骤设计一个新用例,使它仅覆盖一个尚未覆盖的无效等价类重复这一步,直到所有的无效等价类全被覆盖为设计一个新用例,使它能够尽量多覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止为等价类表中的每一个等价类分别规定一个唯一的编号依据常用方法划分等价类网博课程研发等价类划分的原则1•原则1:在输入条件规定的取值范围,确立一个有效等价和两个无效等价例如:在成绩表中输入是学生成绩,范围是0~100。0100有效等价类无效等价类无效等价类网博课程研发等价类划分原则2•原则2:在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类例如:在成绩表中输入是学生成绩,范围是0~100,但是必须大于等于60分才能记为及格。060100无效等价类有效等价类网博课程研发等价类划分原则3-4•原则3:在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。例如:(TrueorFalse)(奇数和偶数)•原则4:在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。例如:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。有效等价类:专科、本科、硕士、博士无效等价类:小学、初中、高中网博课程研发等价类划分原则5•原则5:在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)比如:过马路时,遇到“红灯禁行”有效等价类:所有车辆和行人都停下来(符合规则)无效等价类:车辆没有停下来(不符合规则)行人没有停下来(不符合规则)网博课程研发等价类划分原则6•原则6:在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。例:公司招聘员工,基本学历要求专科及以上,该单位学历与工资挂钩,当学历高于硕士时,则基本工资才可以为4000元。网博课程研发等价类划分举例•例1:在需求规格说明书中,对输入条件有这么一句话:“程序输入条件为大于10小于100的整数x”输入条件有效等价类无效等价类输入数10x100x=10x=100网博课程研发等价类划分举例•例2:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序中对这4个数值分别进行了处理输入条件有效等价类无效等价类X的值x=1x!={1,3,7,15}x=3x=7x=15网博课程研发等价类划分举例•例3:Windows文件名命名规则,可以包含除‘、’‘/’‘:’‘?’‘’‘\’之外的任意字符,文件名长度是1-255个字符输入条件有效等价类无效等价类文件名不包含、/:\包含、/:\1=长度255长度为空长度255网博课程研发等价类-设计测试用例采用等价类划分法设计测试用例通常分两步(1)确定等价类,列出等价类表。(2)从划分的等价类中确定测试用例。输入条件有效等价类无效等价类网博课程研发实战1:根据需求说明书的要求,利用等价类划分方法,给出足够的测试用例。“在如下案例中输入三个整数,作为一个三角形的3条边的长度值,根据输入的值打印出这个程序是一般三角形、等腰三角形,还是等边三角形”网博课程研发分析过程:•假设三角形的三条边分别为a、b、c,如果构成三角形必须满足:•1)a0,b0,c0且a+bc,b+ca,a+cb•2)如果是等腰三角形必须满足:a=b或b=c或c=a•3)如果是等边三角形必须满足:a=b=c网博课程研发输入条件有效等价类无效等价类输入三角形的三条边a0a=0b0b=0c0c=0a+bca+b=ca+cba+c=bb+cab+c=a是否等腰三角形a=ba!=b!=cb=cc=a是否等边三角形a=b=ca!=bb!=cc!=a网博课程研发等价类划分法序号【a,b,c】输出1【3,4,5】一般三角形2【0,1,2】不能构成三角形3【1,0,2】4【1,2,0】5【1,2,3】6【1,3,2】7【3,1,2】8【3,3,4】等腰三角形9【3,4,4】10【3,4,3】11【3,4,5】非等腰三角形12【3,3,3】等边三角形13【3,4,4】非等边三角形14【3,4,3】15【3,3,4】网博课程研发等价类划分法•实例1城市电话号码问题城市电话号码由三部分组成。它们的名称和内容分别是:–地区码:空白或三位数字;–前缀:首位非‘0’或‘1’的三位数字;–后缀:4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合定的电话号码。根据该需求,作等价类的划分,并设计测试用例网博课程研发等价类划分法第一步:划分等价类,列出等价类列表输入条件有效等价类无效等价类地区码(1)空白;(2)三位数;(3)有非数字字符;(4)少于三位数字;(5)多于三位数字。前缀(6)从200到999之间的三位数(7)有非数字字符;(8)起始位为‘0’;(9)起始位为‘1’;(10)少于三位数字;(11)多于三位数字。后缀(12)四位数字。(13)有非数字字符;(14)少于四位数字;(15)多于四位数字。网博课程研发等价类划分法•第二步:根据等价类列表确定测试用例序号内容输入预期输出地区码前缀后缀1空白200~999之间的三位数字四位数字()276-2345有效2三位数字四位数字(635)805-9321有效3有非数字字符(20A)723-4567无效4少于三位数字(33)234-5678无效5多于三位数字(5555)345-6789无效6有非数字字符(345)5A2-3456无效7起始位为‘0’(345)012-3456无效8起始位为‘1’(345)132-3456无效9少于三位数字(345)92-3456无效10多于三位数字(345)4562-3456无效11有非数字字符(345)342-3A56无效12少于四位数字(345)342-356无效13多于四位数字(345)562-34567无效网博课程研发等价类划分法实例2:假设有一个工资管理系统,要求输入员工工号,以及月份日期,就可以搜索出该员工在当前时间范围内的工资信息。工号栏位必须输入正整数,不得超过3位。日期范围在1999年01月~2012年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。网博课程研发输入条件有效等价类无效等价类日期的类型及长度6位数字字符非数字字符小于6位大于6位年份范围1999~2012小于1999大于2012月份范围01~12小于01月大于12月网博课程研发序号测试输入输出120100712检查成功295June无效输入320036无效输入42001006无效输入5198912无效输入6202401无效输入7200100无效输入8200113无效输入网博课程研发练习1、QQ账号:6-10位的自然数。用等价类划分法设计测试用例2、新用户注册页面USERNAME:长度为3-19;以字母开头;非空。姓名:长度为3-19;以字母开头;密码:非空。确认密码:值和密码值相同。出生年份:年:四位数字;月:1-12;
本文标题:测试方法
链接地址:https://www.777doc.com/doc-7526426 .html