测试理论4
作者:互联网
测试用例设计方法
等价类划分⽅法
等价类:把输入的数据可以分为有效的数据和无效的数据
被测试的对象输入的数据:
1、有效的数据
2、无效的数据
测试一个产品,需要考虑它的正确场景,也需要考虑它的异常场景
边界值分析⽅法
边界值:边界值测试用例是针对等价类测试用例方法的补充,因为等价类测试用例的方法只考虑到了输入数据的有效数据和无效数据,但是没有考虑到边界的情况。
因果图⽅法
因果图:指的是被测对象有多个输入条件,根据不同的输入条件之间的关系(并且,或者,非)来匹配筛选出不同的结果
排列组合:因果图是根据输入的不同条件来根据排列组合来设计不同条件下的测试用例
正交实验设计⽅法
正交实验分解法:因果图根据输入的N个不同条件组合下来导致测试用例的个数是呈指数级的增加,这样导致测试的资源(人力,时间资源)上根本无法满足测试的时间要求。那么这个时候只需要测试有代表性的数据就可以了,那么使用的方法就是正交实验分解法
等价类与边界值结合起来使用
因果图与正交实验分解法结合起来使用
--------------------------------------------------------------------------------------------------------
测试用例三种:
1、思维导图
2、excel
3、checklist
项目管理模式:
工作安排主要是通过项目管理工具来安排的。
TAPD,jira
task:故事,一个故事有开始也有结束,那么在项目管理里面,会把每个任务按照一个task来看,那么这个task也可以叫story,具体指的就是任务有开始有结束
可以安排很多的task,每个task具体到story
迭代: 2周一个迭代 一个迭代里面会涉及到一个具体的功能点,从功能点的需求开始一直到上线完成
----------------------------------------------------------------------------------------------------------------------------------------------------------
错误推测⽅法
错误推测⽅法 \1. 定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从⽽有针对性的设计测试⽤例的⽅法。
错误推测⽅法: 是针对非功能性的测试,主要是根据现有的经验和直觉,来判断系统中可能存在的问题,然后进行测试来验证存在的问题是否存在
1、在波浪式的交互过程中,一直往下滑动,可能会出现浏览器的卡死
2、在列表中翻页可能也会存在浏览器的卡死
3、Java语言编写的应用程序,大概率可能存在内存泄露(Java.lang.OutOfMemory,简称:OOM)
一个应用程序都会分配内存,比如分配了2G,但是程序在使用的过程中,由于程序受到了太大的压力,导致使用的内存超过了分配给自己的内存,那么就会导致内存溢出,在专业角度上我们叫内存泄露。
4、一码通,对该应用程序进行大量的扫描二维码并且一直在进行扫描,那么很有可能存在扫描二维码后出现不了结果或者是导致结果一直加载中
场景设计方法:
指的是针对一个系统从输入流开始一直到输出流的完整性的测试,主要考虑的是被测对象的业务流程,也就是各个不同场景方法的测试。
模拟支付
沙盒环境/影子库
判定表驱动分析⽅法
1.定义:判定表是分析和表达多逻辑条件下执⾏不同操作的情况的⼯具。
2.判定表的优点 在⼀些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执 ⾏不同的操作。判定表很适合于处理这类问题。 能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利⽤判定表能够设计出完整的测试⽤例 集合。
1)条件桩(Condition Stub):列出了问题得所有条件。通常认为列出的条件的次序⽆关紧要。
2)动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
3)条件项(Condition Entry):列出针对它左列条件的取值。在所有可能情况下的真假值。
4)动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。
判定表驱动分析⽅法:列表被测试对象可能存在的各个不同条件,再依据因果图排列组合的方式(逻辑关系并且和或者关系),来设计出被测产品的测试点,如果排列组合下来的测试用例个数比较多,在资源紧张的情况下,那么就可以使用正则分解法来优化测试用例。
功能图分析⽅法
⼀个程序的功能说明通常由动态说明和静态说明组成.动态说明描述了输⼊数据的次序或转移的次序.静态说明描述了 输⼊条件与输出条件之间的对应关系.对于较复杂的程序,由于存在⼤量的组合情况,因此,仅⽤静态说明组成的规格说明 对于测试来说往往是不够的.必须⽤动态说明来补充功能说明.功能图⽅法是⽤功能图FD形式化地表示程序的功能说明, 并机械地⽣成功能图的测试⽤例. 功能图模型由状态迁移图和逻辑功能模型构成.状态迁移图⽤于表示输⼊数据序列以 及相应的输出数据.在状态迁移图中,由输⼊数据和当前状态决定输出数据和后续状态.逻辑功能模型⽤于表示在状态中 输⼊条件和输出条件之间的对应关系.逻辑功能模型只适合于描述静态说明,输出数据仅由输⼊数据决定.测试⽤例则是 由测试中经过的⼀系列状态和在每个状态中必须依靠输⼊/输出数据满⾜的⼀对条件组成.功能图⽅法其实是是⼀种⿊盒 ⽩盒混合⽤例设计⽅法。
(功能图⽅法中,要⽤到逻辑覆盖和路径测试的概念和⽅法,其属⽩盒测试⽅法中 的内容.逻辑覆盖是以程序内部的逻 辑结构为基础的测试⽤例设计⽅法.该⽅法要求测试⼈员对程序的逻辑结构有清楚的了解.由于覆盖测试的⽬标不同, 逻辑覆盖可分为:语句覆盖,判定覆盖,判定-条件覆盖,条件组合覆盖及路径覆盖.下⾯我们指的逻辑覆盖和路径是功能 或系统⽔平上的,以区别与⽩盒测试中的程序内部的.)
功能图分析⽅法:它是非功能性的测试用例设计方法,是针对被测程序内部的一种测试方法,主要测试的对象是被测程序的内部代码,使用代码的逻辑来验证被测对象的程序逻辑是否存在问题,是白盒的一种方法。
----------------------------------------------------------------------------------------------------------------------
常用的测试用例方法有哪些?举例说明?
等价类
针对被测对象的输入数据分为有效数据和无效数据,是功能测试的一种测试用例设计方法。如电话号码,那么有效数据就是 符合运营商电话号码的规则,无效就是不符合,如连续的11个同样的数字以及非11的数字。
边界值
边界值是针对等价类测试用例方法的补充,如电话号码,需要考虑到11位,以及12位,和0位,也就是边界的情况
判定表驱动分析方法
列出被测对象可能存在的不同条件,如招聘类网站筛选出的结果排序,可能会存在多个条件来筛选出结果,如年限,薪资,地区等等,需要先列出来
因果图
在判定表的基础上,根据被测对象列出的条件,来使用排列组合的方式来验证各个不同条件下(并且以及或者关系)程序的结果情况
正交实验分解法 在因果图的基础上,使用排列组合下来的测试用例个数是非常多,导致测试用例的个数是非常多的,那么使用正交实验分解法可以优化 测试用例的个数,选择有代表性的数据来进行测试
场景设计方法
主要考虑的是一个产品的完整的业务流程,从输入流开始一直到输出流,比如淘宝,从一个商品上架一直到商品的出售
错误推试法
针对被测产品的非功能性的测试用例,主要使用探索性测试的方法,来验证被测产品可能存在问题 如:
淘宝页面在波浪式的交互过程中,一直往下滑动,可能会出现浏览器的卡死
在列表中翻页可能也会存在浏览器的卡死
功能图分析⽅法
针对程序非功能性的测试,主要考虑的是被测程序的内部结构代码的测试
迭代的基本流程:
一般迭代是多久一次:2周
人员结构有哪些: PM(项目经理):1
开发:4-5
前端:1-2
测试:3-4
产品经理:1 13
2周工作内容(一个迭代):
第一周:
周一:熟悉需求文档以及参与需求的评审,和拆分任务
周二:继续熟悉需求,编写测试用例
周三:继续编写测试用例,评审测试用例,以及完善测试用例
周四:编写自动化测试代码(学习/应用)
周五:继续编写自动化测试代码,开发转测后,进行冒烟测试验证
第二周:
周一:测试被转测试的产品
第二:继续测试,以及验证回归问题(Issue)
周三:继续测试,以及进行验收测试
周四:编写测试报告,做最后的探索性测试,准备上线前的资料,以及晚上上线后的回归测试验证
周五:参加项目迭代复盘会议,以及针对本地迭代进行总结,准备下一个迭代的工作内容
验收测试流程:
1、测试在周三下午测试完成,发送邮件让产品经理进行验收测试,产品经理会在周三下午以及周四的早上进行验收测试, 验收测试完成后会回复邮件,反馈本次验收测试的结果
测试报告的前提因素:
1,在产品经理验收测试通过的情况下,测试才能够发测试报告,如果验收测试不通过,开发测试继续修改存在的问题
周五复盘会议:
1、总结本次迭代有哪些优点,以及哪些缺点
2、针对本次迭代的缺点,提出对应的解决方案,在下个迭代中执行
标签:功能,迭代,理论,测试用例,测试,条件,数据 来源: https://www.cnblogs.com/wu199916/p/16465285.html