软件测试黑盒测试方法



《软件测试黑盒测试方法》由会员分享,可在线阅读,更多相关《软件测试黑盒测试方法(48页珍藏版)》请在文档大全上搜索。
1、软件测试黑盒篇软件测试黑盒篇深深 圳圳 市市 门门 道道 信信 息息 咨咨 询询 有有 限限 公公 司司Shenzhen MT Information Consulting Co . , LTD版权所有版权所有. .侵权必究侵权必究课程目的课程目的2(1 1)黑盒测试的概念)黑盒测试的概念(2 2)黑盒测试的实施过程)黑盒测试的实施过程(3 3)黑盒测试用例设计技术)黑盒测试用例设计技术3黑盒测试黑盒测试黑盒测试的概念黑盒测试的概念 什么是黑盒测试:什么是黑盒测试:黑盒测试又称功能测试、数据驱动测试或基于黑盒测试又称功能测试、数据驱动测试或基于规格说明书的测试,是一种从用户观点出发的测试。规格
2、说明书的测试,是一种从用户观点出发的测试。 黑盒测试示意图黑盒测试示意图 测试人员把被测程序当作一个黑盒子。测试人员把被测程序当作一个黑盒子。黑盒测试黑盒测试 黑盒测试主要测试的错误类型有:黑盒测试主要测试的错误类型有:不正确或遗漏的功能;不正确或遗漏的功能;接口、界面错误;接口、界面错误; 性能错误;性能错误;数据结构或外部数据访问错误;数据结构或外部数据访问错误;初始化或终止条件错误等等。初始化或终止条件错误等等。黑盒测试黑盒测试 黑盒测试用于回答以下问题:黑盒测试用于回答以下问题:1 1)如何测试功能的有效性?)如何测试功能的有效性?2 2)何种类型的输入会产生好的测试用例?)何种类型的
3、输入会产生好的测试用例?3 3)系统是否对特定的输入值尤其敏感?)系统是否对特定的输入值尤其敏感?4 4)如何分隔数据类的边界?)如何分隔数据类的边界?5 5)系统能够承受何种数据率和数据量?)系统能够承受何种数据率和数据量?6 6)特定类型的数据组合会对系统产生何种影响?)特定类型的数据组合会对系统产生何种影响?黑盒测试黑盒测试运用黑盒测试方法,可以导出满足以下标准的测试用例运用黑盒测试方法,可以导出满足以下标准的测试用例集:集:1 1)所设计的测试用例能够减少达到合理测试所需的)所设计的测试用例能够减少达到合理测试所需的附加测试用例数;附加测试用例数;2 2)所设计的测试用例能够告知某些类
4、型错误的存在)所设计的测试用例能够告知某些类型错误的存在或不存在,而不是仅仅与特定测试相关的错误。或不存在,而不是仅仅与特定测试相关的错误。 黑盒测试黑盒测试 用黑盒测试发现程序中的错误,必须在所有用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。但这来检查程序是否都能产生正确的输出。但这是不可能的,因为穷举测试数量太大,无法是不可能的,因为穷举测试数量太大,无法完成。完成。黑盒测试黑盒测试假设一个程序假设一个程序P P有输入量有输入量X X和和Y Y及输出量及输出量Z Z。在字长为在字长为3
5、232位的计算机上运行。若位的计算机上运行。若X X、Y Y取整数,按黑盒方法进行取整数,按黑盒方法进行穷举测试穷举测试:可能采用的测试数据组:可能采用的测试数据组: 2 232322 232322 26464如果测试一如果测试一 组数据需要组数据需要1 1毫秒,一年工作毫秒,一年工作365365 24 24小时,完成所有测试需小时,完成所有测试需5 5亿年。亿年。因此,我们只能在大量可能的数据中,选取因此,我们只能在大量可能的数据中,选取其中一部分作为测试用例。其中一部分作为测试用例。黑盒测试黑盒测试黑盒测试的实施过程黑盒测试的实施过程(1 1)测试计划阶段)测试计划阶段(2 2)测试设计阶
6、段)测试设计阶段依据程序需求规格说明书或用户手册,按照一定规范化的方依据程序需求规格说明书或用户手册,按照一定规范化的方法进行软件功能划分和设计测试用例。法进行软件功能划分和设计测试用例。(3 3)测试执行阶段)测试执行阶段按照设计的测试用例执行测试按照设计的测试用例执行测试; ;自由测试自由测试( (作为测试用例测试的补充作为测试用例测试的补充) )。(4 4)测试总结阶段)测试总结阶段黑盒测试黑盒测试测试用例设计技术测试用例设计技术 等价类划分方法等价类划分方法边界值分析方法边界值分析方法错误推测方法错误推测方法因果图方法因果图方法判定表驱动分析方法判定表驱动分析方法正交实验设计方法正交实
7、验设计方法功能图分析方法功能图分析方法场景法场景法11等价类划分法等价类划分法是把所有可能的输入数据是把所有可能的输入数据, ,即程序的输入域划分成若干即程序的输入域划分成若干部分(子集)部分(子集), ,然后从每一个子集中选取少数具有代表然后从每一个子集中选取少数具有代表性的数据作为测试用例性的数据作为测试用例. .该方法是一种重要的该方法是一种重要的, ,常用的黑常用的黑盒测试用例设计方法盒测试用例设计方法. .12等价类划分法等价类划分法方法简介方法简介划分等价类划分等价类: : 等价类是指某个输入域的子集合等价类是指某个输入域的子集合. .在该子集合中在该子集合中, ,各个输各个输入数
8、据对于揭露程序中的错误都是等效的入数据对于揭露程序中的错误都是等效的. .并合理地假并合理地假定定: :测试某等价类的代表值就等于对这一类其它值的测测试某等价类的代表值就等于对这一类其它值的测试试. .因此因此, ,可以把全部输入数据合理划分为若干等价类可以把全部输入数据合理划分为若干等价类, ,在在每一个等价类中取一个数据作为测试的输入条件每一个等价类中取一个数据作为测试的输入条件, ,就可就可以用少量代表性的测试数据以用少量代表性的测试数据. .取得较好的测试结果取得较好的测试结果. .等价等价类划分可有两种不同的情况类划分可有两种不同的情况: :有效等价类和无效等价类有效等价类和无效等价
9、类. .13等价类划分法等价类划分法有效等价类有效等价类 是指对于程序的规格说明来说是合理的是指对于程序的规格说明来说是合理的, ,有意义的输入数据构成的有意义的输入数据构成的集合集合. .利用有效等价类可检验程序是否实现了规格说明中所规定利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能的功能和性能无效等价类无效等价类 与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个
10、。无效等价类至少应有一个,也可能有多个。设计测试用例时设计测试用例时, ,要同时考虑这两种等价类要同时考虑这两种等价类. .因为因为, ,软件不仅要能接收软件不仅要能接收合理的数据合理的数据, ,也要能经受意外的考验也要能经受意外的考验. .这样的测试才能确保软件具这样的测试才能确保软件具有更高的可靠性有更高的可靠性. . 14等价类划分法等价类划分法 2 2)划分等价类的标准:)划分等价类的标准:完备测试、避免冗余完备测试、避免冗余划分等价类重要的是:集合的划分,划分为互不相交的一组子划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合集,而子集的并是整个集合并是整
11、个集合并是整个集合:完备性:完备性子集互不相交子集互不相交:保证一种形式的无冗余性:保证一种形式的无冗余性同一类中标识(选择)一个测试用例,同一等价类中,往同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到往处理相同,相同处理映射到“相同的执行路径相同的执行路径”15等价类划分法原则一等价类划分法原则一 3 3)划分等价类的方法)划分等价类的方法下面给出下面给出5 5条确定等价类的原则条确定等价类的原则(1 1)在输入条件规定了取值范围或值的个数的情况下)在输入条件规定了取值范围或值的个数的情况下, ,则可以确立则可以确立一个有效等价类和两个无效等价类。一个有效等价类