从编程思想谈测试方法有哪些?
本文脉络如下:
编程思想
测试方法有哪几种呢?
功能测试的常用方法
界面测试的常用方法
读完大概需要20分钟,如果觉得文章不错,欢迎点赞或者评论
先讲一下编程思想
IPO
input 输入
process 过程
output 输出
其实就我看来,测试无非就是围绕着这三大核心
【输入】是否合法,有无校验、约束,非法值如何处理……
【输出】结果是否正确、样式、外观……
【过程】分支、算法、遗漏、性能等等
下面来具体看
1,划分等价类
把所有可能的数据输入划分为若干部分,然后从每一部分选择少数具有代表性的数据作为测试用例。
(1)有效等价类(正例)
【合理】、有意义的输入数据构成的集合,检验程序是否实现规格说明预先规定的功能和性能。
(2)无效等价类
【不合理】、无意义的输入数据构成的集合,检验程序的容错能力。
2,边界值分析
这个值得单拿出来细讲。
大量的错误发生在输入或输出的边界上,而不是某个范围的内部。
3,逻辑覆盖
包含大概五种情况
语句覆盖
设计若干个测试用例,运行所测程序,使得每一可执行语句至少执行一次,语句覆盖是最弱的逻辑覆盖在准则。
判定覆盖
设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假值都能满足。
If
else
条件覆盖
设计若干测试用例,运行被测程序,要使判断中的每个条件的可能取值至少满足一次。 If„. For(„) else
路径覆盖
覆盖所有可能的路径。
判定-条件覆盖
使得每个条件的所有可能至少出现一次,并且至少每个判断本身的判断结果出现一次。
功能测试的常用方法
(1)页面链接检查,每一个链接是否有对应的界面
(2)相关性检查,删除/增加一项会不会对其他项产生影响,如果产生影响,是否正确
(3)检查按钮功能是否正确
(4)字符串长度检查,输入超出需求所说明的字符串长度的内容,看系统是否检查,会不会出错。
(5)字符类型检查
(6)标点符号检查
(7)中文字符处理,乱码或出错
(8)检查带出信息的完整性,在查看信息和update信息时,查看所填写的信息是不是全部带出,带出信息和添加的是否一致。
(9)信息重复,在一些需要命名,且名字唯一的信息输入重复的名字或ID,看系统有没有处理,重名包括是否区分大小写,以及在输入内容的前后输入空格,看系统是否处理。
(10)检查删除功能,在一些可删除多个的地方,不选任何内容按删除按钮看系统如何处理
(11)选择一个或多个时又如何处理
(12)检查添加修改是否一致,检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型.
(13)检查修改重名,修改时把不能重名的项改为已存在的内容,看会否处理,报错,同时看会否报和自己重名的错。
(14)重复提交表单,一条已成功提交的记录,back后在提交,看系统是否进行处理。
(15)检查多次处理back键的情况
(16)Search检查:在有search功能的地方输入系统存在和不存在的内容,看结果是否正确;
(17)如果可以输入多个search条件,同时添加合理和不合理的条件,看系统是否处理正确。
(18)输入信息的位置,输入信息时,光标的位置
(19)上传和下载文件的检查,上传下载的功能是否实现,上传文件是否能打开,上传文件的格式规定,系统是否有解释信息。
(20)必填项检查,必填项是否有提示信息
(21)快捷键检查,是否支持常用快捷键检查
(22)回车键检查,在输入结束后直接按回车键,看系统处理如何,会否报错。
界面测试的常用方法
界面测试要遵循的规则:
一.易用性
按钮名称通俗易懂,望文知意。
其实这也是需求人员应该遵循的【 设计规范 】。
(1)完成相同或相近功能的按钮,要用Frame框起来,常用按钮要有快捷键
(2)完成同一功能或任务的元素要集中放置,减少鼠标的移动距离,比如,【首页】【下一页】
(3)按功能将界面划分区域块,并要有功能说明和标题
(4)界面要支持键盘自动浏览按钮功能,Tab,回车键等
(5)界面上首先要输入的和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。
(6)同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。
(7)分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl+Tab
(8)默认按钮要支持Enter及选操作,即按Enter后自动执行默认按钮对应操作。
(9)可写控件检测到非法输入后应给出说明并能自动获得焦点
(10)Tab键的顺序与控件排列顺序要一直,目前流行总体从上到下,同时行间从左到右的方式。
(11)复选框和选项框按选择几率的高低而先后排列。
(12)复选框和选项框要有默认选项,并支持Tab选择。
(13)选项数相同时多用选项框而不用下拉列表框。
(14)界面空间较小时使用下拉框而不用选项框。
(15)选项数较少时使用选项框,相反使用下拉列表框。
(16)专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词眼。
二.规范性
通常界面设计都按Windows界面的规范来设计
(1)常用菜单要有命令快捷方式
(2)完成相同或相近功能的菜单用横线隔开放在同一位置。
(3)菜单前的图标能直观的代表要完成的操作。
(4)菜单深度一般要求最多控制在三层以内
(5)工具栏要求可以根据用户的要求自己选择定制。
(6)相同或相近功能的工具栏放在一起。
(7)工具栏中的每一个按钮要有及时提示信息。
(8)一条工具栏的长度最长不能超出屏幕宽度。
(9)工具栏的图标能直观的代表要完成的操作。
(10)系统常用的工具栏设置默认放置位置
(11)工具栏太多时可以考虑使用工具箱。
(12)工具箱要具有可增减性,由用户自己根据需求定制。
(13)工具箱的默认总宽度不要超过屏幕宽度的1/5。
(14)状态条要能显示用户切实需要的信息
常用的有:目前的操作、系统状态、用户位置、用户信息、提示信息、错误信息等,如果某一操作需要的时间较长,还应该显示进度条和进程提示。
(15)滚动条的长度要根据显示信息的长度或宽度能及时变换,以利于用户了解显示信息的位置和百分比。
(16)状态条的高度以放置五好字为宜,滚动条的宽度比状态条的略窄。
(17)菜单和工具条要有清楚的界限;菜单要求凸出显示,这样在移走工具条时仍有立体感
(18)菜单和状态条中通常使用5号字体。工具条一般比菜单要宽,但不要宽的太多,否则看起来很不协调。
(19)右键快捷菜单采用与菜单相同的准则。
三.独特性
(1)安装界面上应有单位介绍或产品介绍,并有自己的图标。
(2)主界面,最好是大多数界面上要有公司图标。
(3)登录界面上要有本产品的标志,同时包含公司图标。
(4)帮助菜单的“关于”中应有版权和产品信息
(5)公司的系列产品要保持一直的界面风格,如背景色、字体、菜单排列方式、图标、安装过程、按钮用语等应该大体一致。
四.安全性
(1)最重要的是排除可能会使应用非正常中止的错误。
(2)应当注意尽可能避免用户无意录入无效的数据
(3)采用相关控件限制用户输入值的种类。
(4)当用户作出选择的可能性只有两个时,可以采用单选框。
(5)当选择的可能再多一些时,可以采用复选框,每一种选择都是有效的,用户不可能输入任何一种无效的选择。
(6)当选项特别多时,可以采用列表框,下拉式列表框。
(7)在一个应用系统中,开发者应当避免用户作出未经授权或没有意义的操作
(8)对可能引起致命错误或系统出错的输入字符或动作要加限制或屏蔽。
(9)对可能发生严重后果的操作要有补救措施。通过补救措施用户可以回到原来的正确状态。
(10)对一些特殊符号的输入、与系统使用的符号相冲突的字符等进行判断并阻止用户输入该字符。
(11)对错误操作最好支持可逆性处理,如取消系列操作。
(12)在输入有效性字符之前应该阻止用户进行只有输入之后才可进行的操作。
(13)对可能造成等待时间较长的操作应该提供取消功能。
(14)特殊字符常有;;’”><,`‘:“[”{、\|}]+=)-(_*&&^%$#@!,.。?/还有空格。
(15)与系统采用的保留字符冲突的要加以限制。
(16)在读入用户所输入的信息时,根据需要选择是否去掉前后空格。
(17)有些读入数据库的字段不支持中间有空格,但用户切实需要输入中间空格,这时要在程序中加以处理。