1、防止遗漏:减少遗漏缺陷的风险,确保功能测试覆盖率更高。
6、缩短周期:版本更新或升级时,只需要修正少部分测试用例,资源可以复用。
二、测试用例的注意事项:
1、在编写用例之前,要将用例编号的编写规范,附带资料的命名及提交位置等信息说明清楚。
方式:互评互审、组内评审、有甲方参与的评审会
3、对于测试人员编写用例的要求:
标准:就是其他测试人员按照你写的测试步骤能够顺利的执行测试。
独立的分析、设计测试的能力,能够形成比较完善的测试思路,测试覆盖率高,遗漏缺陷少。
界面中有多个控件,控件之间有组合或者限定关系,为了弄清楚不同的输入组合会对应怎样不同的输出结果,可以使用因果图或判定表法。
说明:因果图/判定表法比较适合测试组合数量少(一般指20种以下)的情况(如果组合数量大可以选择使用正交排列法效率会更高)
因果图:通过画图的方式说明输入条件和输出结果之间的关系
1)基本图形符号——表达的是因和果之间的关系
只有所以条件都成立时,结果成立,有任何一个条件不成立(或所有条件都不成立)时,结果不成立。
只有所有条件都不成立时,结果不成立。只要有任何1个条件(或者所有条件都成立)时,结果都成立。
2)限制图形符号——表达的是因之间或果之间的限制关系
特点:如果选只能选一个,但是可以不选
特点:至少要选择1个(可以多选,不能不选)
特点:如果a=1,那么要求b必须是1,反之,如果a=0,那么b的值无所谓。
案例:一卡通自动充值模拟系统
步骤1:熟悉需求,找出所有的输入条件(因)
步骤2:找出所有的输出结果(果)
将找出的因和果填入到《判定表》中
步骤3:找出输入条件中的组合和限制关系
步骤4:明确不同的输入组合会产生的不同输出结果,画因果图,填判定表(在实际工作中可以只填判定表,不画因果图)
1)画因果图只是一种辅助工具,通过分析最终得到判定表,在通过判定表编写测试用例。但是,画因果图非常麻烦,影响测试效率,所以在实际应用中,可以直接写判定表,不画因果图。
2)判定表的缺点:限制关系在判定表中不好体现,解决办法:在判定表中添加备注信息,将限制关系填写在备注中。
判定表中每一列为一种组合,写一条用例
问题:编写测试用例能参考什么?
2)设计(开发)文档【有可能没有】
3)已经开发出来的被测程序
4)通过跟开发人员、产品人员、客户等沟通、讨论
第六讲 多种测试方法综合测试
步骤一:熟悉需求,判断测试功能需要用到哪些测试方法?
1.基本信息部分使用等价类+边界值的测试方法,测试基本信息部分。
2.使用判定表法测试扣款比例
步骤二:用每个(每组)控件对应的测试方法,进行独立的分析,将分析结果填入相应的表格(单独分析)
步骤三:根据分析结果,综合考虑形成中比较完善的测试方案(思路),编写测试用例。
首先:判定表(8种组合)+基本信息(编号、姓名、本月工资)的有效数据
接下来:单独测试每个文本框(编号、姓名、本月工资)的无效数据
将多个控件的无效情况或者1个控件的多个无效情况组合起来测试
2、1)判定表/因果图适合测试控件之间的组合和限制关系
2)判定表/因果图的局限:一般适合测试组合数量比较少的情况(一般少于20种)
说明:正交排列法依赖于正交法进行测试
测试人员只需要能选择合适的正交表并且能应用到测试中来就可以了
在一个界面中有多个控件,每个控件有多个取值,测试时要考虑不同控件之间的组合,但是组合数量很大(一般超过20种),没有必要测试全部组合,可以使用正交排例法挑选最优、最少的组合进行测试。
问题:正交排列法和判定表法的主要异同?
1)两种方法都可以实现控件之间的组合问题的测试
2)判定表适合测试组合数量比较少的情况(一般少于20种)
3)正交排列法适合测试组合数量较多的情况(一般超过20种)
4)判定表法除了考虑控件之间的组合以外还要考虑控件之间的限制关系,而正交排列法只需考虑组合情况。
n:表示该正交表有几行,n值不需要测试人员计算,正交表确定后该值是固定写好的
m:代表该正交表中数据的最大值
测试时:表示每个控件的取值个数
k:表示该正交表有几列
三、使用正交排例法测试的步骤
步骤1、分析需求,列出参与组合的空间以及每个控件的取值-列出到excel表格里
1)将控件和正交表的列标题(因子)进行映射
2)将控件取值和正交表中对应列的数值(状态)进行映射
步骤4、根据生成正交排列表,编写测试用例
四、关于正交表的初步总结:
1、正交表是采用最优、最少的测试数据进行测试。效率很高,但是毕竟没有测试所有的组合,会有遗漏缺陷的风险,如果时间允许可以适当补充测试。
2)要求每个控件中取值个数相等,这在实际应用中很难遇到
1)在正交表中每列中不同数字出现的次数均等
2)任意两列中,同一行两个数字组成有序数对,有序数对出现的次数均等
1、k(控件的个数)值不合适:
解决方案:选择最接近的大一点的,如果有用不到的列可以删除
2、每个控件的m取值不同
哪个控件的m值最大,最终m值就确定个这个案例的最大值。
m=4,k=4,所以理论上选4的4次幂的正交表,但是没有,所以最终选取的是4的5次幂的正交表
解决方案2:少数服从多数原则
哪个m值相同的个数最多,m值就选择哪个
案例分析:m=3的有两个,是最多的,所以:
补充:正交排列法常实际用于测试软件的兼容性或软件的属性配置功能。
1、如果有对余的列,可以删除掉
2、把每一列能映射的值先映射好
3、把每一列多余的机会,尽量均匀的分配给该列的各个取值
4、最后要检查是否有完全相同的组合,如果有要适合处理(修改(建议),删除)
5、选择正交表时,优先选择正好匹配的正交表,如果没有正合适的,再去选择接近的进行处理。
程序中有多个窗口,窗口中有多个操作,多个窗口的操作之间有一定的关系,为了理清窗口直接的关系,可以使用测试大纲法。
常用于:测试软件的安装、删除程序;多窗口之间的跳转关系。
二、测试大纲法的使用步骤:
1、分析需求,列出所有窗口以及每个窗口中的操作-列大纲
2、根据大纲,理清窗口操作间的关系,编写用例。
1)如果某个操作流程中没有新的测试功能点(所有的功能点在前面的测试中已经测过),那么该条用例可以省略。但是如果测试时间允许,最好还是测。
2)对于列表框或下拉列表框控件,一般至少测试三项:第一项(最小值),中间某项(有效等价类),最后一项(最大值)
补充:1、第一项是最小值,最后一项是最大值,这是按索引位置定义的
2、在测试下拉列表选项时,不是只测3项,如果选项中有特殊项,如:不限,请选择**时,要选择该选项进行单独测试
3、测试用例可以适当复用-有些用例如果跟前面的用例基本一致,可以重复使用。
案例:snagit软件的安装程序
1、安装程序的窗口较多,但是窗口之间的关系比较简单,一般只关注“上一页”和“下一页”,测试时不需要特别关注,重点关注每个窗口中能够完成的功能(测试点),一一列出大纲,写测试用例。
2、测试软件的安装、删除程序的测试用例,一般直接写在word中,不需要按照规定格式写。
3、安装程序的测试需要考虑测试环境(安装环境):
1)该软件支持的操作系统(操作系统的版本、品牌、位数(32 位、64位)等)
2)该软件与其他软件的兼容问题(与其他软件,同时安装在一台电脑中可以同时使用不相互影响)
3)考虑该软件的安装路径:
2)自定义路径(正确路径、错误路径)
4)已经安装过该软件,怎么处理?(更新升级,覆盖,取消,不允许)
1、点击“next”(下一步)按钮,可以进入下一个界面
2、点击“cancel”按钮,程序不应直接退出,弹出“消息提示框”,
1)如果点击“resume”(继续)按钮或者“X”(关闭)按钮(bug1:直接退出安装程序),关闭消息提示框,继续安装程序
2)如果点击“exit setup”(退出安装)按钮,安装程序终止。
1、点击“back”(后退),返回上一个界面
2、“cancel”按钮功能可以参考界面1中cancel按钮功能
1、点击“back”(后退),可以返回到上一个界面
2、“cancel”按钮功能可以参考界面1中的cancel按钮功能
3、点击“more information(更多信息)”按钮,可以官网的相关页面
4、1)如果两个单选按钮都不选择,此时“next”按钮值灰
2)如果选择两个单选按钮中的任何一个,“next”按钮可用,点击可以进入下一个界面
1、点击“back”按钮,可以返回到上一个界面
2、“cancel”按钮功能可以参考界面1中的cancel按钮功能
3、点击“need help finding your software key?”(需要帮助找到你的软件注册吗?)按钮,可以连接到官网的相关网页(bug2:链接失效)
4、1)如果不选择“installation type”(安装类型)中的其中一个,“next”按钮“值灰”
(a)填写“name”(姓名)【可以为空】和正确的“key”(序列号),点击“next”按钮,可以进入下一个界面(安装后按照序列号的授权时间使用)
1、点击“back”可以返回到上一个界面
2、点击“cancel”按钮功能可以参考界面1中的cancel按钮功能
3、1)如果选择“tipical”(典型安装)单选按钮,点击“next”按钮可以进入到下一个界面(典型安装类型)
2)如果选择“custom”(自定义安装),点击“next”按钮,可以进入下一个界面(自定义安装类型)
第六个界面(安装界面)
1、点击“back”可以返回上一个界面
2、“cancel”按钮功能可以参考界面1cancel按钮功能
6、点击“install”(安装)按钮,开始进行安装,开始进行安装
1、点击“cancel”按钮或“X”关系按钮,程序不应该直接退出,而是弹出消息提示框(参考之前的案例)
1、点击“finish”(完成)按钮,结束按钮
2、“cancel”按钮和“X”(关闭)按钮必须“置灰”
主要用于测试软件的业务流程和业务逻辑。
是一种基于软件业务的测试方法,测试人员把自己当成最终用户,尽可能真实的模拟用户在使用该软件时的各种情景:
A、模拟用户正确的业务操作流程——验证软件的业务功能是否能够正确实现
B、模拟用户错误的业务操作过程——严重软件的异常处理能力(健壮性)
使用场景法测试的思路:
场景法就是模拟用户操作软件时的各种场景,用来测试软件的业务逻辑和流程。当拿到一个测试任务时,我们并不是先关注某个控件的等价类,边界值这些细节,而是先关注整个功能的业务逻辑和业务流程是否正确,这就需要使用场景法来测试完成。当整体业务流程和主要功能没有问题时,我们再从控件的细节去进行测试,使用等价类、边界值等方法。(先整体再细节)
二、场景法基于两个层面:
1、业务层面(业务的理解更为重要)
测试人员要熟悉所测系统的业务逻辑、流程,成为该行业的“业务上的专家”
也叫正确流或有效流,模拟的是用户正确的操作流程
也叫错误流或无效流,模拟用户错误的用户操作过程。
案例1:ATM取款功能
1、分析需求,熟悉业务,整理业务逻辑或流程,列出基本流和备选流
插卡,验证卡→输入密码(正确)→选择“取款”,输入(选择)取款金额(正确)→确定,出钞,修改余额(账户余额、ATM余额)
2)备选流(在取款过程中可能会出现的各种错误场景):
说明:备选流并不完整,有一些备选流场景没有列出,这也更加说明业务对于场景法的重要性。
步骤2:根据基本流和各项备选流生成 场景,填入《场景表》(excel中)
步骤3:根据场景,设计测试用例测试用例与场景之间不一定是1:1的关系,有可能:一条用例测试多个场景,一个场景使用多条用例测试
步骤1、熟悉需求,整理业务逻辑。
额外规则:电脑如果是黑棋,不允许下出禁手,如果下出禁手就是缺陷
1、玩家先(玩家是黑棋)
玩家遇到禁手(躲开、没躲开)
2、电脑先(电脑是黑棋)
电脑遇到禁手,必须躲开,如果下出禁手就是bug
步骤3、游戏测试中,有些场景可以不用写测试用例,执行场景,留下证迹(图片或视频)可以结合文字记录说明
留有证挤(截图):
截图的技巧:1、如果弹出提示,需要调整位置,尽量不要遮挡有效信息
2、尽量截取整个游戏界面,不要只截取局部,将所有有效部分都截取到。
案例3:美萍酒店管理系统-系统设置-房间设置中的删除房间类型功能模块
分析:删除房间类型的因素有两个:
房间类型中如果房间有人住,那么不能删除该房间类型
房间类型中如果所有房间没有人住,那么能删除该房间类型
如果房间类型分配有服务生不能删除
总结:综合房态和服务生两个因素:
作业:测试删除房间功能(场景法)
需求:有人住的房间不能删,没人住的房间可以删。