软件测试通用方案

发布时间 2024-01-09 08:56:46作者: zhangshunq

软件测试通用方案

 

1)功能测试

功能项测试:分析最主要的业务,根据需求规格说明,比较 是否实现全部功能且与需求一致。体现为测试项的充分性覆盖到

需求中的每一个要求。

业务流测试:不直接体现在需求文档中,而是需要根据测试 人员经验进行分析,梳理的业务交互,例如不同用户之间的流程

转换,发起流程,处理流程等。

数据库功能测试:web 是否实现对数据库的增、删、改、查 功能。通过进行无效数据值删除、修正等操作测试系统是否支持 处理无效值。通过填充缺失值或删除缺失值对应数据条目等操作 测试系统是否支持处理缺失值。通过合并重复数据或者删除重复 数据等操作测试系统是否支持处理重复数据。测试系统是否支持

逻辑矛盾、关联性验证、不合理数据的清除。

2)输入框类型测试:

1、字符型输入框:

(1)字符型输入框:中文,英文全角、英文半角、数字、空 或者空格或者回车、特殊字符(~!@#¥%……&*?[]{} ”(特别 要注意单引号和&符号))。禁止直接输入特殊字符时,使用 ”复

制+粘贴 ”功能尝试输入。

长度检查:最小长度、最大长度、最小长度-1、最大


度+1、输入超长字符比如把整个文章拷贝过去。

(3)空格检查:输入的字符间有空格、字符前有空格、字符

后有空格、字符前后有空格

(4)多行文本框输入:允许回车换行、保存后再显示能够保 存输入的格式、仅输入回车换行,检查能否正确保存(若能,检

查保存结果,若不能,查看是否有正常提示)

(5)安全性检查:输入特殊字符串<title></title>、输入 脚   本   函   数   (<script>alert("abc")</script>)   、

doucment.write("abc")、<b>hello</b>、sql 注入)

2、数值型输入框:

(1)边界值:最大值、最小值、最大值+1、最小值-1

(2)位数:最小位数、最大位数、最小位数-1、最大位数

+1、输入超长值

(3)特殊字符:输入空白(NULL)、空格或

"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误  的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word 中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑ , ㏒,㏑ , ∏ , +,-等

(4)异常值:输入负整数、负小数、分数、输入字母或汉 字、小数(小数前 0 点舍去的情况,多个小数点的情况)、首位

为 0 的数字如 01、02、科学计数法是否支持 1.0E2、全角数字与半角数字、数字与字母混合、16 进制,8 进制数值、货币型输入

(允许小数点后面几位)

(5)安全性检查:不能直接输入就 copy,输入内容如上

3、 日期型输入框:

(1)合法性检查:(输入 0 日、1 日、32 日)、月输入[1、3、 5、7、8、10、12]、 日输入[31]、月输入[4、6、9、11]、 日输  入[30][31]、输入非闰年,月输入[2], 日期输入[28、29]、输入闰年,月输入[2]、日期输入[29、30]、月输入[0、1、12、13]

(2)异常值、特殊字符:输入空白或 NULL、输入~!@#¥%……

&*() {}[]等可能导致系统错误的字符

(3)安全性检查:不能直接输入,就 copy,是否数据检验

出错

4、信息重复:在一些需要命名,且名字应该唯一的信息输入 重复的名字或 ID,看系统有没有处理,会否报错,重名包括是否区 分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。

3)查询测试:

1、查询界面:

(1)查询列表展示字段及字段值

列名有没有与内容对应列名是否描述清晰

列表是否把不必要的列都显示出来

(2)查询结果总计数字及页码

(3)默认排序及按字段排序

(4)前后翻页及首页末页,是否有更新(碰到过好几个页 面翻页功能有问题,数据显示跟第一页有重复),翻页后重新搜索

(5)正确页码跳转

(6)错误页码跳转:提示错误或者显示为空

(7)进行增删改查后返回的页面展示:默认查询页面或当

前查询条件页面

(8)单选、多选、全选按钮点击及取消点击

(9)列表、列宽是否合理

(10)列表数据太宽有没有提供横向滚动(碰到过没有横向

滚动条,导致部分字段看不到)

(11)尝试删除默认值、在其附近的一些值

如果是一个数值字段,试试比默认值大 1 或小 1 的数

如果是一个字符串字段,试试修改默认字符串头部的几个字

