功能测试的经验总结

时间:2024.5.4

功能测试的经验总结

测试准备:

1、实际测试总比你预想的要花更多的时间,遇到更多的麻烦,所以要尽量争取足够的测试时间,不要不加思索的说这个东西我一星期肯定可以测完。还要尽可能考虑到测试过程中的风险,比如测试环境的问题、部署失败的问题、开发延期的问题、人员变动的问题等等。

2、实际上从来都没有过完善的需求,可惜的是教科书从来也没讲过如何应对不完善的需求。我曾不止一次的想如果让做需求的和编程人员都来做两个月的测试,他们的工作能力肯定会有质的飞跃,可惜这只是我的梦想。需求说明书中总会遗漏很多细节,通常需求人员认为那些地方都是理所当然无需赘言的,但开发人员却会有不同的理解,所以测试人员要尽可能的在开始编程之前找出需求中所有不明确、有遗漏的地方。如果能在讨论需求的时候就提出问题那比从已经写好的需求说明书中挑错要好的多。问题越早发现越容易解决。

3、测试人员最好能在开发开始之前,总结出一个列表,列表中列出需要开发人员统一处理的一些细节,比如表单中表头和表内容用什么字体字号;是左对齐还是居中;翻页控件是放在表单左下角还是右下角还是居中;标点符号是用中文半角还是全角;选择框和下拉菜单中的内容按什么排序;搜索结果是否需要排序;错误提示是弹出窗口还是显示在原界面;错误提示语也应尽量统一风格;查询后是否要保存查询条件;浏览器的前进后退是否需要限制等等。项目经理最好统一给开发人员讲一下这些规矩,这样会在测试时省很多事。

测试用例:

1、测试用例要因人而异,如果自己已经很熟练了,测试用例可以只是简单的提示,不需写出详细的执行步骤和测试数据,以免因为无谓的文档浪费太多时间。如果很可能别人还要复用你的测试用例而且有充足的时间,这时就可以把测试用例写详细点。

2、至于测试数据需不需要在设计测试用例时就写出需要根据实际项目情况来定,我一般认为最好把测试用例都写完之后,再准备测试数据,一条数据可以覆盖多个测试用例,这样很可能四五条数据就可以覆盖十几个测试用例,这样可以提高效率。教科书通常认为一条测试数据最好对应一个测试用例,这样测试执行失败时就容易定位问题出在哪里。但实际情况是只有极少数的测试会执行失败并因此发现bug,但如果因为这极少数的失败的情况来降低整个测试执行的效率就显得缺乏实践性了,况且并不是说一条测试数据覆盖了多个用例时就不容易定位错误的根源。所以测试要根据实际情况灵活进行。

3、如果要写详细的测试用例,就一定要写的非常的清楚明了,最好让一个不懂项目情况的人也能根据用例执行测试。而且测试用例和测试数据中的关键值一定要用颜色标出。最好还能写出每条用例的测试目的,这样方便日后别人补充你的测试用例。

测试执行:

1、如果时间允许,测试一个页面时,要把这个页面的所有功能点的正常异常情况都测完之后再去测下一个页面,这样不容易遗漏。大多时候时间都不很充足,这时要先测主要流程和主要的功能点,这些完成之后再去测细节和异常情况,因为并不是有bug就不能上线的。 [Page]

2、如果发现了很多界面性的小问题,不要连续提出,最好先提一两个功能性的问题,再提一两个界面性的问题,这样间隔着提bug有利于开发人员接收,免得他把你提的连续的四五个界面性的bug都拒绝了。另外,一个bug里最好不要既包括功能性问题又包括界面性问题,这样有可能开发人员只解决了功能性问题就把bug 关了。

3、可以一条测试数据覆盖多个测试用例,这样可以提高效率,前提是程序的质量还可以或者可以根据测试结果(结果数据和log)定位是哪个功能点的问题。

4、如果时间充足的话,测试要在安静的环境中不慌不忙地进行,这样容易联想到更多的测试功能点,也可能因此发现更多的bug。如果测试太匆忙,通常测试人员只是想尽快地执行完所有测试用例。

5、如果测试还要进行多个版本,则需要不断完善测试用例,并总结为什么一开始会遗漏这些测试点。

6、测试的目的是发现bug,不是执行完所有用例或者覆盖尽可能多的路径。所以如果全面的测试已无益于发现新的bug时,要让测试人员充分发挥自己的主观能动性,随机地对可疑的地方进行测试。

7、发现bug时要确定自己操作和理解没有问题再向开发人员提出,而且要注意表达方式。

8、平日最好能和开发人员保持不错的关系,这样有利于测试的进行。

