WEB端测试技巧

合集下载

Web应用测试技巧与案例分享

Web应用测试技巧与案例分享

Web应用测试技巧与案例分享Web应用测试是确保网站的稳定性和功能可靠性的重要环节。

通过科学的测试方法和技巧,可以提高测试效率,发现潜在的缺陷,并促使产品质量的提升。

本文将分享一些Web应用测试的经验和实际案例,帮助读者更好地进行测试工作。

一、测试前的准备工作在进行Web应用测试之前,我们需要进行一些准备工作,以确保测试的顺利进行。

首先,我们要明确测试目标,了解产品需求和功能。

其次,建立测试环境,包括搭建测试服务器、准备测试数据等。

最后,制定测试计划和测试用例,包括测试步骤、预期结果等。

只有准备充分,我们才能高效地进行测试工作。

二、黑盒测试技巧与案例分享黑盒测试是一种基于功能需求的测试方法,通过输入一些预定的输入,验证输出是否符合预期结果。

以下是一些常用的黑盒测试技巧和案例分享。

1. 边界值分析边界值分析是一种测试技巧,通过选择输入值的边界条件来测试系统的稳定性和正确性。

例如,对于一个要求输入1到100之间的数字的输入框,我们可以选择输入1、100和101这三个边界值来测试系统的反应。

2. 等价类划分等价类划分是一种将输入域划分成若干个等价类的测试方法,通过选择每个等价类中的一个典型值进行测试。

例如,对于一个要求输入邮箱地址的输入框,可以选择一个有效的邮箱地址和一个无效的邮箱地址来测试系统的反应。

3. 决策表测试决策表测试是一种测试技巧,通过构建决策表来设计测试用例。

决策表包含了系统的所有可能状态和条件,并列出了各种条件下的预期结果。

通过对决策表进行测试,我们可以全面地验证系统的逻辑和正确性。

三、白盒测试技巧与案例分享白盒测试是一种基于代码的测试方法,通过了解系统的内部结构和逻辑来设计测试用例。

以下是一些常用的白盒测试技巧和案例分享。

1. 语句覆盖语句覆盖是一种测试技巧,通过执行每条代码语句来验证程序的正确性。

例如,对于一个包含if语句的函数,我们可以设计测试用例,分别覆盖if语句为真和为假的情况,以确保代码的完整性和正确性。

WEB端测试技巧

WEB端测试技巧

WEB端测试技巧Web测试技巧一.目的:web测试是测试组最频繁接触的工作类型,本文档会从测试案例的分析入手,通过一些比较常见的案例分析,达到了解web测试的基本思想。

分析的测试案例主要包括一下几个方面:普通注册页面,跳转注册页面,用户权限和安全性,碎片,cache,ie相关置对测试的影响。

二. 测试案例分析1. 普通注册页面:a. 不填写任何的信息,提交,查看提示信息这个步骤是输入判断测试中第一个要写测案例,这个案例有几个方面的意义a)这个页面上所有的输入框有必填的选项,比如用户的名称,用户的验证码,用户密码等,这些信息在数据库中不能为空,如果为空可能会对相关的程序带来问题,比如b)不填写用户名和密码,这样就在数据库中存了一条空记录,导致在登陆的时候,不能正确的验证用户的身份。

c)一些输入框在本页可以不填写不会出错,但是他的数据要被其他的程序调用,比如cms中的媒体管理,建立的媒体会在建立新闻的时候被调用,如果在媒体管理里没有做输入判断,那创建时就不能正确的取到数据(逻辑相关性)d)webmail页面中,地址簿可以保存地址,发信页面也可以调用地址簿的信息进行发信,在测试的时候就需要注意测试相关性。

b. 依次只填写每一个框,提交,查看提示信息1. 这个案例主要是考察非空判断的每一个框的提示信息是不是按顺序提示,比如三个必填输入框,不填写第一个和第二个输入框,提示应该是第一个输入框没有填写,不会提示第二个输入框没有填写。