符,尾部的几个字符,加上几个字符或删除几个字符,还试一下使用和默认字符串具有相同长度但不同字符的字串等来看看结果。2、查询方式:

(1)优先查询

(2)单独查询

日期:格式错误、超出查询范围、 日期选择限制

文本框

下拉框

选择框(单选、复选):先选中后取消,看系统查询结果是

否正确

(3)组合查询

不同查询条件之间来回选择,是否出现页面错误(单选框和

多选框最容易出错)

测试多个查询条件时,要注意查询条件的组合测试,可能不

同组合的测试会报错

(4)模糊查询(支持)

(5)权限控制:仅查询当前用户数据权限下数据

(6)查询效率:符合正常要求,应有查询加载提示

3、查询条件:

(1)异常查询,如不符合输入规则(各种非法字符、各种 超长字段),或者输入系统中不存在的与之匹配的条件,提示信息

(2)时间控件(格式错误、超出查询范围、 日期选择限制)

(3)设置条件查询出记录后,翻页:记录显示正常,查询

条件未被清空

(4)更改查询条件查询

(5)查询结果为空

(6)设置查询条件,按回车键

(7)查询自动处理输入内容两端的空格;

(8)默认查询条件

(9)重置/清空查询条件(一般默认值不被清空):重置以

后再点击显示为默认查询条件

(10)空条件查询:提示输入查询条件或者显示默认条件的

结果

(11)点击某列进行排序,是否会报错(点击查看每一页的

排序是否正确)

(12)双击或单击某列/行信息,是否会报错

4)删除测

1、提示信息:

(1)不选择任何信息,直接点击删除按钮,是否有提示

(2)删除某条或多条信息时,应该有确认提示

2、数据实现(删除后要检查数据库,删除操作一般要有确

认提示):

(1)是否能连续删除多个产品

(2)当只有一条数据时,是否可以删除成功

(3)删除一条数据后,是否可以添加相同的数据

(4)如系统支持批量删除,注意删除的信息是否正确

(5)如有全选,注意是否把所有的数据删除

(6)删除数据时,要注意相应查询页面的数据是否及时更

(7)如果结果列表中没有记录或没有选择任何一条记录,点击删除按钮系统会报错

(8)可行性:如删除的数据与其他业务数据关联,删除后 对其他功能或数据有影响(如删除部门信息时,部门下有员工,则应该给出提示)

(9)物理删除或者逻辑删除及对查询数据的影响,删除后 相关页面不再显示已删除的数据。一般已有记录要能显示删除的数据

(10)级联删除:相关数据的处理比如删除一个用户,该用户的权限配置也应该被删除存在主外键关联的数据,提示不允许删除

(11)操作后所有绑定此数据源的控件数据更新 (如下就是删除后,Tab 数据没有立即刷新的 bug)

5)添加、修改测试:

1、提示信息:不符合要求的地方是否有错误提示

2、唯一性:字段唯一的,是否可以重复添加,添加后是否 能修改为已存在的字段(字段包括区分大小写以及在输入的内容 前后输入空格,保存后,数据是否真的插入到数据库中,注意保存后数据的正确性)

3、数据正确性:

(1)对编辑页的每个编辑项进行修改,点击保存,是否可以保存成功,检查想关联的数据是否得到更新。

(2)进行必填项检查(即是否给出提示以及提示后是否依然把数据存到数据库中;是否提示后出现页码错乱等)

(3)是否能够连续添加(针对特殊情况)

(4)在编辑的时候,注意编辑项的长度限制,有时在添加 的时候有,在编辑的时候却没有(注意要添加和修改规则是否一致)

(5)对于有图片上传功能的编辑框,若不上传图片,查看 编辑页面时是否显示有默认的图片,若上传图片,查看是否显示为上传图片

(6)修改后增加数据后,特别要注意查询页面的数据是否及时更新,特别是在首页时要注意数据的更新。

(7)提交数据时,连续多次点击,查看系统会不会连续增加几条相同的数据或报错。

(8)若结果列表中没有记录或者没选择某条记录,点击修改按钮,系统会抛异常。

6)上传导入测试:

1、文件类型与大小

(1)文件类型正确、大小合适

(2)文件类型正确,大小不合适

(3)文件类型错误,大小合适

(4)文件类型和大小都合适,上传一个正在使用中的图片

