等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。

 等价类思考步骤:

  1、先确定有效和无效等价类。

  2、有效等价类就是题目条件(两端的极值(边界值)要判断,中间随意一个值也要判断)。

  3、无效等价类先划分与条件相反的情况,其它特殊情况(中文、英文、特殊符号、空格、空值)。

  二、边界值

  具体测试用例思路:找到边界值和它两端的值,分别进行测试。

  1、确定边界情况(输入或输出等价类的边界)。

  2、选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据。

  3、边界值的取值依据输入范围区间不同而有所不同,但是都需要把上点值、离点值和内点值取到(闭两边、开中间)。

  边界值的方法小结:

  1、如果输入条件规定了值的范围,则应取刚刚到这个范围的边界值,以及刚刚超载这个范围边界的值作为输入数据。

  如:两位加法器数的范围为-99 - 99,则应测试-99 -100和99 100。

  2、输入条件规定了值的个数。

  如:姓名要求1-20个字符,需要测试0、1、2个字符和19、20、21个字符。

  某商品信息查询系统,每页最多显示10条商品信息,我们应该闪图商品信息使其能够查询出9、10、11条、1条、0条商品记录。

  边界值和等价类区别:边界值分析不是从某等价类中随便挑一个作为代表,而是这个等价类的每个边界都要作为测试条件。它们是相辅相成的关系,配合使用。

三、因果图法

  因:输入条件 | 果:输出条件、输出结果。

  适用于输入条件之间有相互制约、相互依赖的情况。

  因果图中的符号:

  1、恒等:有因就有果,没有因就没有果。

  2、非:有因没有果,没有因有果。

  3、或:条件有一个是真,结果就是真,条件都是假,结果才是假。

  4、且(与):条件都为真,结果才是真,一个条件为假,结果就是假。

  利用因果导出测试用例需要经过以下几个步骤:

  1、找出所有的原因,原因即输入条件或输入条件的等价类。

  2、找出所有的结果,结果即输出条件。

  3、明确所有输入条件之间的制约关系以及组合关系。

  哪些条件不能组合在一起,哪些条件可以组合在一起。

  4、明确所有输出条件之间的制约关系以及组合关系。

  哪些输出结果不能同时输出,哪些输出结果可以同时输出。

  5、找出什么样的输入条件组合会产生哪种输出结果。

  6、把因果图转换成判定表/决策表。

  7、为判定表/决策表中的每一列表示的情况设计测试用例。

  四、判定表法

  根据因果图来制作判定表(因果图可以不画)

  组成部分:

  1、条件桩:所有条件。

  2、动作桩:所有结果。

  3、条件桩:针对条件桩的取值。

  3、动作桩:针对动作桩的取值。

  书写步骤:

  1、列出所有条件和动作桩。

  2、填写条件和动作桩的项目。

  3、简化判定表。

  注意:如果出现“-”代表此选项不影响最终结果。

  五、场景法

  场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程,分为基本流(正确流程)和备选流(错误流程)。

  在冒烟测试时也主要采用场景法进行测试。

  六、流程分析法

  流程分析法适用于有先后顺序的测试,常用于业务流程测试、安装流程测试等。每个流程就是一条测试用例,它只是在测试整体流程是否正确,细节还需要使用等价类、边界值等方法完善。

  七、错误推断法

  凭着直觉和经验来设计测试用例,它是根据之前项目相关的bug数据总结来的。

  八、正交表

  从全面试验中挑选出有代表性的点进行测试(均匀分散,整齐可比);高效率、快速、经济的方法。

  作用方法:

  1、根据控件和取值当我选择一个合适的正交表。

  2、列举取值并编号,生成取值表。

  3、把取值表与选择的正交表进行映射。

  混合正交表生成工具allpairs:

  很多情况下无法找到合适的正交表,就要使用正交表生成工具。

  使用步骤:

  1、制作取值表(只列出数据即可,不用编号)。

  2、复制取值表的数据,放到文本文档中保存(注意不要更改任何格式,例如文件叫Test2.txt)。

  3、把文本文档放在allpairs文件夹中。

  4、cmd进入控制台。

  5、使用控制台命令进入allpairs文件夹中(cd目录路径)。

  6、在控制台中输入 allpairs.exe Test2.txt>chenggong.txt(chenggong是自己真怕的名字,用来存放生成的组合用例,可以自动生成,不必提前建好)。

  测试方法的选择

  在确定测试方法时,应遵循以下原则:

  1、拿到一个测试任务时,先关注它的主要功能和业务流程,业务逻辑是否正确实现,考虑使用场景法。

  2、需要输入数据的地方,考虑采用等价类划分法,包括输入条件和输出条件的等价划分,将无限测试变成有限测试。要注意配合边界值法来做详细测试。

  3、在任何情况下都必须采用边界值分析法,这种方法设计出的测试用例程序错误的能力最强。

  4、如果程序的功能中含有输入条件的组合情况,则一开始就应考虑选用因果图和判定表法。

  5、对于参数配置类的软件,需要考虑参数之间的组合情况,考虑使用正交排列法选择较少的组合方式(最少的测试用例获得最大的测试覆盖率)。

  6、对照程序逻辑,检查已设计出的用例的逻辑覆盖程序,如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。

  7、采购错误推断法再追加测试用例---依靠测试工程师的经验和智慧。

