功能测试用例简述2011年9月Herecomesyourfooter带着问题出发1、什么是测试用例?2、为什么要编写测试用例?3、依据什么来编写测试用例?4、如何设计测试用例?Page2Herecomesyourfooter1.什么是测试用例定义:在测试之执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果等。良好测试用例的特点:最有可能找出软件中的错误可以清楚的展示出软件发生的错误是类似测试用例中最佳的选择有效的又不过于复杂Page3Herecomesyourfooter2.为什么要编写测试用例1、指导测试实施2、规划测试数据3、度量考核指标4、持续改进质量Page4Herecomesyourfooter3.依据什么来编写测试用例项目开发中主要使用的文档包括:《需求规格说明书》、《概要设计》、《详细设计》……《需求规格说明书》都包括哪些内容呢?用户的原始需求、输入内容、输入形式(包括一些简要的程序界面)输出内容、输出形式(包括一些简要的程序界面)数据源、操作流程、流程图测试工作应该尽早的进入,甚至是在需求阶段既参与进来。Page5Herecomesyourfooter3.1.需求样例——角色管理描述需求描述角色是指在一个组织或任务中所处的工作或位置,它代表了一种资格、权利和责任。角色管理的职责是划分系统管理中的权限,将不同工种或者按照部门等方式进行权限的分类。角色是权限集合。由于系统中只有角色直接与权限相关联,给角色分配权限后再给用户组分配角色。角色管理是用户组管理和用户管理的基础,创建用户、用户组、角色的顺序是先创建角色然后创建用户组再创建用户。为了便于区分和管理将角色分为系统角色和外网角色两种类别。角色管理模块包括增加角色、修改角色、删除角色、查看角色、搜索角色、分配权限6个功能。操作流程增加角色:用户登录系统后台进入角色管理模块增加角色页面,录入“角色名称”,“角色类型”和“角色描述”然后“提交”Page6Herecomesyourfooter3.2.需求样例——角色管理总流程图Page7用户登录用户登录成功开始搜索角色分配权限查看角色删除角色增加角色修改角色失败Herecomesyourfooter3.3.需求样例——增加角色流程图Page8用户登录用户登录是否有增加权限否提示没有权限增加角色名称是否存在是否增加成功提示名称已经存在开始是失败Herecomesyourfooter3.4.找出需求点角色是权限的集合只有角色直接与权限相关联业务流程:先创建角色然后创建用户组再创建用户细分为系统角色和外网角色包括增加、修改、删除、查看、搜索、分配权限6个功能输入项包括:角色名称,角色类型、角色描述进行角色管理前系统要进行权限判断角色名称不允许重复Page9Herecomesyourfooter4.如何设计测试用例1.简要说明2.模板样表3.用例设计原则、繁简策略4.规划不同的测试用例库5.界面测试6.设计用例方法Page10Herecomesyourfooter4.1.简要说明制作及管理工具Word、Excel、TD、QC…主要的组成元素用例编号、重要程度、优先级别、测试目的、预置条件、输入数据、操作步骤、预期输出…其他元素项目名称、编写人员、编写日期、程序版本、软件环境、硬件环境、网络环境...设计测试用例的常见方法有:等价类划分、边界值、因果图、错误推测...Page11Herecomesyourfooter4.2.模板样表1Page12用例编号重要程度优先级别测试目的预置条件输入数据操作步骤预期输出用例编号:测试用例的唯一标识。简明,具有一定功能识别作用如:KFC-MD-001面点-油条KFC-MD-002面点-面包KFC-YL-001饮料-雪碧KFC-YL-002饮料-橙汁重要程度/优先级别:可以分为高、中、低3个基本档,也可以再细分在不同的测试阶段,组合不同级别的用例完成一次测试工作预置条件:要完成此用例的测试目的,需要系统处于何种的状态之下。Herecomesyourfooter4.2.模板样表2Page13用例编号FEXCH_0100重要程度高优先级别高测试目的新增用户测试预置条件存在用户组:系统管理存在分支机构:北京中心使用系统管理员登录系统,进入用户管理页面输入数据用户名:admin密码:abcd1234确认密码:abcd1234用户组:系统管理所属分支机构:北京中心联系人:李四性别:男联系电话:单位邮编:155896电子邮箱:kkkai@163.com单位地址:北京市海淀区裕民路78号备注:无操作步骤1、点击“增加”按钮,弹出增加用户页面;2、按照以上输入数据内容输入;3、点击“确认”按钮。预期输出1、系统提示保存成功;2、用户列表首行中显示新增的用户信息;3、用户列表中的统计信息更新显示,用户数加1。Herecomesyourfooter4.3.用例的设计原则基本原则:用最少的用例去发现更多的问题具体问题具体分析测试的程序属于产品还是属于项目统筹项目进度、测试总体时间要求、客户要求的细致度、客户情况(人数、操作习惯、使用频率)对软件运行速度的期望例如:系统管理,客户的使用频率较小,而且操作相应比较规范,不用接触系统外部数据,因此测试用例可以着重于常规性的测试,没必要非弄个“暴力”输入的测试。例如:数据管理,客户提供的数据很可能不规范、不完整,这就要求系统对数据的判断和处理要考虑周全,有完善的容错机制。因此此模块的测试用例就要尽可能的细致详尽。Page14Herecomesyourfooter4.4.规划出不同的用例库通用测试用例库包括对于大多数页面和操作都使用相同或者相似的测试用例如界面布局、数据展示、操作提示…标准测用例试库可以保障系统进行常规操作的测试用例如增、删、改、查的基本操作,最常用的业务流程其他测试用例库曾经发现过问题的测试用例库边界值测试用例库错误猜测测试用例库异常测试用例库Page15Herecomesyourfooter4.5.界面测试——上海地铁1号线和2号线的差距对德国人最深的印象:“德国人的严谨,德国人对任何工作细节的关注。”三级台阶的作用阻挡雨水倒灌,减轻地铁的防洪压力对出口转弯的作用没有理解省下了多少电,节约了多少运营成本一条装饰线让顾客更安全靠近站台约50厘米铺上金属装饰舒适的站台宽度、站台门……中国人决不缺乏聪明才智,缺的就是对“精细”的执着Page16Herecomesyourfooter4.5.1.界面测试中的一些测试点页面布局:整体色彩搭配要融为一体,与环境风格一致窗体控件布局和间距要一致所有窗口最大化、最小化风格要一致菜单层次太多时,应给出返回主窗口、主分支的快捷链接页面字体使用一致页面文字描述清晰准确,无错字和语法错误按钮风格相同,大小相似,标题字体保持一致,在整个系统中的显示位置要统一基本控制:各复选框和选项框按选择几率的高低而先后排列下拉选择列表中各项按照一定顺序进行排序打开新增(修改)页面时,光标初始定位在第一个待输入的文本区因输入不正确提示用户重新输入时,光标默认焦点在出错的输入区若必输项未填写完毕就提交,应给出说明信息并能自动获得焦点Tab键的顺序与控件排列顺序要一致,从上到下,从左到右的方式排序数据显示的规范性:确保数据精度显示的统一,如单价0元,应显示为0.00元表格中货币类型使用右对齐确保时间及日期显示格式的统一确保相同含义属性/字段名的统一Page17Herecomesyourfooter4.5.2.页面元素排列测试1Page18Herecomesyourfooter4.5.2.页面元素排列测试2Page19Herecomesyourfooter4.5.3.河南安阳物流信息工程1Page20Herecomesyourfooter4.5.3.河南安阳物流信息工程2Page211、标签未对齐;2、错字;3、验证码过于简单;4、未使用敬称;5、缺少标点符号;6、语意表达不清;Herecomesyourfooter4.6.用例设计方法等价类划分法有效等价类和无效等价类边界值分析法作为对等价类划分法的补充,是等价类的边界错误推测法基于经验和直觉推测程序中所有可能存在的各种错误其他分析方法因果图法、判定表驱动分析法Page22Herecomesyourfooter4.6.1.等价类划分法把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例等价类可以划分为有效等价类和无效等价类有效等价类:对于程序的规格说明来说由是合理的、有意义的输入数据构成的集合无效等价类:无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。划分标准划分充分、避免冗余、划分为互不相交的多组子集Page23Herecomesyourfooter4.6.2.边界值分析法边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误Page24如有需求:1到99之间的任意数字都是有效输入输入事件有效等价类有效边界值无效等价类无效边界值输入一个数1到99之间的数1、990099100负数-1字母及其他非数字字符A、z、/、:*根据ASCII码表确定字符边界:0(48)、9(57)、/(47)、:(58)Herecomesyourfooter4.6.3.错误推测法定义基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。基本思想列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。Page25Herecomesyourfooter4.6.3.错误推测法样例是否可以删除用户组,那使用这个用户组的用户登录后会怎样?是否可以删除用户,那在该用户的历史操作日志中用户名怎么显示?没有选择任何权限的角色,允许赋给用户组及用户么?用户拥有的多个角色中出现了重叠的权限会发生什么情况?Page26Herecomesyourfooter4.6.4.因果图法——简介定义是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。产生背景等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。Page27Herecomesyourfooter4.6.4.因果图法——输入/输出关系条件Ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部①恒等:C1和e1永远相等。。②非:C1和e1永远相反。③或:只要C1、C2、C3中有一个为1,则e1为1。④与:只要C1、C2、C3中有一个为0,则e1为0。Page28Herecomesyourfooter4.6.4.因果图法——输入关系条件①E约束(异):a和b最多有1个可以为真②I约束(或):a、b和C至少有1个为真③O约束(唯一):a和b必须有1个,且仅有1个为真④R约束(要求):a是真时,b必须是真Page29Herecomesyourfooter4.6.4.因果图法——输出关系条件输出条件的约束只有M约束(强制)——若结果a是真,则结果b强制为假Page30Herecomesyourfooter4.6.4.因果图法——实例命题命题第一列字符必须是A或B,第二列字符必须是一个数字,