(5)文件类型大小都合适,手动输入存在的图片地址来上传/导入

(6)文件类型和大小都合适,输入不存在的图片地址来上传/导入

(7)文件类型和大小都合适,输入图片名称来上传/导入2、不选择文件直接点击上传/导入,查看是否给出提示

3、连续多次选择不同的文件,查看是否上传最后一次选择的文件

4、批量上传/导入:上传成功,且响应时间合理

5、文件命名规范:文件内容校验或者格式校验不通过的不能上传(长度,特殊字符,数字、HASH 值等)

6、上传/导入相同的文件名,或者文件内容一样命名不一样,是覆盖还是增加数据?

比如有些用户不允许上传相同的图片,即使重命名了也不可以(通过比较图片的 hash 值)

7、上传/导入已被删除的文件先打开上传导入窗口,再删除文件,再返回到上传页面

8、上传/导入成功或失败的提示信息:数据库(包括相关的一些数据写入),页面上,服务器

9、上传/导入后支持预览、下载或者删除

10、上传/导入时间

11、直接拖拽文件上传

12、导入文件的有效性:空文件、大数据、文件格式(xls, xlsx,jpg 等)、字段数量、字段位置变化是否能正确保存无错乱、是否符合要求

13、导入的数据有效性:数据类型、特殊分隔方式字符、数据长度、符合业务逻辑、必填项是否为空等

7)文件导出测试:

1、文件名要有意义

2、默认打开页面数据导出

3、文件格式,考虑与用户使用的系统及 excel 软件是否兼容

4、空文件、正常文件、大数据文件(不支持大数据时,在点导出时就判断并给出提示),空文件一般会导出标题

5、正常导出的数据要与页面上查询的条件一致,尤其注意隐藏字段(如库存报表,普通用户不允许看到库存金额信息,列表页字段已被隐藏,导出 Excel 也应被隐藏)

6、数据类型:比如数字或金额在导出文件里一般也需要是数字,保留小数与页面一致

7、一些合计字段,excel 里面是否含公式

8、导出中文数据不乱码

9、导出时间

10、选中导出:全选、部分选中、翻页选

11、数据量太大时,导出后数据显示是否完整或者导出时系统奔溃

8)性能测试

性能的测试主要重点和难点体现在用户和业务的模型分析 搭建上,设计的模型必须基于现实且合理规划,才能更大可能地找到系统瓶颈,保障交付使用后系统正常运行。

以下对模型的初步设计和规划基于招标文件及测试人员以 往项目经验进行推断,说明性能测试策略制定过程,不作为实际 实施过程中的指导内容,只作参考。具体策略需要研制方、需求方商讨后确定。

a)分钟级性能指标策略

针对数据处理能力中的如下性能指标要求:机位规划≤5min, 装备规划≤5min,人员规划≤5min,计划推演≤8min,质量评定时间≤1min,数据备份恢复时间≤60min。

依据以往项目经验,参与制定任务规划的人员较少,通常为 3~5 左右。而分钟级指标要求显然不是为了查看高并发下,业务 的响应时间。这种时候,需要考虑的是包含任务要素最多、最复杂、耗时最久的最坏情况下,业务完成时间是否满足要求。

b)秒级性能测试指标策略

针对数据处理能力中的如下性能指标要求:响应时间要求; 查询响应时间≤8s,统计汇总时间≤10s,支持并发访问用户数:

用户大于等于 500,并发用户大于等于 50。

以上指标主要考察的是高并发下系统的响应时间是否满足 要求,可指定并发人数(如 50)在一定时间内(如 20 分钟)同 时进行某种业务(如查询)的响应时间是否满足要求(查询响应时间≤8s)。

性能的测试主要测试系统的提供产品服务方式、管理资源的 类型、支持应用用户数量、数据搜索服务响应时间等。支持应用 用户数量、数据搜索服务响应时间等可通过性能测试工具进行测 试。下面以 Loadrunner 为例,说明系统用户数量、响应时间的测试方法。

使用测试工具对软件性能进行测试,通常包含如下步骤:制 定性能测试的计划、开发测试脚本、设计测试场景、执行测试场景、监控测试场景以及分析测试结果。

使用 loadrunner 首先需要录制基本的脚本,可依据被测系 统的架构选择通过何种协议来进行录制。在录制过程中,可通过 在相应的步骤中插入 action、事务、检查点和集合点等,以便 于后续测试场景的监控。完成录制后,可对脚本进行编辑,进行参数化等操作。