填写第二个,不填写一,三输入框,应该提示第一个没有填写,不会提示第三个输入框没有填写,这个提示一般以js check的方式表示2. 也有例外的情况,就是所有的输入框在一起判断,在一个页面上对没有输入的必填框在一起显示提示信息,俱乐部的注册页就是这个模式,在每一个没有填写的输入框后面都有提示c. 依次不填写每一个输入框,提交,查看提示信息1. 这个是对每一个输入框,一个个的做非空判断,查看是否正确,要一个一个的考察提示信息是否正确2. 要注意的是有一些提示信息是假的,比如提示的信息是不能为空,但是确定后确提交了这个表单。

Web软件测试方法及步骤总结

Web软件测试方法及步骤总结

Web软件测试方法及步骤总结一、式样比对测试开发提交新版本给测试后,作为测试人员,首先需要对开发的功能有一个整体而全面的认识与了解,因此将式样比对作为验证功能的第一部,不仅可以从整体入手宏观检验开发功能是否与需求一致,是否存在偏差,还可以对功能模块有一个整体的认知,对以后的各阶段测试做到心中有数。

二、功能测试在对比式样测试完成后,已经对产品自身有了宏观的认识,并且确保了产品与用户需求的基本一致性。

因此开始更细致的功能测试(也可以称之为行为测试),通过验证产品各个控件是否可以正确使用;各个功能点是否达到了用户需求中的标准等等,下面列出Web功能测试常用的测试方法:1、页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确;2、相关性检查:增加/删除一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确;3、检查按钮的功能是否正确:如add、update、cancel、delete、save等功能是否正确;4、字符串长度检查:输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度,会不会出错;5、字符类型检查:在应该输入指定类型内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错;6、标点符号检查:输入内容包括各种标点符号,特别是空格、各种引号、回车键。

看系统处理是否正确;7、中文字符处理:在可以输入中文的系统输入中文,看会否出现乱码或出错;8、检查带出信息的完整性:在查看信息和update信息时,查看所填写的信息是不是全部带出,带出信息和添加的是否一致;9、信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,是否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理;10、检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按“delete”,看系统如何处理,是否出错;然后选择一个和多个信息,进行删除,看是否正确处理;11、检查添加和修改是否一致:检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型;12、检查修改重名:修改时把不能重名的项改为已存在的内容,看是否处理,报错;同时,也要注意,会不会报和自己重名的错;13、重复提交表单:一条已经成功提交的纪录,back后再提交,看看系统是否做了处理;14、检查多次使用back键的情况:在有back的地方,back,回到原来页面,再back,重复多次,看是否出错;15、search检查:在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确;如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确;16、输入信息位置:注意在光标停留的地方输入信息时,光标和所输入的信息是否跳到别的地方;17、上传下载文件检查:上传下载文件的功能是否实现;上传文件是否能打开;对上传文件的格式有何规定;对上传文件的大小是否有限制;18、必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加*;19、快捷键检查:是否支持常用快捷键,如Ctrl+C Ctrl+V Backspace等,对一些不允许输入信息的字段,如选日期对快捷方式是否也做了限制;20、回车键检查:在输入结束后直接按回车键,看系统处理如何,会否报错。

Web测试方法总结

Web测试方法总结

Web测试方法总结一、输入框1、字符型输入框:(1)字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。

禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。

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

