篇一 :软件测试经验总结

软件生命周期(SDLC)的六个阶段

1、问题的定义及规划

此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

2、需求分析

在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。

3、软件设计

此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。

4、程序编码

此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。

5、软件测试

在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

6、运行维护

软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。

2、软件生命周期模型

从概念提出的那一刻开始,软件产品就进入了软件生命周期。在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为"生命周期模型"(Life Cycle Model)。

…… …… 余下全文

篇二 :手机软件测试经验总结

手机软件测试总结

沙晶晶

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

1. 软件测试理论知识

这个不用多说,软件测试工程师必须要掌握的,软件测试如何融入整个开发的流程,什么时候介入,什么时候结束,如何搭建测试环境,如何设计测试用例 (包括设计测试用例的方法,如:等价类划分,边界值法等),如何使用测试工具,还有测试领域专用的一些术语等等。

2. 开发技能

合格的高级软件测试工程师,编程技能不可缺少。在手机测试中,比如自动化测试,完全可以开发工具来实现自动化测试。所以掌握一门扎实的编程语言,C或者C++还是非常重要的,能够自己开发测试工具,也是一个高级手机软件测试工程师应该具备的素质。我认为我们不应该只是单纯的发现bug,而应该从更深层次的去探究这个 bug的原因,甚至可以定位bug。

另外从技能上讲,面向不同的技术方向,像操作系统、网络、通信等都要从专业上深入了解。这些是除去工作时间外必须去加强充电的部分。有这些做后盾,做起事来也会事半功倍。

另外手机测试中应该注意的问题

首先是正确性测试,正确性测试又可称为功能性测试,我们首先就是要测试所有功能是否都已实现、正确、是否满足需求规格说明。

正确性测试还要考虑到用户界面,软件产品始终是关注软件使用者——客户的体验,手机屏幕小,界面有限,所以手机软件的用户界面更需有一定的规范和标准:正确性、一致性、直观性、实用性、灵活性、舒适性便是最基本的标准。

正确性一般比较明显,比较容易发现,例如某个窗口没有被完全显示,文字没有对齐,文字拼写错误,密码输入时没有以*的形式自动屏蔽等。

一致性包括软件自身的一致性以及手机操作系统或与其它软件的一致性,具体表现在使用的术语,字体是否一致,界面的各参数风格是否前后一致等。特别也要注意中英

…… …… 余下全文

篇三 :性能测试经验总结

第一步:计划测试

1、明确压力点,根据压力点设计多少种场景组合

2、把文档(包括多少种场景组合、场景与场景组合条件的对应表)写好

3、如果监测UNIX机器,在被监测的机器需要安装监测Unix的进程

4、让开发人员帮助我们准备测试数据或他们写相关的文档我们来准备数据

5、让开发人员做一个恢复数据的脚本,以便我们每次测试的时候都能有一个相同的环境

6、针对每一个模块包括四个子文件夹:如模块A下包括“脚本”“场景”“结果”“图表” 四个子文件夹,每个子文件夹储存对应的文件,如下表所示

其中:结果名“1场景”是在场景中的“Results Setting”中设置的,具体的设置见“建立场景”部分,这里也可以有另外一种方法:在打开模板设置,如下:

选中“Automatically save the session as:”并且在“%ResultDir%”后面填写你想保存的文件名,当你打开某个lrr文件时,系统自动在当前目录中生成一个文件保存分析图表,如下图所示:

第二步:生成测试脚本

1、把登陆部分放到“vuser_init”部分,把需要测试的内容部分放到“Action”部

分执行;但是如果是模拟多个用户登陆系统,则要把登陆部分放到Action部分来实现

2、录制脚本后,想查询某个函数的原型,按“F1”键

3、确认脚本中哪些参数是需要进行参数化的(最好能可以和开发人员一起确认)

4、在脚本参数化时把函数web_submit_data()中的ITEMDATA后面的数据参数

化,因为这些数据是传递给服务器的,当然也可以把一个函数中的所有相同变量都替换掉

5、脚本中无用的部分用“/*”“*/”“//”注释掉,但最好不要删除

6、调试脚本遵循以下原则:

确认在VU里SUSI(单用户单循环次数single user & single iteration)

…… …… 余下全文

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

软件异常测试

从业务需求方面:

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

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

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

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

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

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

从操作需求方面:

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

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

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

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

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

…… …… 余下全文

篇五 :测试经验总结

1.测试人员和用户的联系与区别

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

八个字归纳:用户是用,测试是测。

用户不懂使用就需要技术支持人员去培训,而测试人员在测试初期经过开发人员和项目负责人的简单培训后,就应该通过所学的理论知识和相关的业务知识独立去了解、深入到软件的功能点中。

应该做到:由测试人员培训技术支持人员,由技术支持人员实施时给用户培训。

2.带着问题去测试

阿猪工作守则第一条:带着问题去测试

测试中会遇到很多问题,没关系,没有脑子里面的一个个问号,是不能很好的发现问题的。往往发现一些藏的很深的bug都是在测试人员一步步解决这些问号的过程中,切忌遇到问题就问,不仅因为增加不必要的与开发人员、负责人等的交流时间可能延误项目进度,而且自己对问题的印象也不会很深刻,毕竟在相对较短的测试时间内,听不如记,记不如自己去发现规律。

3.测试期间提问题和交流的时机

什么时候应该提问题?

我们都知道,作为测试人员,并不是测试期间什么时候遇到问题就要马上问,那什么时候是提问的时间?

培训

培训时,一般在讲解内容的间歇允许打断,由培训人员解答测试人员的疑惑。培训的过程其实就是一个传输新知识并答疑的时间,这个期间的提问是欢迎的,也可以增加参与性和调动积极性。所以希望大部分的问题能在这个阶段提出来。受时间、环境等条件制约,有时培训的人讲的也不一定细致和全面,这时就需要自己多想,想想这个功能是干什么的,为什么这么做,对应的业务是什么。