设计测试场景过程中,需要确定用户并发量、思考时间、执 行时间等测试执行的参数。随后交由 loadrunner 进行性能测试 的执行过程,在此过程中,需要监控被测系统的各项资源情况,

如 CPU、内存、磁盘、网络等使用量。

测试完成后可由测试工具得出此次性能测试的信息,如吞吐量、响应时间、成功执行的事务数等指标,从而得出被测系统性能的评价。

9)恢复性测试

恢复性测试通过模拟节点的失效、任务的失败等情况,测试 系统的冗余和恢复能力,考察系统有无数据丢失、服务瘫痪等情况。

系统发生的异常是导致系统发生可靠性问题的主要原因。异 常包括资源异常(CPU 负载高、内存余量少、节点失效、磁盘不 可读等)、网络异常(超时、延时、不可达、丢包、重复包等)、 进程异常(进程僵死、进程被终止等)、运营操作导致的异常(系 统扩容、升级、配置自动更新、表内容变更等)。采用异常注入 方式,按异常发生的概率在业务流程测试时模拟触发异常,是测 试系统可靠性的有效方法。通过在正常数据处理过程中有概率地 引入异常,将数据处理结果之前和之后的结果进行比对,测试系 统在异常情况下是否仍能正确地处理数据。异常的模拟可采用人 为关闭节点、限制网络速度、人为终止进程等方式实现,最终考察系统中组件、数据的备份机制,确保服务和数据的可用性。

测试系统服务器发生中断或失效时,能够恢复直接受影响的 数据并重建期望的系统装备的程度是否满足要求。要求数据库服 务器支持热备份,系统重启时间≤2h,客户端≤20min,MTTR≤30min。

10)人机交互界面测试

测试过程中须对所有人机交互界面提供的操作和显示界面进行的测试,以检验是否满足用户的要求,通常进行如下测试:

a) 测试操作和显示界面及界面风格与软件需求规格说明中要求的一致性和符合性;

b) 以非常规操作、误操作、快速操作来检验人机界面的健壮性;

c) 测试对错误命令或非法数据输入的检测能力与提示情况;

d) 测试对错误操作流程的检测与提示;

e) 对照用户手册或操作手册逐条进行操作和观察。

针对管理类系统,需重点测试软件对错误命令、非法输入和 错误的操作流程的检测能力与提示情况,系统是否能够不受到致 命的破坏。当有严重事件发生时系统是否能够引起用户注意,测试关键性操作在执行前是否进行操作确认。

11)接口测试

测试过程中须对软件需求规格说明或设计文档中的接口需求逐项进行的测试。接口测试借助测试工具进行如下测试:

a) 测试所有外部接口,检查接口信息的格式及内容;

b) 对每一个外部输入/输出接口必须做正常和异常情况的测试;

c) 测试硬件提供的接口是否便于使用;

d) 测试系统特性(如数据特性、错误特性、速度特性)对软件功能、性能特性的影响;

e) 对所有的内部接口的功能、性能进行测试。

12)安全性的测试

测试过程中需检验软件中已存在的安全性、安全保密性措施 是否有效的测试。测试应尽可能在符合实际使用的条件下进行。

安全性测试一般需进行:

a) 对安全性关键的软件部件,必须单独测试安全性需求;

b) 在测试中全面检验防止危险状态措施的有效性和每个危险状态下的反应;

c) 对设计中用于提高安全性的结构、算法、容错、冗余及

中断处理等方案,必须进行针对性测试;

d) 对软件处于标准配置下其处理和保护能力的测试;

e) 应进行对异常条件下系统/软件的处理和保护能力的测  试(以表明不会因为可能的单个或多个输入错误而导致不安全状态);

f) 对输入故障模式的测试;

g) 必须包含边界、界外及边界结合部的测试;

h) 对“0 ”、穿越“0 ” 以及从两个方向趋近于“0 ”的输入值的测试;

i) 必须包括在最坏情况配置下的最小输入和最大输入数据率的测试;

j) 对安全性关键的操作错误的测试;

k) 对具有防止非法进入软件并保护软件的数据完整性能力

的测试l) 对双工切换、多机替换的正确性和连续性的测试;

m) 对重要数据的抗非法访问能力的测试。