(3)空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格(4)多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)、(5)安全性检查:输入特殊字符串(null,NULL,,javascript,<script>,</script>,<title>,<html>,<t d>)、输入脚本函数(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>)2、数值型输入框:(1)边界值:最大值、最小值、最大值+1、最小值-1(2)位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长值、输入整数(3)异常值、特殊字符:输入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等、输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)、(4)安全性检查:不能直接输入就copy3、日期型输入框:(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,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理.二、搜索功能若查询条件为输入框,则参考输入框对应类型的测试方法1、功能实现:(1)如果支持模糊查询,搜索名称中任意一个字符是否能搜索到(2)比较长的名称是否能查到(3)输入系统中不存在的与之匹配的条件(4)用户进行查询操作时,一般情况是不进行查询条件的清空,除非需求特殊说明。

web测试学习方法与指导

web测试学习方法与指导

Web测试学习方法与指导
你好,我是徐哥。

首先,web测试其实就是网站前端测试,和app测试一样都是ui测试,但是跟接口测试和app测试相比,web测试是里面最简单的一种了,接口测试需要考虑压力测试,并发测试等测试,App测试也要考虑耗电量,弱网测试等等性能测试。

Web测试算是比较简单的。

而且网上的资源和帖子中单纯讲做web测试的也很少,即使你之前没怎么接触过web测试到公司现学也是可以的。

关于Web测试你最需要考虑的一点就是兼容性测试,就是当你打开一个网站的时候,使用不同的浏览器,比如市场占有率第一的谷歌浏览器,以及火狐浏览器等,看一下你打开时,网站前端的图片,文字加载有没有问题,是否会出现不兼容的问题,比如文字错乱或者加载不出来等问题。

Web测试其它方面测试基本就是属于功能方面的验证了,站在用户的角度去进行测试,跟产品经理确认好细节即可,徐哥目前工作中web测试这方面做的比较少,主要还是服务端测试,所以就不再进行赘述,参考另一个文件学习链接推荐的视频即可。

最后,谈一下web自动化吧,跟接口自动化相比,做的公司是比较少的,原因很简单,因为ui方面变化比较大,经常有大的版本更迭,改动较多可能整个框架就废了,投入的人力成本却很高,所以做的公司自然就少,所以如果学习自动化的话还是优先推荐学习接口自动化,如果你对自动化这方面感兴趣的话可以回复关键词,学习一下这方面的知识,属于初级加分项,中级必备项。

web测试的基本方法

web测试的基本方法

web测试的基本方法Web测试是指对Web应用程序进行测试的过程,以确保其功能、性能、安全性和兼容性等方面的质量。

在进行Web测试时,需要使用一些基本的方法来确保测试的有效性和全面性。

本文将介绍一些常用的Web测试方法。

一、功能测试功能测试是对Web应用程序的各项功能进行测试,以确保其能够按照预期的方式工作。

在功能测试中,需要验证各种功能是否符合规范和需求,包括输入验证、页面导航、数据处理、用户权限等方面。

1. 输入验证输入验证是对用户输入的数据进行验证,以确保其符合规范和安全性要求。

测试人员可以通过输入各种不同类型的数据,如有效数据、无效数据、边界值数据等,来验证输入验证的有效性。

2. 页面导航页面导航是指用户在Web应用程序中进行页面跳转和导航的过程。

测试人员可以测试页面之间的链接是否正常、页面跳转是否顺畅、页面布局是否合理等。

3. 数据处理数据处理是指对用户输入的数据进行处理和存储的过程。

测试人员可以测试数据处理的准确性、完整性和一致性,以确保数据能够正确地存储和处理。

4. 用户权限用户权限是指用户在Web应用程序中的访问权限和操作权限。

测试人员可以测试不同用户角色的权限,如管理员、普通用户等,以确保用户权限设置的正确性和安全性。

二、性能测试性能测试是对Web应用程序的性能进行测试,以确保其能够在各种负载和压力下正常运行。

在性能测试中,需要测试Web应用程序在不同负载下的响应时间、吞吐量、并发性等性能指标。

1. 响应时间响应时间是指用户在发送请求后,Web应用程序返回响应的时间。

测试人员可以通过模拟多个用户同时访问Web应用程序,来测试其响应时间是否满足需求。

2. 吞吐量吞吐量是指Web应用程序在单位时间内能够处理的请求数量。

测试人员可以通过增加并发用户数,来测试Web应用程序的吞吐量是否达到预期。

3. 并发性并发性是指多个用户同时访问Web应用程序的能力。

测试人员可以测试Web应用程序在多个并发用户访问时的性能表现,如是否出现死锁、资源竞争等问题。

web测试方法总结

web测试方法总结

web测试方法总结Web测试是指对Web应用进行的功能和性能的测试,旨在确保Web应用能够正常运行,并满足用户的需求和期望。

在进行Web测试时,需要根据不同的需求和场景采取不同的测试方法。

下面将总结一些常用的Web测试方法。

1. 功能测试功能测试是Web测试的基础,用于验证Web应用的功能是否正常。

在功能测试中,测试人员会根据需求文档或产品规格,测试Web应用的各个功能模块是否符合预期。

这包括通过输入不同的用户数据,模拟各种用户操作,测试Web应用的各个功能点是否能够正常运行,以及是否能够处理所有边界情况和异常情况。

2. 兼容性测试兼容性测试是指测试Web应用在不同的浏览器、操作系统、设备上的兼容性。

由于不同的浏览器和操作系统对Web技术的支持程度不同,因此在进行兼容性测试时,需要测试Web 应用在常用的浏览器(如Chrome、Firefox、Safari、IE等)和操作系统(如Windows、Mac、Linux等)上的兼容性,以确保Web应用在不同的环境下都能够正常运行。

3. 性能测试性能测试是测试Web应用在不同负载下的性能表现。

在性能测试中,可以通过压力测试、负载测试和性能监控等手段,测试Web应用在高并发访问、大数据量处理等场景下的性能表现。

性能测试可以帮助发现Web应用的性能瓶颈和潜在的问题,并提供相应的优化建议。

4. 安全测试安全测试是测试Web应用的安全性和漏洞。

在安全测试中,测试人员会模拟黑客攻击的方式,测试Web应用是否存在常见的安全漏洞,如跨站脚本攻击(XSS)、SQL注入、跨站请求伪造(CSRF)等。

通过安全测试,可以帮助发现和修复Web应用的安全漏洞,保护用户数据的安全。

5. 可用性测试可用性测试是测试Web应用的易用性和用户体验。

在可用性测试中,测试人员会评估Web应用的界面设计、交互方式、反应速度等方面,以确定Web应用是否符合用户的期望和需求。

通过可用性测试,可以帮助改进Web应用的用户界面,提高用户的满意度和使用体验。

手把手教你进行Web应用测试

手把手教你进行Web应用测试

手把手教你进行Web应用测试Web应用测试是一项关键的活动,它可以确保在发布到生产环境之前,应用程序能够按照预期运行。

本文将手把手地介绍如何进行Web 应用测试,以帮助你更好地理解和掌握这一技能。

一、测试环境的搭建在进行Web应用测试之前,首先需要搭建一个合适的测试环境。

测试环境应包括与生产环境相似的硬件和软件配置,并且需要确保能够进行各种测试类型,如功能测试、性能测试和安全测试等。

另外,还需要准备一份测试计划,明确测试的目标、范围和时间安排。

二、功能测试功能测试是验证Web应用程序是否满足指定的需求和规范的测试类型。

在进行功能测试时,可以按照以下步骤进行操作:1. 确定测试用例:根据需求和规范,编写一系列测试用例来验证各个功能点是否正常工作。

2. 执行测试用例:按照测试计划,逐一执行测试用例,并记录测试结果。

3. 分析测试结果:根据测试结果,判断功能点是否通过测试,如果未通过,则需要进行错误定位、修复和重新测试。

三、性能测试性能测试是评估Web应用程序在不同负载下的性能表现的测试类型。

在进行性能测试时,可以按照以下步骤进行操作:1. 定义性能指标:确定评估性能的指标,如响应时间、吞吐量和并发用户数等。

2. 设计负载模型:根据实际情况,设计一系列负载模型,模拟不同的用户行为和访问量。

3. 进行性能测试:使用性能测试工具,对Web应用程序进行负载测试,并记录各项性能指标。

4. 分析性能结果:根据性能测试结果,评估Web应用程序在不同负载下的性能表现,并进行性能优化。

四、安全测试安全测试是评估Web应用程序的安全性的测试类型。

在进行安全测试时,可以按照以下步骤进行操作:1. 扫描漏洞:使用安全测试工具,对Web应用程序进行漏洞扫描,如SQL注入、跨站脚本攻击等。

2. 制定攻击方案:根据扫描结果,制定一系列攻击方案,模拟黑客攻击的行为。

3. 进行安全测试:执行攻击方案,并记录测试结果,评估Web应用程序的安全性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Web测试技巧一.目的:web测试是测试组最频繁接触的工作类型,本文档会从测试案例的分析入手,通过一些比较常见的案例分析,达到了解web测试的基本思想。

分析的测试案例主要包括一下几个方面:普通注册页面,跳转注册页面,用户权限和安全性,碎片,cache,ie相关置对测试的影响。

二. 测试案例分析1. 普通注册页面:a. 不填写任何的信息,提交,查看提示信息这个步骤是输入判断测试中第一个要写测案例,这个案例有几个方面的意义a)这个页面上所有的输入框有必填的选项,比如用户的名称,用户的验证码,用户密码等,这些信息在数据库中不能为空,如果为空可能会对相关的程序带来问题,比如b)不填写用户名和密码,这样就在数据库中存了一条空记录,导致在登陆的时候,不能正确的验证用户的身份。