9、不要迷信功能测试的自动化,我认为只有在版本稳定后还需要进行多个版本的测试时才需要测试自动化,而且要求测试人员都可以熟练使用测试自动化工具。自动化测试的最大困难可能是需求和界面的频繁变化。


第二篇:软件异常测试经验总结


软件异常测试

从业务需求方面:

特殊业务流程测试:测试软件不按照正规的流程,而是按照可能的但非正规的业务流程运行,是否会生成错误数据,或者造成原有数据的错误,甚至造成系统的瘫痪;

主要是检查系统某些关键业务在极限情况下运行的能力,测试在这种情况下系统的运行、处理数据的情况,是否会造成系统瘫痪;

业务模块的添加、删除测试:根据实际情况,增加或删除业务模块,测试系统的运行状况;

删除或修改系统的重要配置文件测试:测试情况发生时系统是否能够正确的提示,指明系统的错误。在进行相应修补后,系统是否能够正常运行;

修改系统的重要配置信息测试:在软件的配置界面进行重要信息的修改或删除,测试系统是否有相关限制提示,并测试如果修改错误,系统是否能够进行错误提示,引导用户修改,而不至于系统瘫痪;

违规操作:这类测试可以包括,对现有重要业务数据的违规操作、用户越权业务操作等,测试系统是否有相关约束。如果发生类似事件,系统是否有补救措施,而不导致系统的瘫痪。

从操作需求方面:

用户正确的操作是系统正常运行的前提。所以在测试的时候,一定要进行错误操作来测试软件系统的健壮性。在从操作需求方面设计异常测试的测试用例时,需要从用户或者操作者的每一步的操作中进行提炼,而且这些测试用例一定要可操作性强,输入、输出、操作步骤都应该明确。实际上这部分测试用例也是功能测试用例的一部分,只是他不是正常、按照用户需求说明书的操作而已。

这一类的测试案例可以包括:

单引号操作:大多数基于SQL的数据库系统在用户存储包含一个英文单引号的信息时会出现问题,所以每一个可以接受文字数字型的条目都要有包含一个或多个单引号的文本案例。当然,这类问题还应该包括英文双引号、&、<、>等特殊字符。在测试的时候应该注

意其之前的提示和错误操作之后的恢复与补救措施等;

必填项输入测试:测试每一个功能说明书上指出的屏幕上必须输入数据的字段和屏幕上每一个被说明为必须输入的字段,以保证它强制要求你在字段中输入数据。测试其如果没有输入相关数据的提示和后续操作;

特殊字段类型测试:准备每一个功能说明书或界面中规定的特殊数据输入要求(身份证、日期、电话号码、邮编等)的字段的测试案例,输入的数据包括它不应该接受的数据类型,测试软件对错误输入的提示和后续操作;

字段长度测试:准备功能说明书或者界面上要求的字段最大长度的测试案例,输入数据应该大于这个最大长度,测试软件对错误输入的提示和后续操作;

数字类型的边界测试:如果是数字类型,长度往往不能测试出问题,要准备数字类型的边界值测试案例,测试软件对越界错误输入的提示和后续操作;

日期类型测试:日期类型要测试其边界值和日期格式类型的有效性测试。对于日期类型的边界值可能根据数据库不同而不同,比如sql server的最小日期是17xx年x月x日;而对于有效性最常用的就是闰年的有效日期问题,准备这类测试用例来测试软件对于错误输入的提示和后续操作;

web会话测试:对于采用b/s结构的软件,应该注意web会话测试。比如:在空白的浏览器中输入比较敏感的页面的URL,软件是否有相应的提示、强调应该先进行登录才能访问该界面。

从标准需求方面:

在软件界中被广泛使用的质量标准是ISO/IEC 9126,而其中对于异常测试最相关的质量特性就是可靠性(reliability),它的定义是:在指定条件使用时,软件产品维持规定的性能级别的能力。他下面又有四个子特性:成熟性、容错性、易恢复性、可靠性依从性。下面我们就从这四方面来设计异常测试案例。

1.成熟性:软件产品为避免由软件中错误而导致失效的能力

2.容错性:在软件失效或者违反规定的接口的情况下,软件产品维持规定的性能级别的能力

3.易恢复性:在发生故障的情况下,软件重建规定的性能级别并恢复受直接影响的数据的能力

4.可靠性依从性:软件产品依附于同可靠性相关的标准、约定或规定的能力。

实际以上四条是我们进行异常测试的目的和依据,我们之前的测试案例都是在验证这四条特性。根据这些标准,我们可以进一步准备异常测试案例,其中包括:

数据库服务器死机测试:在测试过程中强行关闭软件的数据库服务器或者用其它方式导致数据库死机,测试被测系统的提示是否准确以及其后的相关补救提示或操作;