针对管理类系统软件,在安全性方面需特别关注一下方面:

(1)现在的管理类系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写 敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。

(2) 管理类系统是否有超时的限制,也就是说,用户登陆后 在一定时间内 (例如 15 分钟 )没有点击任何页面,是否需要重新登陆才能正常使用。

(3)为了保证管理类系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。

文档审查

文档审查是对委托方提交的文档的完整性、一致性和准确性 所进行的检查。文档审查应确定审查所用的检查单,为适应不同 的文档审查,需要用不同的检查单,检查单的设计或采用应经过评审并得到委托方的确认。

根据 GJB438B-2009《军用软件开发文档通用要求》 中的相 关要求,对开发方提交的文档(需求分析类、设计类、用户手册类)的完整性、一致性和规范性进行审查。

代码审查

代码审查是检查代码和设计的一致性、代码执行标准的情况、代码逻辑表达的正确性、代码结构的合理性以及代码的可读性。 代码审查应根据所使用的语言和编码规范确定审查所用的检查单,检查单的设计或采用应经过评审并得到委托方的确认。

检查代码执行标准的情况、代码逻辑表达的正确性、代码结 构的合理性以及代码可读性。要求软件结构应清晰合理吗,注释 代码行≧25%。代码审查人员根据代码审查单,在测试工具中选 取相应的规则自动执行代码分析工作,然后对分析结果进行人工分析定位,并加以记录;

13)兼容性测试

兼容性测试主要是验证被测软件在不同版本之间的兼容性。 有两类基本的兼容性测试:向下兼容和交错兼容。向下兼容是测 试软件新版本保留它早期版本的功能的情况;交错兼容测试是要 验证共同存在的两个相关但不同的产品之间的兼容性。验证软件 在规定条件下共同使用若干个实体或实现数据格式转换时能满足有关要求能力的测试。兼容性测试一般需:

a) 验证软件在规定条件下共同使用若干个实体时满足有关

要求能力;

b) 验证软件在规定条件下与若干个实体实现数据格式转换时能满足有关要求能力。

具体到本次被测件 ,需要考虑操作系统(Windows XP、 Windows 7)、办公软件(Office 2003)、浏览器(IE8 及以上)等进行兼容性测试;

14)余量测试

在性能测试并发用户指标测试通过的基础上,用户数增加20%的余量,验证系统对余量的支持能力;

余量测试是对软件是否达到需求规格说明中要求的余量的 测试。若无明确要求时,一般至少留有 20%的余量。根据测试要求,余量测试一般需提供:

a) 全部存储量的余量;

b) 输入/输出及通道的吞吐能力余量;

c) 功能处理时间的余量。

9)强度测试

强度测试是强制软件运行在不正常到发生故障的情况下(设 计的极限状态到超出极限),检验软件可以运行到何种程度的测试。强度测试一般需:

a) 提供最大处理的信息量;

b) 提供数据能力的饱和实验指标;

c) 提供最大存储范围(如常驻内存、缓冲、表格区、临时

信息区);

d) 在能力降级时进行测试;

e) 在人为错误(如寄存器数据跳变、错误的接口)状态下

进行软件反应的测试;

f) 通过启动软件过载安全装置(如临界点警报、过载溢出

功能、停止输入、取消低速设备等)生成必要条件,进行计算过载的饱和测试;

g) 需进行持续一段规定的时间,而且连续不能中断的测试。

在余量测试指标通过的基础上,逐步增加并发用户数,强制 软件运行在不正常到发生故障的情况,检验软件并发用户处理极限能力;

15)安装性测试

安装用户手册中的安装要求进行被测试软件安装、卸载、重 复安装,以及启动和退出的正确性验证。要求具备自动安装(卸 载)盘,数据库与应用服务器的安装应能够自动配置。 安装性 测试是对安装过程是否符合安装规程的测试,以发现安装过程中的错误。安装性测试一般需进行:

a) 不同配置下的安装和卸载测试;

b) 安装规程的正确性测试。

10)边界测试

对软件各输入域、输出域进行测试;对接口各字段的边界进行测试;边界测试是对软件处在边界或端点情况下运行状态的测试。边界测试一般需进行:

a) 软件的输入域或输出域的边界或端点的测试;

b) 状态转换的边界或端点的测试;

c) 功能界限的边界或端点的测试;

d) 性能界限的