c)一些输入框在本页可以不填写不会出错,但是他的数据要被其他的程序调用,比如cms中的媒体管理,建立的媒体会在建立新闻的时候被调用,如果在媒体管理里没有做输入判断,那创建时就不能正确的取到数据(逻辑相关性)d)webmail页面中,地址簿可以保存地址,发信页面也可以调用地址簿的信息进行发信,在测试的时候就需要注意测试相关性。

b. 依次只填写每一个框,提交,查看提示信息1. 这个案例主要是考察非空判断的每一个框的提示信息是不是按顺序提示,比如三个必填输入框,不填写第一个和第二个输入框,提示应该是第一个输入框没有填写,不会提示第二个输入框没有填写。

填写第二个,不填写一,三输入框,应该提示第一个没有填写,不会提示第三个输入框没有填写,这个提示一般以js check的方式表示2. 也有例外的情况,就是所有的输入框在一起判断,在一个页面上对没有输入的必填框在一起显示提示信息,俱乐部的注册页就是这个模式,在每一个没有填写的输入框后面都有提示c. 依次不填写每一个输入框,提交,查看提示信息1. 这个是对每一个输入框,一个个的做非空判断,查看是否正确,要一个一个的考察提示信息是否正确2. 要注意的是有一些提示信息是假的,比如提示的信息是不能为空,但是确定后确提交了这个表单。