数据表毁坏测试:非法删除或修改数据库中的表数据或者表,测试被测系统的提示是否准确以及其后的相关补救提示或操作;

网络故障测试:在测试中中断网络或者人工增加网络流量,测试被测系统的提示是否准确以及其后的相关补救提示或操作;

软件服务器故障测试:在测试过程中,强行重启软件的web服务器或者中间件服务器,测试系统的恢复能力;

从经验需求方面:

对于测试人员,经验是十分重要的。测试是有规律可循的,对软件测试、软件相关业务与流程熟悉的测试人员,测试肯定会事半功倍。根据以往的经验,异常测试案例的设计,除了上面提及的各个案例,还有一些补充的被广泛采纳的测试案例。这些案例包括以下几类: 文件丢失测试:强行删除被测软件的一些文件,测试被测系统的提示是否准确以及其后的相关补救提示或操作;

服务器资源测试:通过人为手段,增加软件数据库服务器、web服务器或者中间件服务器等相关服务器的硬件资源,如:cpu、内存、硬盘等的负载,测试被测系统的反应和其后的补救提示或操作;

断电测试:在测试期间,对部分或者所有相关软件测试机器进行断电测试,测试软件的恢复能力。

以上关于异常测试案例的设计与相关的案例,只是一些比较概括的论述,大部分是可以被“复用的”。针对于不同类型、规模的软件,还应该进行进一步的分析,设计出不同的测试案例。这个过程和其他类型测试案例相同,也应该被不断更新与完善。

更多相关推荐:
软件测试经验总结

软件生命周期(SDLC)的六个阶段1、问题的定义及规划此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。2、需求分析在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析…

手机软件测试经验总结

手机软件测试总结沙晶晶一个合格的手机软件测试工程师要掌握的东西是很多很多的。在我个人理解中,一个合格的高级手机软件测试工程师应该具有最基本的两点知识:软件测试理论知识和一定的开发技能。1.软件测试理论知识这个不…

性能测试经验总结

第一步:计划测试1、明确压力点,根据压力点设计多少种场景组合2、把文档(包括多少种场景组合、场景与场景组合条件的对应表)写好3、如果监测UNIX机器,在被监测的机器需要安装监测Unix的进程4、让开发人员帮助我…

测试经验总结

1.测试人员和用户的联系与区别黑盒测试人员和用户,都是站在实际应用层进行操作,因此他们对应用层的可用性、实用性非常关注。用户不懂的是软件的使用,而相对用户来说,测试人员对软件比较了解,但不熟悉业务本身。八个字归…

手机测试经验总结--SMS

手机测试经验总结--SMS手机测试经验总结--SMS短消息uGSM中唯一不要求建立端-端业务路径的业务就是短消息(亦称为短信),即使移动台已处于通话状态下仍可进行消息传输。?SMS:ShortMessageSe…

测试经验总结1

一、测试用例是软件测试的核心软件测试的重要性是毋庸置疑的。但如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。每个软件产品或软件开发项目都…

Oracle的性能测试经验总结

前段时间,在阿里妈妈新机房压力测试过程中用到了LR测试ORACLE,跟DBA一起在杭州网通新机房进行1000用户的压力模拟测试。整个压力测试耗时两天。以下是一些经验:1)压力测试过程中发现一些SQL脚本执行非常…

手机安卓系统测试经验总结

手机安卓系统简介及测试经验总结一Android简介Android安卓系统是手机或一些平板电脑等终端的操作系统可以说是现在最流行的系统之一是目前最流行的手机智能平台目前广泛的应用在智能手机上在智能手机领域掀起了A...

20xx年吕楼小学学生体质健康测试工作总结

学生体质健康测试工作总结吕楼小学20xx年12月学生体质健康测试工作总结为贯彻落实学校体育健康第一的指导思想切实加强学校体育工作的具体体现我校十分重视学生体质健康标准实施和测试工作在20xx年下旬对全校学生进行...

马村镇南陆小学学生体质健康测试工作总结

马村镇南陆小学学生体质健康测试工作总结20xx20xx学年度学生体质测试工作于9月开始体质测试的项目有身高体重肺活量立定跳远跳短绳实心球投沙包等体质测试的项目符合国家体质测试的基本要求为了进一步搞好我校的学生体...

兼容测试经验总结

1DDC功能测试目的模拟用户使用不同的开关机方法不同的操作系统下确认Monitor是否能正常识别DDC控制用户在Monitor能支持范围内选择他们所要Mode1在Win98下如果测到monitor为无法识别监视...

手机上app测试总结

手机上app测试总结上一篇下一篇20xx0721213010个人分类手机测试查看13119评论7评分65手机上的app分为基于HTML5的app类似于pc上的bS应用和本地app类似于CS结构所以测试上我们也可...

测试经验总结(56篇)