前言:此处整理的测试类型可能不包含常见的功能测试、性能测试、安全测试、回归测试(看名字就能理解包含的测试点)
1.UI测试
测试用户界面风格是否满足客户要求、文字是否正确、页面美工是否好看、文字图片组合是否完美、背景是否美观、操作是否友好;其中还包含用户友好性、人性化、易操作性测试;
2.基准测试
基准测试与已知现有的系统进行比较,主要检验是否与类似的产品具有竞争性的一种测试。或者与市场上常见或者受欢迎软件进行比对测试,考虑优势以及劣势之处,以便改进自己的系统。
3.竞争测试
软件竞争使用各种资源(数据纪录,内存等),看他与其他相关系统对资源的争夺能力。比如:一台机器上即安装您的财务系统,又安装用友财务系统。当CPU占有率下降后,看看是否能够强过用友财务系统,而是自己的系统能够正常运行?
4.安全性和访问控制测试
安全性和访问控制测试侧重于安全性的两个关键方面: 应用程序级别的安全性(包括对数据或业务功能的访问)、系统级别的安全性(包括对系统的登录或远程访问)。
1)应用程序级别的安全性
可确保:在预期的安全性情况下,主角只能访问特定的功能或用例,或者只能访问有限的数据。例如,可能会允许所有人输入数据,创建新账户,但只有管理员才能删除这些数据或账户。如果具有数据级别的安全性,测试就可确保“用户类型一”能够看到所有客户消息(包括财务数据),而“用户二”只能看见同一客户的统计数据。 比如B/S系统,不通过登入页面,直接输入URL,看其是否能够进入系统?
2)系统级别的安全性
可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。 比如输入管理员账户,检查其密码是否容易猜取,或者可以从数据库中获得?
5.故障转移和恢复测试
故障转移和恢复测试指当主机软硬件发生灾难时候,备份机器是否能够正常启动,使系统是否可以正常运行,这对于电信,银行等领域的软件是十分重要的。 故障转移和恢复测试可确保测试对象能成功完成故障转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件或网络故障中恢复。
故障转移测试可确保:对于必须持续运行的系统,一旦发生故障,备用系统就将不失时机地“顶替”发生故障的系统,以避免丢失任何数据或事务。
恢复测试是一种对抗性的测试过程。在这种测试中,将把应用程序或系统置于极端的条件下(或者是模拟的极端条件下),以产生故障(例如设备输入/输出 (I/O) 故障或无效的数据库指针和关健字)。然后调用恢复进程并监测和检查应用程序和系统,核实应用程序或系统和数据已得到了正确的恢复。一定要注意主备定时备份 比如电信系统,突然主机程序发生死机,备份机器是否能够启动,使系统能够正常运行,从而不影响用户打电话?
6.配置测试 又叫兼容性测试
配置测试核实测试对象在不同的软件和硬件配置中的运行情况。在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。(如浏览器版本,操作系统版本等)
一、下面列出主要配置测试(PC):
1)浏览器兼容性: 测试软件在不同产商的浏览器下是否能够正确显示与运行; 比如测试IE,Natscape浏览器下是否可以运行这套软件?
2)操作系统兼容性 :测试软件在不同操作系统下是否能够正确显示与运行; 比如测试WINDOWS98,WINDOWS 2000,WINDOWS XP,LINU, UNIX下是否可以运行这套软件?
3)硬件兼容性: 测试与硬件密切相关的软件产品与其他硬件产品的兼容性,比如该软件是少在并口设备中的,测试同时使用其他并口设备,系统是否可以正确使用. 比如在INTER,舒龙CPU芯片下系统是否能够正常运行? 这样的测试必须建立测试实验室,在各种环境下进行测试。
4)分辨率兼容性
同一个页面在不同分辨率下,显示的样式可能会不一样,所以需要进行分辨率的兼容性测试;
可以通过对浏览器的缩放的比例进行不同分辨率的测试;
(1)常见台式机分辨率:
17寸液晶或crt显示器1024×768
19寸液晶显示器(普屏) 1280×1024
19寸液晶显示器(宽屏) 1440×900
22寸液晶显示器宽屏16:10和宽屏16:9的比例,最佳分辨率分分别是16:10的分辨率是1680*1050,16:9的最佳分辨率是1920*1080。
(2)笔记本电脑分辨率
屏幕尺寸 比例 分辨率
12’’ 4:3 1024X768
4:3 1400X1050
16:10 1280X800
16:9 1366X768
13’’ 16:9 1366X768
16:10 1440X900
16:9 1600X900
14’’ 4:3 1024X768
4:3 1400X1050
16:10 1280X800
16:10 1440X900
16:9 1366X768
15’’ 4:3 1024X768
4:3 1400X1050
4:3 1600:1200
16:10 1280X800
16:10 1680X1050
16:10 1920X1200
16:9 1366X768
16:9 1600X9000
5)网速测试
待测项目在不同的网络环境中能正常的运行测试,可以通过Fiddler、360插件等软件进行设置限速测试。
二、移动端测试指标
补充指标:流量测试
三、测试点
1).测试软件是否能在不同的操作系统平台上兼容,或测试软件是否能在同一操作平台的不同版本上兼容
2).软件本身能否向前或向后兼容
主要指的是能否兼容不同版本的数据
3).测试软件能否与其他相关的软件兼容
例如杀毒软件,文字处理软件,办公软件之间的兼容性
4).被测软件与标准外设的兼容
例如打印机
5).程序与运行支撑平台版本之间的兼容性
例如是否可以兼容不同的JDK版本,或不同的framework版本等
6).程序与应用服务器之间的兼容性
是否支持不同的应用服务器产品,或支持同一应用服务器的不同版本
7).各个浏览器之间的兼容性
主要是指的B/S架构中,与浏览器各种内核之间的兼容性问题
8).各种屏幕分辨率之间的兼容性
9).不同的网络环境中的兼容性
10).数据库之间的兼容性
不同的数据库之间的数据迁移问题
11).不同版本程序数据文件之间的兼容性
同一数据库在不同版本的软件上是否能够迁移
12).整机的兼容性
例如在本机能安装使用,在其他配置机器能否正常使用
13).其他软件的数据兼容性
即别的软件中的数据文件能否经进行处理
14).低版本软件生成的文件,高版本软件是否能够打开
15).如果是C/S系统,能否支持低版本的客户端程序访问高版本的服务器端或者是否支持高版本的服务器端程序访问低版本的服务器端
16).如果是C/S系统,是否允许不同版本的客户端与同一个服务器进行通信
17).如果是C/S系统,是否允许不同版本的客户端之间进行通信
18).当前软件系统生成的文件或数据是否可以在其他软件中被打开
19).是否支持同时安装或运行两个不同版本的软件
20).不同版本的软件系统是否能够支持以往的数字证书或硬件加密狗等安全校验文件
21).新版本的系统是否和老的应用插件相兼容
7.安装测试
安装测试有两个目的。
第一个目的是确保该软件在正常情况和异常情况的不同条件下:例如,进行首次安装、升级、完整的或自定义的安装_都能进行安装。异常情况包括磁盘空间不足、缺少目录创建权限等。
第二个目的是核实软件在安装后可立即正常运行。这通常是指运行大量为功能测试制定的测试。
安装测试包括测试安装代码以及安装手册。安装手册提供如何进行安装,安装代码提供安装一些程序能够运行的基础数据。
8.多语种测试 又称本地化测试
是指为各个地方开发产品的测试,如英文版,中文版等等,包括程序是否能够正常运行,界面是否符合当地习俗,快捷键是否正常起作用等等,特别测试在A语言环境下运行B语言软件(比如在英文win98下试图运行中文版的程序),出现现象是否正常。
本地化测试还要考虑:
当语言从A翻译到B,字符长度变化是否影响页面效果。比如中文软件中有个按键叫“看广告”,翻译到英文版本中为 “View advertisement”可能影响页面的美观程度
要考虑同一单词在各个国家的不同意思,比如football在英文中为足球,而美国人使用中可能理解为美式橄榄球。
要考虑各个国家的民族习惯,比如龙个美国中被理解邪恶的象征,但翻译到中国,中国人认为为吉祥的象征。
9.文字测试
文字测试测试软件中是否拼写正确,是否易懂,不存在二义性,没有语法错误;文字与内容是否有出入等等,包括图片文字。 比如:“比如,请输入正确的证件号码!”何谓正确的证件号码,证件可以为身份证,驾驶证,也可为军官证,如果改为“请输入正确的身份证号码!”用户就比较容易理解了。
10.分辨率测试
测试在不同分辨率下,界面的美观程度,分为800*600,1024*768,1152*864,1280*768,1280*1024,1200*1600大小字体下测试。一个好的软件要有一个极佳的分辨率,而在其他分辨率下也都能可以运行
11.发布测试
主要在产品发布前对一些附带产品,比如说明书,广告稿等进行测试
说明书测试: 主要为语言检查(检查说明书语言是否正确,用词是否易于理解)、功能检查(功能是否描述完全,或者描述了并没有的功能等)、图片检查(检查图片是否正确 )
宣传材料测试: 主要测试产品中的附带的宣传材料中的语言,描述功能,图片。
帮助文件测试:帮助文件是否正确、易懂、是否人性化。最好能够提供检索功能。
广告用语: 产品出公司前的广告材料文字、功能、图片、人性化的检查 。
12.文档审核测试
文档审核测试目前越来越引起人们的重视,软件质量不是检查出来的,而是融进软件开发中来。前置软件测试发越来越受到重视。请看一个资料: 文档审核测试主要包括需求文档测试,设计文档测试,为前置软件测试测试中的一部分。
需求文档测试: 主要测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现;
设计文档测试: 测试设计是否符合全部需求以及设计是否合理。
13.易用性测试
1)定义
易用性测试是指用户使用软件时是否感觉方便,比如是否最多点击鼠标三次就可以达到用户的目的。易用性和可用性存在一定的区别,可用性是指是否可以使用,而易用性是指是否方便使用。
2)内容
包括如下方面的测试: 易理解性、易学习性、易操作性、吸引性、依从性。易用性可有以下方面:导航,图形,内容,整体界面
3)遵循原则
①完成相同或相近功能的按钮用Frame 框起来,常用按钮要支持快捷方式。
②完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。
③功能将界面划分局域块,用Frame 框起来,并要有功能说明或标题。
④面要支持键盘自动浏览按钮功能,即按Tab 键的自动切换功能。
⑤面上首先应输入的信息和重要信息的控件在Tab 顺序中应当靠前,位置也应放在窗口上较醒目的位置。
⑥界面上的控件数最好不要超过10 个,多于10 个时可以考虑使用分页界面显示。
⑦分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl+Tab
⑧默认按钮要支持Enter 操作,即按Enter 后自动执行默认按钮对应操作。
⑨可输入控件检测到非法输入后应给出说明信息并能自动获得焦点。
⑩Tab 键的顺序与控件排列顺序要一直,目前流行总体从上到下,同时行间从左到右的方式。
⑪复选框和选项框按选择几率的高底而先后排列。
⑫复选框和选项框要有默认选项,并支持Tab 选择。
⑬选项数相同时多用选项框而不用下拉列表框。
⑭界面空间较小时使用下拉框而不用选项框。
⑮选项数较少时使用选项框,相反使用下拉列表框。
⑯专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词眼。
⑰对于界面输入重复性高的情况,该界面应全面支持键盘操作,即在不使用鼠标的情况下采用键盘进行操作。
14.内存泄漏测试
动态存储分配函数动态开辟空间,在使用完毕后未释放,结果导致一直占据该内存单元(该内存空间使用完毕之后未释放)。
原因:
① 分配完内存之后忘了回收;
② 程序Code有问题,造成没有办法回收;
③某些API函数操作不正确,造成内存泄漏。
15.可用性测试
1)定义
通过观察用户使用产品完成典型任务,发现产品中存在的效率与满意度相关问题的方法。
2)测试类型
探索性可用性测试:在发布新产品之前,探索性可用性测试可以确定新产品应包含哪些内容和功能,以满足用户的需求。在产品开发早期,探索性可用性测试可以评估初步设计或原型的有效性和可用性。
评估性可用性测试:在发布前或发布后对最新版本的测试,通过评估性可用性测试向用户介绍新设计,以确保其直观使用并提供良好的用户体验。评估性可用性测试的目的是——确保在产品推出之前突出并修复任何潜在问题。
比较性可用性测试:比较两种或更多种产品或设计的可用性,并区分各自的优缺点,以确定哪种设计能提供最佳的用户操作体验。
3)测试方法
一、分析法
让产品可用性工程师及用户界面设计师等专家,基于自身专业知识和经验进行评价的一种方法。
特点:主观、评价结果是假设的、时间少、费用少、评价范围广、设计初期也可以评价。
分析法常用于可用性检查阶段,常见的分析法包括但不限于:
专家评审:评审由精通设计可用性概念的专家进行,基于自身专业知识与经验对产品进行审查。
启发式评估:让可用性专家判断每个页面及元素是否遵循已确立的可用性原则。
认知走查:设计师模拟用户在使用产品过程中的每个操作步骤所遇到的问题,检查用户的任务目标和心理认知是否可以顺利执行下一步操作?
针对每步操作提出四个问题:
①用户是否知道自己要做什么?
②用户在探索用户界面的过程中是否注意到操作方法?
③用户是否把自己的目的和正确的操作方法关联到一起?
④用户能否从系统的反馈中判断出任务是否在顺利进行?
通过回答每个操作步骤的问题,就能发现可用性问题。
多元走查:认知走查的变体,使用小组会议,其中用户、开发人员和人为因素让人们在场景中逐步讨论操作流程中的每个交互页面及元素。
一致性检查:让代表多个其他项目的设计人员检查界面,以查看它是否以与他们自己的设计相同的方式进行操作。
二、实验法
收集真实的用户使用数据,比较典型的是用户测试法,问卷调查等方法也属于此类。
特点:客观、评价结果是事实、时间长、花费大、评价范围较窄、为了做评价,必须准备原型。
实验法常用于可用性测试阶段(用户测试阶段),常见的实验法包括但不限于:
卡片分类:通常用于测试分类或导航结构,让用户将一组写有信息的卡片分组,并为其分配名称或标签。卡片分类有助于了解用户如何看待内容以及他们如何组织信息,从而决定在每个页面放置什么,对于页面或功能分类很有帮助。
面对面测试:由一个或多个观察者在诸如会议室的固定环境中运行,或者与小团体或个人进行。要求用户完成一组任务,观察者可以随时与他们交互以提出问题或进一步探究。
远程测试:在远程测试中,用户在自己的环境中执行一系列任务,通过软件记录完成任务的过程,软件自动记录用户的点击位置和交互过程,并记录他们在使用网站或应用程序时发生的关键事件以及用户提交的反馈。这种类型的测试可以由主持人(使用网络研讨会或电话会议技术)完成,也可以作为自我测试。
A / B测试:为网站或应用程序的界面或流程制作两个(A/B)或多个(A/B/n)版本,在同一时间维度,分别让组成成分相同(相似)的访客群组随机的访问这些版本,收集各群组的用户体验数据和业务数据,最后分析评估出最好版本正式采用。
走廊测试:使用随机的人来测试网站,而不是那些在测试网站方面训练有素和经验丰富的人。这种方法对于在开发过程中首次测试新网站特别有效。
纸张原型测试:创建一个粗糙的,甚至是手绘的界面图形以用作设计的原型。让用户通过原型来执行任务,该方法能以极低的成本在编码完成之前对设计进行测试。
问卷调查:问卷的优势在于可以收集结构化的数据,且价格低廉,不需要检测设备,结果反映了用户的意见。
16.功能测试以及测试点
测试方法
1.划分等价类
把所有可能的数据输入划分为若干部分,然后从每一部分选择少数具有代表性的数据作为测试用例。
(1)有效等价类
合理,有意义的输入数据构成的集合,检验程序是否实现规格说明预先规定的功能和性能。
(2)无效等价类
不合理,无意义的输入数据构成的集合,检验程序的容错能力。
2.边界值分析
大量的错误发生在输入或输出的边界上,而不是某个范围的内部。
3.逻辑覆盖
(1)语句覆盖
设计若干个测试用例,运行所测程序,使得每一可执行语句至少执行一次,语句覆盖是最弱的逻辑覆盖在准则。
(2)判定覆盖
设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假值都能满足。
If。。。else 条件覆盖
设计若干测试用例,运行被测程序,要使判断中的每个条件的可能取值至少满足一次。
If?.
For(?) else
路径覆盖
覆盖所有可能的路径。
1.判定-条件覆盖
使得每个条件的所有可能至少出现一次,并且至少每个判断本身的判断结果出现一次。
功能测试的常用方法
(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)回车键检查,在输入结束后直接按回车键,看系统处理如何,会否报错。
2.界面测试的常用方法
界面测试要遵循的规则:
一.易用性,按钮名称通俗易懂,望文知意。
(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)有些读入数据库的字段不支持中间有空格,但用户切实需要输入中间空格,这时要
在程序中加以处理。