d. 全部填写超长的内容,提交,查看提示信息1. 超长有两种概念,一种是超出输入框定义的长度,这个时候通过js check返回一个提示信息,还有一种是超出了数据库定义的这个字段的长度,这时数据库会返回一个出错的提示2. 对于前一种情况一般会通过js check返回一个对话框,直接在页面提示。

对于后一个情况一般会先做一个插库的动作,返回的是一个数据库的error,这个error一般不会展现给用户,应该是开发人员捕获这个error,然后用另一种错误提示展现给用户3. 还有一种方法处理超出输入框定义的长度,就是在页面的输入框中直接限制输入字数,但是要注意一个问题,就是长度的限制分单双字节的,他的判断也要分开考虑e. 对输入框进行特殊字符的输入判断(html,中文,123$2’1”3,&,*等)1.特殊字符分为三类,一类是软件本身的一些字段不能是这些字符,比如,用户名不能中文和一些特殊符号,mail的地址就是一个很典型的例子,登陆的时候用户名都是英文和一些指定的符号,这个时候一般会直接通过js check的方式处理这一类的问题。

2.还有一类是和数据库有关的,就是一些特殊字符和sql语句中一些字符是一样的,这个时候会造成数据的遗失或写入数据库失败,例如&是查找数据时,两个条件之间的分隔符,这样在做select的时候容易出现错误。