阿猪工作守则第二条:培训时脑子灵活转动,多想多问

以前大家可能有过参加辩论会的经历,就算没有其实和人聊天也是一个交互的过程。参加辩论会要求快速思考,然后放慢语速说出自己的观点,因为不能说错。我们在参加培训时前者相同,后者相反。脑子嘴巴都要快,说错了也没有关系,自己的想法被纠正的过程中也是加深印象和理解的过程。

…… …… 余下全文

篇六 :手机测试经验总结--SMS

手机测试经验总结--SMS

手机测试经验总结--SMS

短消息

u GSM中唯一不要求建立端-端业务路径的业务就是短消息(亦称为短信),即使移动台已处于通话状态下仍可进行消息传输。

?SMS:Short Message Service,即短消息服务。SMS主要发送的内容是文本格式。

?EMS:Enhanced Message Service,即增强型短消息,可以发送图片、铃声、动画等。

u 注意事项:短消息中心号码的设置,在测试的时候,请先咨询当地运营商;

?出现如下情况时候,可能是短消息中心设置错误:

n 手机可以收短信,不能发短信;

n 可能在深圳可以发短信,但漫游到某地后无法发短信---一般在重设短信中心号码并重新关开机后,问题可以解决。

测试项

1. 短消息的编辑、保存、详情、发送、回复、转发;

2. 短消息接收:查看、浏览,此外还有系统对EMS的支持,例如:能否正常显示和播放-----图片、铃声、动画等;

3. 单元长度的短消息测试;

注意:在GSM协议里规定(具体描述见GSM 03.40):一个7bit编码方式的短消息单元长度为160字符。因为有的字体是采用7bit编码方式,有的字体采用8bit编码方式,因此,在测试的时候,请先搞清楚具体的编码方式。

l 7bit编码:一个单元的短消息可以输入160个英文字符;

l 8bit编码:一个单元的短消息可以输入140个英文字符;

l 汉字:如果是按照Unicode编码的汉字,每个汉字占16bit,所以一个单元只能输入70个汉字;

l 如果在一条短消息中包含汉字和英文字符,则一个单元短消息的长度只能按照汉字短消息的长度来计算;

…… …… 余下全文

篇七 :测试经验总结1

一、测试用例是软件测试的核心

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

影响软件测试的因素很多,例如软件本身的复杂程度、开发人员(包括分析、设计、编程和测试的人员)的素质、测试方法和技术的运用等等。因为有些因素是客观存在的,无法避免。有些因素则是波动的、不稳定的,例如开发队伍是流动的,有经验的走了,新人不断补充进来;一个具体的人工作也受情绪等影响,等等。如何保障软件测试质量的稳定?有了测试用例,无论是谁来测试,参照测试用例实施,都能保障测试的质量。可以把人为因素的影响减少到最小。即便最初的测试用例考虑不周全,随着测试的进行和软件版本更新,也将日趋完善。

因此测试用例的设计和编制是软件测试活动中最重要的。测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。

二、什么叫测试用例

测试用例(Test Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。

不同类别的软件,测试用例是不同的。不同于诸如系统、工具、控制、游戏软件,管理软件的用户需求更加不统一,变化更大、更快。笔者主要从事企业管理软件的测试。因此我们的做法是把测试数据和测试脚本从测试用例中划分出来。测试用例更趋于是针对软件产品的功能、业务规则和业务处理所设计的测试方案。对软件的每个特定功能或运行操作路径的测试构成了一个个测试用例。

三、编写测试用例

着重介绍一些编写测试用例的具体做法。

1、测试用例文档

编写测试用例文档应有文档模板,须符合内部的规范要求。测试用例文档将受制于测试用例管理软件的约束。

…… …… 余下全文

篇八 :Oracle的性能测试经验总结

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

1)压力测试过程中发现一些SQL脚本执行非常慢,进行了优化。

2)最好并发测试,否则服务基本上没有什么压力。

3)先从100用户开始,再慢慢向上加,直到CPU的承载达到90%以上。查看系统的性能情况,包括TPS,响应时间,和内存等。

还包括oracle服务器的I/O流量和交易数。

这个方案是参考了淘宝的机房性能测试方案,下面是性能测试的具体步骤:

oracle的性能测试主要是模拟大量的sql语句操作,来对数据库服务器进行加压。在测试前,需要准备以下要模拟的sql语句,测试脚本,并将测试控制机、测试加压机、被测数据库服务器准备妥当。

脚本协议选择oracle(2-Tier),将所有要模拟的sql语句放在一个sql文件内,使用sql-plus来操作数据库载入,使用 loadrunner来录制。录制好之后就是修改脚本了,首先在vdf.h文件中定义变量(static void FAR * OraBind1;),定义参数(

static LRD_VAR_DESC UID =

{LRD_VAR_DESC_EYECAT, 1, 10, LRD_DBTYPE_ORACLE, {1, 1, 0},

DT_SF_STRIPPED_SPACES};)。

为什么要在这里定义而不直接只用参数化呢?因为那样会对加压机造成很大的压力,不利于测试。这里需要根据你的脚本来变化,你在脚本中使用了多少变量,多少参数,那么你就在要这里定义多少。接下来修改脚本的,将一次性的登陆登出放在init和end中,使用lrd_assign和 lrd_ora8_bind_placeholder命令替代参数,如

lrd_ora8_stmt(OraStm6, "SELECT COUNT(*) as counter FROM ***** WHERE ***_id=" ":U and ( status = 0 or "

…… …… 余下全文