软件测试基础 有没有很好的实验案例
有些同行提到自动化测试或自动化测试开发就想到使用自动化测试工具QTP、Winrunner、或其他开源的测试框架,其实除了这些商业的自动化测试工具外,我们亲自编写一些测试驱动程序,完全可以实现自动化测试,且控制灵活,能够符合自己公司业务系统的特点。
下面是一个小案例,希望能够给你带来一些启发。
测试需求: 要对公司提供的Web services进行测试,包括功能和性能,当然只是测试压力。
功能就是把从web services 调用中把提交一条发送的WAP push广告信息插入到数据库,因为数据库表之间有关联,所以插入后数据后,会自动选择决定选择投放的频道,当用户单击频道上的链接后再显示广告文字或图片。
功能就是要测试插入一条广告后,是否正确的选择频道,并且插入的信息是正确的。
性能测试则是测试当前服务器能够部署的web services能处理多少条插入的广告信息。
测试开发设计: 把发布的Web services地址直接添加到测试开发的web references中,通过在C#中直接调用Web services方法,把从界面的广告信息传递给该方法。
为了检验插入是否正确,打开数据库读取字段与测试数据进行比对。
在压力测试时,通过开辟多个线程,向系统施加压力(本系统在压力时,没有改变插入的数据,其在数据库表中因为有ID为主键,所以不会冲突)。
自动化测试无处不在,只要有时间,有条件,可以随时开发适合的测试小工具,满足测试的需要。
下次再讲解一个直接通过读取页面链接,进行压力测试的例子。
软件测试案例的编写?
需要写“测试内容”、“执行步骤”、“预期结果”、“实际结果”,“是否通过”,举个例吧,就拿腾讯的垃圾客户端来说,QQ登陆器,首先分类,可以分为“账号输入”、“密码输入”,“按钮点击”和“键盘快捷键”来分,首先是“账号输入”,又可以分为有效等价类和无线等价类,有效等价类就是输入正确的账号,无效等价类就是输入错误的账号,而错误的账号又可以分为几种,输入字母,输入汉字,输入特殊字符,等等;后面的“密码输入”类似,而“按钮点击”则是测试比如“登陆”按钮是否有效,也就是各个按钮的功能是否正确,“键盘快捷键”,比如在输入完账号过后直接点击键盘上的回车或者其他按钮是否可以开始登陆账号。
我就写一个用例来说明嘛,“账号输入”的,测试内容:“输入正确的账号点击'登陆',是否可以开始登陆(密码项输入正确的情况下)”,执行过程:“在'账号'栏输入正确的账号(密码项输入正确文本,点击'确定')”,“预期结果”:账号开始登陆且登陆成功;实际结果:“ ”,等测试过后,是什么样子的就在实际结果填写什么,就这了,希望楼主采纳,打字很累啊...
软件测试工程师的前景如何?需要通过哪些认证?
这是因为开发人员喜欢想当然。
国内现在已经有了一些软件测试基础的教材,包括微软在内,都还没有一个统一标准,而是因为以前测试人员水平太差,或者以前的测试方面有问题?有人说可以可以派人去先进的国外软件企业学习,这不仅仅是一个人的问题,软件缺少测试而产生的问题给她留下了很深的印象。
后来去大唐电信做UIM(统一消息管理系统),她发现尽管公司为了鼓励员工找bug采取了很多奖励方法,因为软件的bug往往出在大型软件的连接处。
做软件测试工程师需要对软件抱有怀疑态度。
性格随和才能和开发人员顺畅的沟通,对人和对事是完全不同的两个问题。
如何培养优秀的软件测试工程师 朗川软件测试工程师张建阳从北大力学系毕业之后。
对技术要求最强的是这些人,因为它们要具备写程序的技术。
“因为不同产品的特性不一样,对测试工具要求也是不同的。
产品开发后的性能测试、提交测试等过程,都有可能要用到开发的测试工具,开设四方面的软件测试专业基础课,测试还应该考虑性能问题。
陈宏刚介绍说,在五六个人的测试小组时,一半以上的Bug都是他找到的。
引进人才只是开始,更重要的是培养一批软件测试人才,把在国外大型软件公司工作过。
而行业特色软件测试的课程可以开阔学生的视野,软件测试也是找这一点。
做测试还要考虑到所有出错的可能性,还要做一些不是按常规做的.以前国内认为只要有好的程序员就行了,没有内存泄漏,不会出现运行越来越慢的情况;在不同的使用环境下,考虑软件的兼容性同样重要,有些开发人员甚至认为不利于程序执行的数据是对代码的玷污和亵渎。
而软件测试却要策略性的准备各种数据,从每个细节上设计不同的应用场景,不去想当然的假定任何一个数据是可行的。
软件测试对逻辑思维、学习能力,各个方面都考虑到,一个条件不满足就无法证明,一个Bug都没有发现。
陈宏刚也很沮丧,觉得这样挺对不起公司:软件测试基础、软件测试开发,并升到了公司高级副总裁的位置。
和腾软件也培养了一批测试工程师,它们从对测试职业将信将疑到明确自己的测试方面的职业目标。
刘忠介绍说:“很多人开始做测试执行工作时会说很麻烦、很枯燥,只是一味的埋怨,而不是主动的去学习,他没有看到软件测试背后所隐藏的知识。
因为学习可以做这些工作,不学习也可以做这些工作,但质量是不同的。
有些人自学和请教了很多测试技术和管理方面的知识,公司自然就会在下个项目中去培养他。
” 因此对于一个新手,要在各方面培养自己的能力。
首先是要理解各种测试流程,并在理解的基础上转化为自己的知识,以后遇到相似的问题能自己去解决。
在测试技能上,要知道测试有那些手段,比如压力测试有哪些方法,哪些工具可以辅助做测试。
从专业技能上,面向不同的技术方向,像操作系统、网络、通信等都要从专业上深入了解。
这三方面要同步去成长。
软件测试工程师未来的发展 从事软件测试有没有前途,未来的职业发展方向怎样呢? 陈宏刚博士表示,软件测试工程师在微软的发展有几种途径:一种走技术路线,成长为高级软件测试工程师,这时他能够独立测试很多软件,再向上可以成为软件测试架构设计师。
第二种就是向管理方向发展,从测试工程师到组长(Lead),再到项目经理(Manager),到更高的职位。
第三种可以换职业,做项目管理,做开发人员都可以,很多测试工具软件开发工程师在写测试软件的过程中,因为开发方面积累了经验,同时对软件产品本身产生了自己的看法,很容易转去做产品编程。
陈宏刚博士现在还带着一个测试小组,两个清华软件学院的学生,一个南开的专门做软件测试的博士生,一个北邮的学生,他们负责总部一个产品的测试。
陈博士表示,在自己简单的讲讲思路,共同探讨之后,他们一星期就找出了70多个Bug,也感觉学了很多知识,并表示以后专注于软件测试专业,因为他们感觉软件测试真的是一门很深的学科,有很多可以研究的课题。
其实微软的测试人员很多也都是硕士、博士,他们同样在做创造性的工作,保证着程序质量,推动着软件的进步。
软件测试是正在快速发展,充满挑战的领域。
尽管现在单机版桌面软件的测试已经成熟了很多,但对于网络时代的到临,包括微软在内的公司对基于网络的测试也没有一套完整的体系,也是处于探索中,网络中被攻击的可能性太大,这就是为什么黑客在网络上能兴风作浪的原因。
网络测试是一个新环境,而且是很大的挑战。
软件测试未来的发展空间很大,软件测试工程师的职业之路同样充满希望。
,微软的软件测试工程师分为三种:测试执行者(Basic Software Tester)、非常奇怪的事。
除了漏洞检测,并利用测试工具对软件进行测试;或者开发测试工具为软件测试工程师服务。
刚进入微软时,老板也是只给陈宏刚一个操作流程,每天就按照这个规程去做,几天下来。
对此,陈宏刚感受颇深:“一方面我体会到了微软非常鼓励创造的文化,也不应该归属开发人员。
这三个部门应该是并驾齐驱,人们会认识到他们的重要性。
如果你已经开始从事软件测试工作,但这种方式因为牵涉到商业秘密,可操作...
【求软件测试用例的一个实例.求写一个实例,比如说:1+1=?包括测...
一般测试流程:1.需求分析阶段:只要就是对业务的学习,分析需求点。
2.测试计划阶段:测试组长就要根据SOW开始编写《测试计划》,其中包括人员,软件硬件资源,测试点,集成顺序,进度安排和风险识别等内容。
3.测试设计阶段:测试方案一般由对需求很熟的高资深的测试工程师设计,测试方案要求根据《SRS》上的每个需求点设计出包括需求点简介,测试思路和详细测试方法三部分的方案。
《测试方案》编写完成后也需要进行评审。
4.测试方案阶段:主要是对测试用例和规程的设计。
测试用例是根据《测试方案》来编写的,通过《测试方案》阶段,测试人员对整个系统需求有了详细的理解。
这时开始编写用例才能保证用例的可执行和对需求的覆盖。
测试用例需要包括测试项,用例级别,预置条件,操作步骤和预期结果。
其中操作步骤和预期结果需要编写详细和明确。
测试用例应该覆盖测试方案,而测试方案又覆盖了测试需求点,这样才能保证客户需求不遗漏。
同样,测试用例也需要评审。
5.测试执行阶段:执行测试用例,及时提交有质量的Bug和测试日报,测试报告等相关文档。
软件测试流程,在给我一个测试项目的例子
一般的软件测试流程是这样:1.拿到需求说明书,开始对需求进行测试,找出需求中的问题或者说不可测的地方2.需求测试通过后,根据需求说明书制定测试计划,包括测试策略、测试方法、测试周期等3.然后根据软件功能说明书编写测试用例,一般的公司都是根据需求说明书进行编写4.搭建测试环境,包括软件环境和硬件环境5.根据测试用例进行测试,提交缺陷6.回归测试7.测试完成后,进行测试总结,编写测试报告至于测试文档,我这倒是有cmmi标准的一些文档,如果你想要的话,可以留下邮箱,我发过去。
好了,都发过去了。
...
软件测试时碰到实际问题,怎么解决举个例子
冒烟测试,是对软件基本的功能进行测试,测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本的功能正常,保证软件系统能跑的起来,可以进行后续的正式测试工作。
举个简单的例子:新开发一个加法软件,答错后会显示正确答案。
测试者故意输错答案后却没有显示正确答案,就直接退回给开发人,不必去考虑其他原因。
这个就是冒烟测试。
...
软件测试工程师的职业优势
入门门槛低大中专学历即可,是不是计算机专业都可以。
如果是其他有业务背景的专业更有优势,例如:会计、金融、办公自动化、酒店管理、网站设计等。
对于有行业背景的人来说入门更快,因为对于测试工作来说,有时懂业务比懂技术还重要,你会了技术,去各行各业做测试都是要学习业务知识的,这是很正常的事。
初级技术要求低目前大部分测试技术还属于手工测试,手工测试要求入门门槛很低。
你只要会写用例,会提缺陷就可以了。
测试人员需要简单了解业务知识,学习所开发系统的使用,也就是会使用系统就可以了。
照着用例执行测试,发现缺陷直接提交缺陷就可以了。
很大的薪酬优势刚开始工作时月薪最低4000多,但工作半年,对工作流程了解后,再去换工作,五六千没问题。
如果做银行业务测试起薪六七千没问题,有一点银行业务知识的再去换工作八千以上没问题,现在银行测试人员缺口很大。
尤其是在大的外包公司做好的项目,比如银行项目等待遇和同等工作经历的开发差不多。
就业好国外开发与测试的比例是1:2。
目前国内开发与测试的比例是6:1。
所以测试行业人才缺口很大,就业前景很好。
基本属于供不应求。
工作比较轻松比起软件开发工程师来说,软件测试工程师的工作就相对轻松多了 测试分为三个阶段:手工测试、自动化测试、性能测试。
这是一个逐步提升的过程。
最初工作可能做手工测试,也是目前绝大部分测试人员所从事的工作。
自动化测试是测试的发展趋势,而且现在自动化测试人员急缺,且薪资很高。
现在最稀缺的是性能测试人员,目前性能测试人员的待遇比同等经历的开发可能还要高,因为现在性能测试人员属于稀缺状态。
(1)手工测试:现在比较普及,大多数测试都还停留在手工测试阶段。
(2)自动化测试:是趋势,但目前用自动化测试的还比较少,需要适当的代码编写工作。
做一段手工测试后,积累一定经验,可以慢慢步入自动化测试阶段,如果自动化测试比较熟练,月薪1万没问题,和开发工资差不多。
(3)性能测试:性能测试人员现在稀缺人群,一般能做性能测试,且做得可以的一般月薪都在1.6万以上,比开发要高。
计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。
尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。
计算机专业技能主要包含三个方面:⒈ 测试专业技能测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。
测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
⒉ 软件编程技能软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。
因此,测试人员要想得到较好的职业发展,必须能够编写程序。
只有能够编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。
因此测试人员要具备一定的算法设计能力。
依据资深测试工程师的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。
⒊ 网络、操作系统、数据库、中间件等知识与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。
由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。
例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。
而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。
因此不但要掌握基本的安装、配置,还要掌握SQL。
测试人员至少应该掌握Mysql、MSSqlserver、Oracle等常见数据库的使用。
行业主要指测试人员所在企业涉及的行业领域,例如很多IT企业从事石油、电信、银行、电子政务、电子商务等行业领域的产品开发。
行业知识即业务知识,是测试人员做好测试工作的又一个前提条件,只有深入地了解了产品的业务流程,才可以判断出开发人员实现的产品功能是否正确。
很多时候,软件运行起来没有异常,但是功能不一定正确。
只有掌握了相关的行业知识,才可以判断出用户的业务需求是否得到了实现。
行业知识与工作经验有一定关系,通过时间即可以完成积累。
作为一名优秀的测试工程师,首先要对测试工作有兴趣:测试工...
转载请注明出处51数据库 » 软件测试案例与实践...
再打我可真生气了