Input的时候,单引号也是数据的分隔,所以这个符号会经常导致数据被截。

3.html是一个比较特殊的字符,这个一般在输入的地方是不会做限制的,但是输出显示的地方一般会有限制,要注意<href= >,这个是一个错误的html,有时回在提交时,把页面破坏。

何时显示没有解析过的html,何时显示已经解析的html要视当时的项目的具体要求来定,一个原则就是不能破坏页面,不能影响其他的功能.4.恶意js的输入,有可能造成程序页面的错误,一般情况下输入框字段会加入判断把英文符号<>都替换为全角的《》,这样就可以防止恶意的js攻击。

f. 在所有的输入框中输入全角和半角的空格,提交,查看提示信息1. 半角空格如果处理不好,会在填写的地方出现空的情况,一般在输入框的时候会过滤掉在字符前面或者后面的空格,当全是空格的时候,就会当成空。

提示没有填写这个输入框。

2. 全角空格是大多数开发都会忽略掉的一个字符,它的表现形式和半角空格一样,但是它是双子节的字符,对开发来说处理难度比较大。

g. 填写已经存在的用户名,提交,查看是否正确1. 这个是一个比较特殊的案例,要根据不同的项目类型来考虑,主要的意图是为了考证对于重名用户的注册有没有相关的处理机制。

2. 该case可以衍生出下面的case:一是名称相同,但是大小写不一致。

二是注册名相同,但是前面和后面加上空格。

一般第一种情况,要看需求决定,一般是大小写不会做限制,但是也有特殊需求是要加限制的。

第二种情况,一旦出现就是bug,一般的用户名是前后不能加空格的。

h. 全部填写正确的信息,提交,查看是否正确的注册成功1. 一个正确完成方法是case中必须有的,说明这个能可以实现。

这个案例其实应该在开始的时候就完成,但是也可以放在最后做完。

2. 成功注册完以后,要用登陆,运行一些基本功能等方法来验证这个结果,不能单纯的看到注册成功页就认为可以了。

i. 在注册页反复的点击提交的按钮,查看提示信息1. 连续点击提交的结果应该是提示,该用户名已经注册,如果没有看见这个提示,多数就是bug了,主要查看相同用户名是否可以注册。

2. 这个case还有这个作用是查看数据库连接是否释放,有一个bug就是这个情况,在注册结束后,数据库连接没有释放,连续的提交,导致数据库连接池满了,页面出现错误。

j. 注册成功,用ie的返回按钮,返回到注册页,再次提交。

1. 这个case是最显著的表现ie浏览器对web测试影响,这些关于浏览器的操作是web测试中必须要考虑的因素2 多步骤的注册页面(注册页跳转)除了上面我们讲过的普通页面流程,还有一个注册的流程比较特殊,测试难度也比较大,那就是多步骤的注册流程,他的中心思想是把注册页面上的一些信息分散在多个步骤中,通常第一页都是必填的信息,如:用户名,密码等。

第二页基本上是个人的一些信息,其中有必填也有不是必填的,如:身份证号,地址,电话等。

第三页一般是注册成功页a. 这个部分的测试最重要的是跳转,出来要完成普通注册页的一些测试以外,跳转是很重要的测试手段,这个测试要配合ie的返回按钮进行。

b. 一个重要而且典型的bug。

先说一下这个bug的描述,在填写完第一个页面的时候,提交,到达第二个页面,直接在url中copy成功页的url。

注册成功了。

