天天看点

软件功能测试框架

原文地址:

http://www.51testing.com/html/79/n-3720779.html

在测试用例编写的过程中,需要按照一定的思路进行,而不是随心所欲想到哪写哪。在测试过程中,按照一定的框架的思路能够帮助我们更好的写出测试用例。

功能测试框架可以包括:

(1)界面友好性测试

包括界面风格、样式、颜色是否协调

界面布局是否整齐、协调

界面操作、标题是否恰当

操作是否符合人们的常规习惯

提示界面是否符合规范

界面中各个控件是否对齐

日期控件是否可编辑

对于信息较长的文本,文本框是否提供自动竖直滚动条

数据录入控件是否方便

是否支持Tab键,键的顺序是否有条例,不乱跳

有无提供相关的热键

模块调用是否同意,相同的模块是否调用同一个界面

日期的格式是否正确

页面是否有多余的按钮或标签

窗口的最大化、最小化是否能正常切换

执行风险操作时,是否有确认、删除等提示

正确性检查:检查页面上的form,button,table,header,footer提示信息,以及其他文字拼写,句子的语法等是否正确

系统应该在用户执行错误的操作之前提出警告,提示信息

页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性

合理性检查:delete,update,add,cancel,back等操作后,查看信息回到的页面是否合理

背景灰度冻结

(2)功能测试

使用所有默认值进行测试

根据所有产品文档、帮助文档中描述的内容进行遍历测试

输入判断

所有界面出现是和否的逻辑,需要测试

异常处理

敏感词

根据需求文档的流程图遍历所有流程图路径

根据程序内容,遍历if elif else switch的逻辑点遍历

界面各种控件测试

2.1)字符型输入框

字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~ ! @ # ¥ % …… & * ? 【】 {}”,特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。

长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符,比如把整个文章拷贝过去

空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格

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

安全性检查:输入特殊字符串(null,NULL,<script></script>,<title>,<html>,<td>),输入脚本函数(<script>alert("abc")</script>、document.write("abc")、<b>hello</b>)

2.2)数值型输入框

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

位数:最小位数、最大位数、最小位数-1、最大位数+1、输入超长值、输入整数

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

输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制、8进制数值、货币型输入(允许小数点后面几位)

安全性检查:不能直接输入就copy

2.3)日期型输入框

合法性检查:(输入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】

考虑开始日期与结束日历的比较,特别是在查询的时候

异常值、特殊字符:输入空白或NULL、输入[email protected]#$%^&*(){}[]等可能导致系统错误的字符

安全性检查:不能直接输入,就copy,是否数据检验出错?

(3)业务流程测试

在对业务流程进行测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,测试时要设计不同的数据进行测试。

如某一个功能模块具有最基本的增删改查功能,则需要进行以下测试:

单项功能测试(增加、修改、查询、删除)

增加-------->增加------->-------->增加(连续增加测试)

增加-------->删除

增加-------->删除-------->增加(新增加的内容与删除内容一致)

增加-------->修改-------->删除

修改--------->修改--------->修改(连续修改测试)

修改--------->增加(新增加的内容与修改前内容一致)

修改---------->删除

修改--------->删除---------->增加(新增加的内容与删除内容一致)

删除--------->删除----------->删除(连续删除测试)

(4)链接测试

主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面

可以使用特定的工具如XENU来进行链接测试

(5)容错测试

输入系统不允许的数据作为输入

把某个相关模块或者子系统停掉,验证对当前系统的影响

配置文件删除或者配置错误

数据库注入错误数据

(6)稳定性测试

系统不间断运行(7*24),验证是否内存泄露、系统其它资源是否存在泄露

如果很紧急上线,可以跑一晚上或者周末跑两天

(7)常规性能测试

7.1)连接速度测试

7.2)负载测试

负载测试是为了测量web系统在某一负载级别上的性能、以保证Web系统在需求范围内能正常工作。

负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:WEB应用系统能允许多个用户同时在线?能够处理大量用户对同一个页面的请求?

7.3)压力测试

进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。

压力测试的区域包括表单、登录和其他信息数传页面等。

(8)易用性测试

系统界面的空间是否可以通过tab键遍历,并且顺序合理

主要功能的入口和操作是否易于理解

界面是否布局合理,功能是否易于查找和使用

操作步骤

操作习惯

有足够的提示信息,且信息文字描述准确

(9)兼容性测试

兼容性测试不只是指界面在不同操作系统或浏览器下的兼容,有些功能方面的测试,也需要考虑到兼容性。

包括操作系统兼容和应用软件兼容,可能还包括硬件兼容

比如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。

继续阅读