关于正保集团软件测试文档.docx
《关于正保集团软件测试文档.docx》由会员分享,可在线阅读,更多相关《关于正保集团软件测试文档.docx(24页珍藏版)》请在冰点文库上搜索。
关于正保集团软件测试文档
关于正保集团软件测试文档
鉴于公司开发的多数产品都是基于web开发的,现在也趋向于逐渐用java去代替其他开发脚本。
在这里着重从java开发站点的角度,结合正保公司特点,把正保集团软件测试分为以下几个部分:
功能测试
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
针对Web应用的常用测试方法如下:
1.页面链接检查:
每一个链接是否都有对应的页面,并且页面之间切换正确。
2.相关性检查:
删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。
3.检查按钮的功能是否正确:
如update,cancel,delete,save等功能是否正确。
4.字符串长度检查:
输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度,会不会出错。
5.字符类型检查:
在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错。
2008-6-509:
05回复
byebye0808
0位粉丝
2楼
6.标点符号检查:
输入内容包括各种标点符号,特别是空格,各种引号,回车键。
看系统处理是否正确。
7.中文字符处理:
在可以输入中文的系统输入中文,看会否出现乱码或出错。
8.检查带出信息的完整性:
在查看信息和update信息时,查看所填写的信息是不是全部带出。
,带出信息和添加的是否一致9.信息重复:
在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。
10.检查删除功能:
在一些可以一次删除多个信息的地方,不选择任何信息,按“delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理。
2008-6-509:
05回复
byebye0808
0位粉丝
3楼
11.检查添加和修改是否一致:
检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型。
12.检查修改重名:
修改时把不能重名的项改为已存在的内容,看会否处理,报错。
同时,也要注意,会不会报和自己重名的错。
13.重复提交表单:
一条已经成功提交的纪录,back后再提交,看看系统是否做了处理。
14.检查多次使用back键的情况:
在有back的地方,back,回到原来页面,再back,重复多次,看会否出错。
15.search检查:
在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确。
如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确。
1、链接测试
链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。
链接测试可分为三个方面:
首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;
其次,测试所链接的页面是否存在;
最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。
2、表单测试
当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。
在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。
例如:
用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。
如果使用了默认值,还要检验默认值的正确性。
如果表单只能接受指定的某些值,则也要进行测试。
例如:
只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
3、Cookies测试
Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。
如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。
测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。
4、设计语言测试
Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。
当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。
除了HTML的版本问题外,不同的脚本语言,例如Java、JavaScript、ActiveX、VBScript或Perl等也要进行验证。
5、数据库测试
在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。
在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。
在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。
数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。
网站功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户
要求的功能。
常用的测试方法如下:
1、页面链接检查:
每一个链接是否都有对应的页面,并且页面之间切换工具。
2、相关性检查:
删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确检查
按钮的功能是否正确如新建、编辑、删除、关闭、返回、保存、导入等功能是否正确。
3、字符类型检查:
在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方
输入其他字符类型),看系统是否检查字符类型。
1)标点符号检查:
输入内容包括各种标点符号,特别是空格,各种引号,回车键。
看系统处理是否正确
2)特殊字符检查:
输入特殊符号,如@、#、$、%、!
等,看系统处理是否正确。
3)字符串长度检查:
输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度。
4、中文字符处理:
在可以输入中、英文的系统输入中文,看会否出现乱码或出错。
检查信息的完整性在查看信息和更新信息时,查看所填写的信息是不是全部更新,更新信息和添加信
息是否一致。
5、信息重复:
在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否
报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。
6、检查删除功能:
在一些可以一次删除多个信息的地方,不选择任何信息,按“删除”,看系统如何处
理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理。
7、检查添加和修改是否一致:
检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也
应该必填;添加规定为整型的项,修改也必须为整型
8、检查修改重名:
修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不
会报和自己重名的错
9、重复提交表单:
一条已经成功提交的纪录,返回后再提交,看看系统是否做了处理。
对于Web系统
检查多次使用返回键的情况在有返回键的地方,返回到原来页面,重复多次,看会否出错
10、搜索检查:
有搜索功能的地方输入系统存在和不存在的内容,看搜索结果是否正确.如果可以输入
多个搜索条件,可以同时添加合理和不合理的条件,看系统处理是否正确。
11、输入信息位置:
注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方。
12、上传下载文件检查:
上传下载文件的功能是否实现,上传文件是否能打开。
对上传文件的格式有
何规定,系统是否有解释信息,并检查系统是否能够做到。
下载文件能否打开或者保存,下载的文件
是否有格式要求,如需要特殊工具才可以打开等。
13、必填项检查:
应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必
填项前加“*”;对必填项提示返回后,焦点是否会自动定位到必填项。
14、快捷键检查:
是否支持常用快捷键,如Ctrl+C、Ctrl+V、Backspace等,对一些不允许输入信
息的字段,如选人,选日期对快捷方式是否也做了限制。
15、回车键检查:
在输入结束后直接按回车键,看系统处理如何,会否报错。
16、刷新键检查:
在Web系统中,使用浏览器的刷新键,看系统处理如何,会否报错。
17、回退键检查:
在Web系统中,使用浏览器的回退键,看系统处理如何,会否报错。
对于需要用户
验证的系统,在退出登录后,使用回退键,看系统处理如何;多次使用回退键,多次使用前进键,看
系统如何处理。
18、直接URL链接检查:
在Web系统中,直接输入各功能页面的URL地址,看系统如何处理,对于需要
用户验证的系统更为重要。
19、空格检查:
在输入信息项中,输入一个或连串空格,查看系统如何处理。
如对于要求输入整型、
符点型变量的项中,输入空格,既不是空值,又不是标准输入。
20、输入法半角全角检查:
在输入信息项中,输入半角或全角的信息,查看系统如何处理。
如对于要
求输入符点型数据的项中,输入全角的小数点(“。
”或“.”,如4.5);输入全角的空格等。
21、密码检查:
一些系统的加密方法采用对字符Ascii码移位的方式,处理密码加密相对较为简单,
且安全性较高,对于局域网系统来说,此种方式完全可以起到加密的作用,但同时,会造成一些问题
,即大于128的Ascii对应的字符在解密时无法解析,尝试使用“uvwxyz”等一些码值较大的字符作为
密码,同时,密码尽可能的长,如17位密码等,造成加密后的密码出现无法解析的字符。
22、用户检查:
任何一个系统,都有各类不同的用户,同样具有一个或多个管理员用户,检查各个管
理员之间是否可以相互管理,编辑、删除管理员用户。
同时,对于一般用户,尝试删除,并重建同名
的用户,检查该用户其它信息是否重现。
同样,提供注销功能的系统,此用户再次注册时,是否作为
一个新的用户。
23、系统数据检查:
这是功能测试最重要的,如果系统数据计算不正确,那么功能测试肯定是通不过
的。
数据检查根据不同的系统,方法不同。
对于业务管理平台,数据随业务过程、状态的变化保持正
确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。
24、系统可恢复性检查:
以各种方式把系统搞瘫,测试系统是否可正常迅速恢复。
GUI基本测试内容
图形用户界面(GUI)对软件测试提出了有趣的挑战,因为GUI开发环境有可复用的构件,开发用
户界面更加省时而且更加精确。
同时,GUI的复杂性也增加了,从而加大了设计和执行测试用例的
难度。
因为现在GUI设计和实现有了越来越多的类似,所以也就产生了一系列的测试标准。
下列问
题可以作为常见GUI测试的指南:
窗口:
·窗口是否基于相关的输入和菜单命令适当地打开?
·窗口能否改变大小、移动和滚动?
·窗口中的数据内容能否用鼠标、功能键、方向键和键盘访问?
·当被覆盖并重新调用后,窗口能否正确地再生?
·需要时能否使用所有窗口相关的功能?
·所有窗口相关的功能是可操作的吗?
·是否有相关的下拉式菜单、工具条、滚动条、对话框、按钮、图标和其他控制可为窗口使用,并
适当地显示?
·显示多个窗口时,窗口的名称是否被适当地表示?
·活动窗口是否被适当地加亮?
·如果使用多任务,是否所有的窗口被实时更新?
·多次或不正确按鼠标是否会导致无法预料的副作用?
·窗口的声音和颜色提示和窗口的操作顺序是否符合需求?
·窗口是否正确地被关闭?
下拉式菜单和鼠标操作:
·菜单条是否显示在合适的语境中?
·应用程序的菜单条是否显示系统相关的特性(如时钟显示)?
·下拉式操作能正确工作吗?
·菜单、调色板和工具条是否工作正确?
·是否适当地列出了所有的菜单功能和下拉式子功能?
·是否可以通过鼠标访问所有的菜单功能?
·文本字体、大小和格式是否正确?
·是否能够用其他的文本命令激活每个菜单功能?
·菜单功能是否随当前的窗口操作加亮或变灰?
·菜单功能是否正确执行?
·菜单功能的名字是否具有自解释性?
·菜单项是否有帮助,是否语境相关?
·在整个交互式语境中,是否可以识别鼠标操作?
·如果要求多次点击鼠标,是否能够在语境中正确识别?
·光标、处理指示器和识别指针是否随操作恰当地改变?
数据项:
·字母数字数据项是否能够正确回显,并输入到系统中?
·图形模式的数据项(如滚动条)是否正常工作?
·是否能够识别非法数据?
·数据输入消息是否可理解?
性能测试
ApacheJMeter工具
1)简介
JMeter——一个100%的纯Java桌面应用,它是Apache组织的开放源代码项目,它是功能和性能测试的工具。
JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、Java对象、数据库和查询、ftp服务器或者其他资源)。
2)Jmeter的下载地址:
http:
//jakarta.apache.org/jmeter/usermanual/index.html
3)ApacheJMeter的特性:
a)能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)。
b)完全的可移植性和100%纯Java。
c)完全Swing和轻量组件支持(预编译的JAR使用javax.swing.*)包。
d)完全多线程框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。
e)精心的GUI设计允许快速操作和更精确的计时。
f)缓存和离线分析/回放测试结果。
g)高可扩展性:
h)可链接的取样器允许无限制的测试能力。
i)各种负载统计表和可链接的计时器可供选择。
j)数据分析和可视化插件提供了很好的可扩展性以及以及个性化。
k)具有提供动态输入到测试的功能(包括Javascrīpt)。
l)支持脚本变成的取样器(在1.9.2及以上版本支持BeanShell)。
二、JMeter可以做哪些方面的测试
原先Jemer是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。
它和用于HTTP和SQL数据库(使用JDBC)的模块一起运送。
它可以用来测试静止资料库或者活动资料库中的服务器的运行情况,可以用来模拟对服务器或者网络系统加以重负荷以测试它的抵抗力,或者用来分析不同负荷类型下的所有运行情况。
它也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行。
三、具体事例
1)测试环境:
硬件配置软件环境
测试时间2004年5月25日
服务器P4512M内存Oracle10g+Tomcat5.5
客户端P4512M内存Jmeter
测试内容khxx_xg.jsp接受用户参数、调用javabean、输出相关信息。
2)安装启动JMeter
请将下载的.zip文件解压缩到C:
/JMeter目录下。
现在,请使用C:
/JMeter/bin下面的jmeter.bat批处理文件来启动JMeter的可视化界面,下面的工作都将在这个可视化界面界面上进行操作。
图1就是Jmeter的可视化界面。
以下为我的测试计划的内容:
1、右键单击测试计划,选择添加-〉线程组
在线程组里设置负载信息,即线程属性。
我向测试计划中增加相关负载设置是Jmeter需要模拟十个请求者,每个请求者在测试过程中并发请求,并且连续请求10次。
线程数:
10
Ramp-upperiod(inseconds):
0
循环次数:
10
说明:
线程数代表发送请求的用户数目,Ramp-upperiod(inseconds)代表每个请求发生的总时间间隔,单位是秒。
假如我的请求数目是5,而这个参数是10,那么每个请求之间的间隔就是10/5,也就是2秒。
如果设置为0就代表并发请求。
LoopCount代表请求发生的重复次数,如果选择后面的forever(默认),那么请求将一直继续,如果不选择forever,而在输入框中输入数字,那么请求将重复指定的次数,如果输入0,那么请求将执行一次。
2、添加HTTP默认请求值
右键单击线程组,选择添加-〉配置元件-〉HTTP默认请求值,以下是我设置的信息:
说明
名称:
HTTP默认请求值该元素的名称
服务器名称或IP:
localhost被测试服务器的IP或者名字
端口号:
8080服务器提供服务的端口号,我用的服务器是Tomcat,所以端口号是8080
协议:
http发送测试请求时使用的协议
路径:
/hrbin/hg_admin/khxx_xg.jsp默认的起始位置。
3、添加HTTP请求
右键单击线程组,选择添加-〉Sampler-〉HTTP请求,以下是我设置的信息
说明
名称:
HTTP默认请求值该元素的名称
服务器名称或IP:
localhost被测试服务器的IP或者名字
端口号:
8080服务器提供服务的端口号,我用的服务器是Tomcat,所以端口号是8080
协议:
http发送测试请求时使用的协议
路径:
/hrbin/hg_admin/khxx_xg.jsp默认的起始位置。
因为我测试的是查询,故添加了一个同请求一起发送的参数(in_id=dsgds):
4、添加监听器,存放测试结果。
右键单击测试计划,选择测试计划-〉添加-〉监听器-〉聚合报告
你也可以选择用表格查看结果、图形结果、查看结果树等。
4)运行测试
单击运行,选择启动。
四、测试结果的分析说明
说明:
Label:
每个JMeter的element(例如HTTPRequest)都有一个Name属性,这里显示的就是Name属性的值
#Samples:
表示你这次测试中一共发出了多少个请求,我的测试计划模拟10个用户,每个用户迭代10次,因此这里显示100
Average:
平均响应时间——默认情况下是单个Request的平均响应时间,当使用了TransactionController时,也可以以Transaction为单位显示平均响应时间
Median:
中位数,也就是50%用户的响应时间
90%Line:
90%用户的响应时间
Min:
最小响应时间
Max:
最大响应时间
Error%:
本次测试中出现错误的请求的数量/请求的总数
Throughput:
吞吐量——默认情况下表示每秒完成的请求数(RequestperSecond),当使用了TransactionController时,也可以表示类似LoadRunner的TransactionperSecond数
KB/Sec:
每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
我分别模拟10、25、50、75和100个用户并发访问该页面,根据报告所得测试结果作出如下统计。
注:
时间单位是ms
用户数#SamplesAverageMedian90%LineMinMaxError%ThroughputKB/Sec
1064267268812512571900.014.8/sec221.15
25250162016871750250178100.014.5/sec217.14
50500331934383578281365700.014.2/sec212.02
75750488751095584328709400.014.5/sec216.67
1001000624464856672250684400.015.1/sec225.43
一般情况下,当用户能够在2秒以内得到响应时,会感觉系统的响应很快;当用户在2-5秒之间得到响应时,会感觉系统的响应速度还可以;当用户在5-10秒以内得到响应时,会感觉系统的响应速度很慢,但是还可以接受;而当用户在超过10秒后仍然无法得到响应时,会感觉系统糟透了,或者认为系统已经失去响应,而选择离开这个Web站点,或者发起第二次请求。
故该系统的用户信息查询信息页面的在10到25人并发访问时,系统响应速度很快,25人到50人并发访问时速度还可以,50人到100人并发访问就比较慢了。
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,最新的版本是1.9.1。
本文中作者将向大家介绍如何使用JMeter进行测试。
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,最新的版本是1.9.1,大家可以到http:
//jakarta.apache.org/jmeter/index.html下载源代码和查看相关文档。
JMeter作用领域
JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。
JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。
你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。
回页首
使用JMeter测试Web应用
接下来的章节里,作者将详细的演示如何使用JMeter来测试Web应用的完整过程。
2.1测试环境
作者使用了Tomcat作为Web服务器进行测试,被测试的内容是一个jsp文件和一个servlet,jsp文件调用JavaBean、打印相关信息,servlet接受用户参数、调用javabean、输出相关信息。
详细的内容请参考作者提供的JMeter.war的内容。
2.2安装启动JMeter
大家可以到通过
现在,请使用%JMeter%/bin下面的jmeter.bat批处理文件来启动JMeter的可视化界面,下面的工