这个bug又一次告诉我们页面跳转在这个测试中的重要性,系统给了我们不用填写第二步就直接能注册成功的后门。

c. 并不是只有用户注册的时候有这个问题,其他一些系统,发布模块也会有这样的情况出现,大家要引起注意。

其实看一下url就能知道,一般这些页面都有step=N(N是一个正整数)的参数,看见这个就要做页面跳转的操作。

3用户权限:a.a权限用户可以做a权限可以做的操作1. 通过正面验证权限的正确性,保证基本的用户权限没有错误。

这个是和需求紧密联系在一起的,我们要正确的理解需求,查看系统中各个用户的权限是怎么定义的。

b. a权限的用户去做b权限用户的操作1. 用一个本来没有权限的用户去做一个操作,通过否定判断配合a的case,从正反两个方面去对用户权限做一个判断。

c. 用户a打开一个窗口,执行一项功能,复制这个功能的地址,关闭窗口,用户b登陆,粘贴这个地址,查看是否提示没有权1. 跳过登陆验证的环节,直接对操作步骤进行权限判断。

要求在每一个操作的时候都要做这样的工作。

很多的程序员习惯在登陆的时候验证用户权限,但是多数会忽略里面操作的权限,导致有安全性漏洞。

d. 用户a打开一个窗口,执行一项功能,更改地址中的用户ID和其他参数,提交,查看是否提示没有权限1. 有些程序的传输数据的方法是直接在url后面带上参数,这样就给一些没有权限的用户另一个操作的方法,我们通过url一些参数的变化来达到我们的测试目的2. 对于一些没有通过url直接传递参数的程序,这个测试步骤可以省略。

e. 管理员登陆后台,copy查询记录的连接,关闭窗口,打开新的窗口,粘贴这个连接,查看提示管理员登陆后台,copy查询记录的连接,关闭窗口,打开新的窗口用普通用户登陆,粘贴这个连接,查看提示1. 这两个case的基本原理是和a有相同的作用。

只不过这个是要先登陆,在copy url2. 注意一个问题,就是打开新的窗口的问题,目前ie的新窗口的打开有两个方法,一是关闭原来的窗口,通过程序—ie打开新的窗口,这个窗口是独立的,没有任何的继承性。

还有一个方法是在一个原来存在的ie窗口上用ctrl+N打开新的窗口,这个新开的窗口继承了前一个窗口的用户特性。

测试时应该注意这个问题。

6. 数据同步在访问压力很大的时候,为了能分散用户的访问对前台http的压力,一般使用数据同步机制。

在多台机器上放相同的数据,用户不管访问那个机器都能访问到相同的数据。

a. 为了测试是否达到用户访问的数据一致的需求,我们在测试的过程中,每一个数据库操作都要在不同的机器上查看结果。

b. 查看访问的分布是否正确,和开发一起查看几台机器的访问量,曾经出现的bug是两个机器同步,用户的访问集中在一个机器上,没有达到减少访问压力的作用。

7. cache用运cache也是为了防止用户对数据库的冲击。

在访问过一个页面以后,这个页面会记录在cache里,下次访问的时候,如果这个页面没有发生变化,那么就从cache里取得这个数据,如果数据发生了变化,那么就再次从数据库中读取。

a. 测试的时候先访问一个页面,然后保证这个页面没有变化,再次访问,看看是不是从cache中读取,这个看看读取速度和后台数据库连接能确认。

更改这个页面的数据,再次访问这个页面,查看数据是否能更新。

8. ie的设置问题ie的设置有时候对web测试非常的重要。

下面简单介绍几条a. 本地cookie的更新设置,在测试是把检查所存页面的最新版本该为每次访问自动更新。

b. ie5和ie6在一些页面的处理上有很大的不一样,在测试时候一些重要的页面可能需要在两个版本的浏览器上运行,或者和开发一起找到不同之处,或者以满足需求为主,看看需要保证那个浏览器的正常运行。

相关文档
最新文档