测试用例常用方法和选择原则相关推荐

  1. 白话Elasticsearch45-深入聚合数据分析之易并行聚合算法,三角选择原则,近似聚合算法

    文章目录 概述 易并行聚合算法 三角选择原则 近似聚合算法 概述 继续跟中华石杉老师学习ES,第45篇 课程地址: https://www.roncoo.com/view/55 易并行聚合算法 有些聚 ...

  2. mysql5.5索引,MySQL--5索引选择原则

    大家好我是安小生,这篇文章讲述索引的选择原则. 1.explain分析语句. explain:通常是用于sql语句性能分析. 举个栗子: explain select * from user wher ...

  3. (200)FPGA芯片选择原则

    (200)FPGA芯片选择原则 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA芯片选择原则 5)技术交流 6)参考资料 2 FPGA入门与提升课程介绍 1) ...

  4. (65)FPGA面试题-状态机编码选择原则?

    1.1 FPGA面试题-状态机编码选择原则? 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-状态机编码选择原则: 5)结束语. 1.1.2 本节引言 & ...

  5. 第四章 闪烁探测器----闪烁体、选择原则、光收集系统、PMT、替代产品

    文章目录 闪烁体 常用闪烁体 NaI(Tl) CsI(Tl) ZnS(Ag) 有机液体 塑料闪烁体 BGO 锗酸铋 溴化镧(铈) 选择原则 ( !) 光收集系统 ( !) 光电倍增管PMT 类型 噪声 ...

  6. wifi的工作模式:11b、11g、11bg mixed、11n、11bgn mixed选择原则

    几种模式 模式11bgn mixed意思是:802.11b,802.11g,802.11n,三种模式混合mixed,就是混合的意思,适合无故障的无线路由选择,老旧的或者有故障的路由器不能用这种模式,为 ...

  7. 编写测试用例常用方法

    一.等价类划分法 1.概念:等价类划分法是将所有程序的输入域划分成若干个子集合(等价类),然后从每一个子集合中选取少数具有代表性的数据作为测试的输入数据.在该子集合中,所有的输入数据对于揭露软件中的错 ...

  8. 没有mssqlserver的协议_LoadRunner是什么 LoadRunner协议选择原则介绍【图文】

    LoadRunner对不同协议的选择 以前使用Loadrunner只选择过web(Http/Html),但其实协议多种多样.在B/S结构的网站多种业务的特点需要选择不同的协议,耿电在给我们就介绍了用过 ...

  9. 3D 机器视觉 01 - 格雷码在3D视觉中的运用和码位选择原则

    1投影图像的编码方法: 常用的一种编码方法就是基于时间的编码方法. 该方法是将一系列投影图案在不同的时刻投射到被测物体的表面,像素的编码由物体表面反射的一系列值构成,因此这种方法被称为时间多路编码方法 ...

最新文章

  1. sftp协议下如何上传和下载文件
  2. 【直播】鱼佬:心跳信号分类赛高分突破
  3. Spark源码学习之IDEA源码阅读环境搭建
  4. c语言数组求逆序对,LeetCode 面试题51. 数组中的逆序对
  5. Mozilla发布最大公共语音数据集Common Voice
  6. C/C++ 字符串(string)转换
  7. Arduino 各种模块篇 步进电机 step motor( 不用库,不用shield, 纯)
  8. 准确性 敏感性 特异性_如何掌握类型特异性的艺术
  9. python做的数据图表怎么在flask中显示_Python:如何在Flask应用程序的表中显示MySQL查询的数据...
  10. 跨域访问的相关概念及解决方法
  11. python字符串前面加u,r,b的含义
  12. Launch MySQL on my PC
  13. 蛋糕店选址该注意什么,如何了解客群画像和竞品情况
  14. 扩展欧几里得算法超详解
  15. 最小可分辨温差四杆靶空间频率选择
  16. 实验:windows密码破解
  17. 做软件测试三,四年后的感想
  18. 头条 上传图片大小_无锡抖音巨量运营培训南天值得选择——鹰手营子矿头条...
  19. 计算机一级常用英语缩写,电脑常用英文单词和缩写
  20. 爬虫实战教程:采集微信公众号文章

热门文章

  1. CAD二次开发c#(三)简单的二、三维开发实例
  2. 人民日报揭礼品回收灰色利益链
  3. 不知道这几点,千万别开发微信小程序
  4. UI设计中连笔设计怎么做出高级感?|优漫动游
  5. (原创)WPF写的台球附源码
  6. 两点之间最短的距离并不一定是直线(改变一生财运的五句话)
  7. ue4 纹理流送导致的光照贴图问题
  8. 新乡市各县市新冠病毒肺炎疫情专题地图
  9. 相机储存卡格式化后能恢复数据吗?相机内存卡格式化了还能恢复吗
  10. Marketing tactics of e-commerce