知名高端网站建设企业,配音阁在线制作网站,电子商务网站建设实习报告,360搜索建站软件测试方法大类上分为黑盒测试、白盒测试和灰盒测试三种
一、黑盒测试
黑盒测试通俗来说即不知道代码是怎么写的。具体实现逻辑#xff0c;基于代码输入有哪些应该输出什么进行测试的方法。其方法有#xff1a;基于直觉和经验的方法#xff08;IEBT#xff09;、基于需…软件测试方法大类上分为黑盒测试、白盒测试和灰盒测试三种
一、黑盒测试
黑盒测试通俗来说即不知道代码是怎么写的。具体实现逻辑基于代码输入有哪些应该输出什么进行测试的方法。其方法有基于直觉和经验的方法IEBT、基于需求/标准验证的方法ReBT、基于输入域的方法IDBT、组合测试方法
1.基于直觉和经验的方法IEBT
1Ad-hoc随机测试方法
Ad-hoc测试也称随机测试或猴子测试是一种没有任何计划、文档的测试方法。测试是非正式和随机进行的。通常会在验收测试的时候进行。Ad-hoc测试是由测试人员会临时测试不遵循任何结构化的测试方法在应用程序的任何部分随机进行的。
2基于用户使用测试
即将自己代入用户视角使用该软件进行测试。
3错误猜测法
基于测试人员的丰富经验和直觉找出程序中自己认为会出现的错误并针对性地设计测试用例。经验可能来自于对某项业务的测试较多也可以来自售后用户的反馈意见或者从故障管理库中整理出bug。列举出程序可能会出现的错误或者容易产生错误的测试点然后根据测试点写测试用例。
2.基于输入域的方法
1等价类划分法
等价类划分具体做法就是把测试项的输入域或者输出域划分成若干部分然后从每个部分中选取少数、代表性数据当作测试用例等价类划分法分成有效等价类合理、合法的输入或者输出数据和无效等价类不合理、非法的输入或者输输出数据举例对学生输入的分数进行评级其中90-100时A80-89为B70-79为C60-69为D60-0为E。输入分数要求必须时正整数或者为0
根据题目可以得知
1有效等价类为0-5960-6970-7980-8990-100
2无效等价类为空负数大于100的数小数含字母的字符串2边界值法
边界值法具体做法就是找到有效数据额无效数据之间的分界点以及其两边的点进行测试一般与等价类划分法共同使用。举例对学生输入的分数进行评级其中90 x 100时A80 x 89为B70 x 79为C60 x 69为D0 x 60为E。输入分数要求必须时正整数或者为0
根据题目可以得知
1等级为A的边界值为101, 100, 90, 89
2等级为B的边界值为90, 89, 80, 79
3等级为C的边界值为80, 79, 70, 69
4等级为D的边界值为70, 69, 61, 60
5等级为E的边界值为-1, 0, 60, 61
综合上述边界值法得到的测试用例有101, 100, 90, 89, 80, 79, 70, 69, 61, 60, 0, -13决策表法
决策表法具体做法就是把作为条件的所有输入的各种组合值和它对应的输出值都罗列出来形成表格适用场合适用于输入输出比较多且输入之间和输出之间相互制约的条件比较多。怎么做决策表
由条件桩、条件项、动作桩、动作项四个部分组成
1条件桩列出问题的所有输入条件
2动作桩列出问题规定可能采取的操作‘
3条件项列出它在列条件的取值输入
4动作桩列出在条件项的各种取值情况下应该采取的动作输出举例对学生输入的分数进行评级其中90 x 100时A80 x 89为B70 x 79为C60 x 69为D0 x 60为E。输入分数要求必须时正整数或者为0 最终上述决策树每一列为一个测试用例。
4因果图法
因果图法时一种利用图解法分析输入的各种组合情况从而设计测试用例的方法。输入与输出关系 1恒等如果原因为真那么结果必为真2与 ^只有当两个原因都为真的时候结果才为真3或 V两个原因中有一个为真那么结果为真4非 ~只有原因为假结果才为真 基本约束 1约束是指输入状态还存在这某种依赖关系这种关系称作为约束。2E约束异表示ab两原因不会同时成立最多一个能成立。3I约束或:a、b、c三个原因中至少有一个必须成立。4O约束唯一:a、b当中必须有一个且仅有一个成立5R约束要求:当a出现时b必须也出现不可能a出现b不出现6M约束屏蔽:表示当a是1时b必须是0。而当a为0时b的值不定
3.组合测试方法
1Pairwise方法
Pairwise方法主要的原理是每组输入参数之间的组合以及每个可能的输出情况之间的组合。在使用该方法的时候首先要明确测试输入和输出变量的取值范围以及二者之间的关系然后使用适当的集合数学算法生成一组测试用例。
2n-way方法
3正交试验法
正交表的构成 1行数正交表中行的个数即试验次数我们设计测试用例的个数2因素数正交表中列的个数即我们要测试的功能点3水平数任何单个因素能够取得的值的最大个数。即要测试功能点的输入条件 例子对某人进行查询假设查询某个人时有三个查询条件按“姓名”进行查询按“身份证号码”查询按“手机号码”查询 行数 因素数 * 水平数 - 1 1 3 *2 - 1 1 4
4分类树方法
实际上分类树法与等价类划分法有些相似分类树法。把测试对象的输入域看作不同的方面组成对每个方面分离并组成各种类别而分类结果的各类又可能再进一步被分类。设计步骤1.识别出测试对象并分析输入域2.对测试对象的输入域进行分类3.画出分类树组合测试用例。例子对某人进行查询假设查询某个人时有三个查询条件按“姓名”进行查询按“身份证号码”查询按“手机号码”查询
二、白盒测试基于代码的方法
1.控制流覆盖
void func(int x, int y, int z)
{if(x 1 y 0)z / x;if(x 3 || z 1)z;
}1基本路径覆盖
根据流图计算环复杂度得到基本路径覆盖的测试用例数流图为 环复杂度边数 - 节点个数 2 6 - 5 2 3故共3条路经即3个测试用例11-》3-》5测试数据x1y1z121-》2-》3-》5测试数据x3y0z631-》3-》4-》5测试数据x3y1z2
2逻辑覆盖
a语句覆盖每条语句至少执行一次
走上述ace即可每条语句至少执行一次。只需遍历ace。测试用例x3y0z6
b判定覆盖每个判定的所有可能结果至少出现一次真假分支都走一遍
若要每个判定条件的所有可能结果都出现一次则只需走路径ace和路径abd即可测试用例x3y0z6ace和 x1y1z0abd
c条件覆盖每个条件的所有可能结果至少执行一次
第一个判断条件的所有取值可能是x1或x1y0或y≠0第二个判断条件的所有取值可能是x3或x3z1或z1若要每个条件的所有可能结果都执行一次则x1y0z1abd和 x2y1z2abe
dMCDC修正判定条件覆盖
e条件组合覆盖每个判定中的所有可能的条件结果的组合以及所有的入口点都至少执行一次
第一个判断条件的所有取值可能是x1或x1y0或y≠0第二个判断条件的所有取值可能是x3或x3z1或z1即测试用例条件应该为①x1y0②x1y≠0③x1y0④x1y≠0⑤x 3z1⑥x3z1⑦x3z1⑧x3z1
测试用例
1.x3y0z6(ace)覆盖组1,5
2.x3y1z1(abe)覆盖组2,6
3.x1y0z6(abe)覆盖组3,7
4.x1y1z1(abd)覆盖组4,82.数据流覆盖—变量定义-引用
三、灰盒测试
四、其余测试方法