51Testing软件测试网

 
 

常用链接

  • 我的随笔
  • 我的评论
  • 我参与的随笔

留言簿(3)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔档案

  • 2021年6月 (1)
  • 2021年3月 (1)
  • 2020年9月 (1)
  • 2020年3月 (1)
  • 2020年1月 (2)
  • 2019年12月 (3)
  • 2019年11月 (5)
  • 2019年10月 (1)
  • 2019年9月 (2)
  • 2019年8月 (14)
  • 2019年7月 (20)
  • 2019年6月 (15)
  • 2019年5月 (12)
  • 2019年4月 (19)
  • 2019年3月 (20)
  • 2019年2月 (9)
  • 2019年1月 (16)
  • 2018年12月 (17)
  • 2018年11月 (21)
  • 2018年10月 (16)
  • 2018年9月 (20)
  • 2018年8月 (22)
  • 2018年7月 (3)
  • 2018年6月 (1)
  • 2018年5月 (7)
  • 2018年4月 (1)
  • 2018年3月 (3)
  • 2018年2月 (6)
  • 2018年1月 (2)
  • 2017年9月 (8)
  • 2017年8月 (28)
  • 2017年7月 (3)
  • 2016年11月 (1)
  • 2016年6月 (1)
  • 2016年4月 (1)
  • 2016年2月 (2)
  • 2015年7月 (1)
  • 2015年5月 (1)
  • 2015年4月 (2)
  • 2015年3月 (1)
  • 2015年2月 (2)
  • 2015年1月 (6)
  • 2014年12月 (3)
  • 2014年11月 (3)
  • 2014年10月 (3)
  • 2014年9月 (2)
  • 2014年8月 (8)
  • 2014年7月 (16)
  • 2013年12月 (5)
  • 2013年11月 (1)
  • 2013年10月 (3)
  • 2013年9月 (2)
  • 2013年8月 (2)
  • 2013年7月 (3)
  • 2013年5月 (1)
  • 2013年4月 (2)
  • 2013年3月 (2)
  • 2013年2月 (3)
  • 2013年1月 (4)
  • 2012年12月 (4)
  • 2012年11月 (4)
  • 2012年10月 (3)
  • 2012年9月 (4)
  • 2012年8月 (3)
  • 2012年7月 (4)
  • 2012年6月 (2)
  • 2012年5月 (2)
  • 2012年4月 (1)
  • 2012年3月 (2)
  • 2012年2月 (2)
  • 2012年1月 (1)
  • 2011年12月 (3)
  • 2011年11月 (2)
  • 2011年10月 (1)
  • 2011年9月 (4)
  • 2011年8月 (3)
  • 2011年7月 (2)
  • 2011年6月 (4)
  • 2011年5月 (4)
  • 2011年4月 (2)
  • 2011年3月 (4)
  • 2011年2月 (4)
  • 2011年1月 (7)
  • 2010年12月 (7)
  • 2010年11月 (5)
  • 2010年10月 (4)
  • 2010年9月 (7)
  • 2010年8月 (7)
  • 2010年7月 (3)
  • 2010年6月 (3)
  • 2010年5月 (4)
  • 2010年4月 (4)
  • 2010年3月 (5)
  • 2010年2月 (3)
  • 2010年1月 (4)
  • 2009年12月 (3)
  • 2009年11月 (3)
  • 2009年10月 (1)
  • 2009年9月 (3)
  • 2009年8月 (2)
  • 2009年7月 (3)
  • 2009年6月 (1)
  • 2009年5月 (2)
  • 2009年4月 (4)
  • 2009年3月 (5)
  • 2009年1月 (1)
  • 2008年11月 (2)
  • 2008年7月 (5)
  • 2008年6月 (4)

文章分类

  • 行业资讯(45) (rss)
  • 软件业务知识(43) (rss)
  • 软件开发知识(33) (rss)
  • 软件测试工具(39) (rss)
  • 软件测试技术(157) (rss)
  • 软件测试管理(40) (rss)
  • 软件测试职业发展(57) (rss)

51testing软件测试网

搜索

  •  

最新评论

  • 1. re: 淘宝后台技术大揭秘,不看这篇你双十一要损失几个亿!
  • 关注官方公众号“Atstudy网校”,点击中间菜单栏“双11”,领取双十一技术内幕资料。
  • --51testing
  • 2. re: 软件测试流程的一点感悟
  • 提交缺陷时只需要描述现象即可,过多的分析可能会误导开发
  • --凡客诚品
  • 3. re: 软件测试流程的一点感悟
  • 阿达宿建德江阿斯顿
  • --凡客礼品卡
  • 4. re: 手机软件测试的经验总结
  • 很好啊~不错
  • --乐蜂网
  • 5. re: 手机软件测试的经验总结
  • 很好啊~
  • --罗莱家纺

阅读排行榜

  • 1. 软件测试流程的一点感悟(1091)
  • 2. 5年经验之谈:月薪3000到30000,测试工程师的变“行”记!(940)
  • 3. 测试自动化及软件测试工具的比较(858)
  • 4. 银行线上信贷系统如何做好接口测试?手把手教你接口工具Postman(825)
  • 5. 软件为什么要做异常测试?测试员必知的22个测试点总结!(807)

评论排行榜

  • 1. 软件测试流程的一点感悟(4)
  • 2. 软件测试的原则和经验 (4)
  • 3. 嵌入式软件测试技巧(2)
  • 4. 手机软件测试的经验总结 (2)
  • 5. 常用软件测试工具的分析与比较(1)

Powered by: 博客园
模板提供:沪江博客
IT博客 | 首页 | 发新随笔 | 发新文章 | 联系 | 聚合 | 管理

购物平台性能测试模版

  XXX性能测试报告

  一.概述

  1.1目的

  为了确保XXX“XXX”活动的正常和有续进行,检验系统的承压性能和稳定性能,对平台进行性能测试,同时发现系统中存在的性能瓶颈,起到优化系统的目的;测试的依据是产品的需求规格说明书和性能标准说明。

  1.2名词解释

  性能测试:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。

  二.测试需求分析

  2.1测试对象

  产品名称:XXX平台

  版本:V1.0

  版本日期:2013.10.10

  2.2系统结构

  请参考设计说明书

  2.3测试范围

  XXX平台的各项性能:服务器CPU使用情况,内存使用情况,网络吞吐量情况,并发登陆承载模拟.

  性能指标:

  1.Memory:AvailableMBytes

  2.Memory:Page/sec

  3.Processor:ProcessorQueueLength

  4.Processor:ProcessorTime

  5.Processor:ContextSwitches/sec

  6.Ethernet:Throughput

  2.4测试环境

  系统环境:

  Sever:Windows2008severIIS7.0

  Client:Windows7

  硬件环境:

  IPCPUOSMemoryStorage

  XXX.XXX.XXX.XXXXeonCPUE526200@2GHzWindows2008sever16G300G

  测试工具:

  Laodrunner11.0

  三.测试场景设计

  3.1场景

  1.模拟多人登陆系统后,选择商品,进行购买,购买成功后进行付款。

  3.1.1测试目的

  测试在多人登陆,产生大数据量的情况下,系统和服务器的承载和处理能力。

  3.1.2测试步骤

  使用loadrunner形成脚本

  1.登陆系统

  2.输入用户名,密码

  3.输入查询条件选择出商品

  4.选择该商品,放入购物车

  5.提交购物车中的商品,形成订单

  6.进行付款

  场景

  1.加载多个用户运行生成的脚本

  2.观察运行期间内的服务器各项性能指标

  3.1.3测试结论

  根据压力测试的各项数据结果,系统在多用户登陆的情况下,运行稳定,正常,压力承载在可承受范围内

posted @ 2013-10-11 15:06 51testing 阅读(81) | 评论 (0) | 编辑 收藏
 
购物平台性能测试模版

  XXX性能测试报告

  一.概述

  1.1目的

  为了确保XXX“XXX”活动的正常和有续进行,检验系统的承压性能和稳定性能,对平台进行性能测试,同时发现系统中存在的性能瓶颈,起到优化系统的目的;测试的依据是产品的需求规格说明书和性能标准说明。

  1.2名词解释

  性能测试:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。

  二.测试需求分析

  2.1测试对象

  产品名称:XXX平台

  版本:V1.0

  版本日期:2013.10.10

  2.2系统结构

  请参考设计说明书

  2.3测试范围

  XXX平台的各项性能:服务器CPU使用情况,内存使用情况,网络吞吐量情况,并发登陆承载模拟.

  性能指标:

  1.Memory:AvailableMBytes

  2.Memory:Page/sec

  3.Processor:ProcessorQueueLength

  4.Processor:ProcessorTime

  5.Processor:ContextSwitches/sec

  6.Ethernet:Throughput

  2.4测试环境

  系统环境:

  Sever:Windows2008severIIS7.0

  Client:Windows7

  硬件环境:

  IPCPUOSMemoryStorage

  XXX.XXX.XXX.XXXXeonCPUE526200@2GHzWindows2008sever16G300G

  测试工具:

  Laodrunner11.0

  三.测试场景设计

  3.1场景

  1.模拟多人登陆系统后,选择商品,进行购买,购买成功后进行付款。

  3.1.1测试目的

  测试在多人登陆,产生大数据量的情况下,系统和服务器的承载和处理能力。

  3.1.2测试步骤

  使用loadrunner形成脚本

  1.登陆系统

  2.输入用户名,密码

  3.输入查询条件选择出商品

  4.选择该商品,放入购物车

  5.提交购物车中的商品,形成订单

  6.进行付款

  场景

  1.加载多个用户运行生成的脚本

  2.观察运行期间内的服务器各项性能指标

  3.1.3测试结论

  根据压力测试的各项数据结果,系统在多用户登陆的情况下,运行稳定,正常,压力承载在可承受范围内

posted @ 2013-10-11 15:06 51testing 阅读(102) | 评论 (0) | 编辑 收藏
 
C/S结构与B/S结构的特点分析

  C/S结构与B/S结构的特点分析

  为了区别于传统的C/S模式,才特意将其称为B/S模式。认识到这些结构的特征,对于系统的选型而言是很关键的。

  1、系统的性能

  在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。

  不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。

  2、系统的开发

  C/S结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,C/S结构的软件需要开发不同版本的客户端软件。但是,与B/S结构相比,C/S技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、更可靠的。

  3、系统的升级维护

  C/S系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网就可以。对于B/S而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么B/S架构的产品优势明显——所有的升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的,例如一些招聘网站就需要采用B/S模式,客户端分散,且应用简单,只需要进行简单的浏览和少量信息的录入。

  4、C/S模式的优点和缺点

  ★C/S模式的优点

  ●由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。

  ●操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。

  ●C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

  ★C/S模式的缺点

  ●需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。

  ●兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。

  ●开发成本较高,需要具有一定专业水准的技术人员才能完成。

  5、B/S模式的优点和缺点

  ★B/S模式的优点

  ●具有分布性特点,可以随时随地进行查询、浏览等业务处理。

  ●业务扩展简单方便,通过增加网页即可增加服务器功能。

  ●维护简单方便,只需要改变网页,即可实现所有用户的同步更新。

  ●开发简单,共享性强。

  ★B/S模式的缺点

  ●个性化特点明显降低,无法实现具有个性化的功能要求。

  ●操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。

  ●页面动态刷新,响应速度明显降低。

  ●无法实现分页显示,给数据库访问造成较大的压力。

  ●功能弱化,难以实现传统模式下的特殊功能要求。

  近年来,随着软硬件技术发展和人们意识的提高,Web应用得到广泛的普及,一方面在互联网浪潮的推动下,基于互联网的信息共享和电子商务不断发展,像新浪、搜狐、8848等大型网站不断涌现出来,另一方面随着Java、CGI等网络技术的成熟,基于B/S结构的大型软件逐渐显示出巨大的优势。同时,也就产生了一个焦点问题,什么样的服务器能够满足不同用户的需求,怎么能够保证Web服务器能够长期稳定地运行,为了满足这样的需求Web测试也就同样变得十分重要。

  当前Web测试主要通过Web测试工具加上良好的测试案例完成的,我们认为主要有以下两种测试类型:基准测试、非基准测试

  基准测试:主要指测试工具已经提供了标准的测试案例库,包括静态测试案例(HTM、JPG)、动态测试案例(CGI)和SSL测试案例等。这类测试工具分为测试案例库、控制台程序、客户端程序三个部分。它的原理是,Web服务器开启特定的Web服务程序,并且运行上述测试案例,由控制台程序控制各个客户端按照一定的脚本访问顺序遍历Web服务器的各个测试案例,每个请求完成后,各个客户端向控制台报告访问的结构,当一个测试集完成后由控制台将所有的信息综合统计,测试过程中控制台还需要采用SNMP协议对服务器进行实时监控,综合两个方面的因素可以反映出Web服务器在不同压力情况下的综合性能。

  在测试过程中,主要影响测试结果的因素有网络环境、客户端性能。目前无论IA架构服务器还是SUN、HP、IBM的UNIX服务器性能都越来越优越,有可能出现在100MB网络下不能够提供足够的网络压力,有可能网络首先出现瓶颈,这样就需要扩展到1000MB网络环境或使用多个网段对服务器提供足够的压力,而稳定的客户端对于测试来说也是十分重要的,因为客户端如果出现性能下降,就会造成系统崩溃或者不能提供稳定的测试压力从而导致测试结果出现偏差;一台客户端到底能够稳定运行多少数量的连接是根据不同的硬件配置和操作系统决定的,因此对客户端的硬件资源进行监控是保证客户端可以稳定运行的必要手段。

  由于这类测试工具使用的是工具开发商提供的测试案例集,虽然也具有一定的权威性,但是目前再完美的测试案例集也不能涵盖所有的Web应用情况,所以也不能够完全体现出Web服务器完整的性能,因此该类测试工具更加适合IT媒体对Web类服务器软硬件的横向对比测试,在测试对象和环境大体统一的情况下,可以比较出各个测试对象的性能差异。而对于有实际应用背景的Web服务器进行测试,使用这样的测试工具就不适合了,我们在以后的测试漫谈中会继续介绍。


  本文转载自51testing论坛

posted @ 2013-09-13 13:47 51testing 阅读(159) | 评论 (0) | 编辑 收藏
 
嵌入式软件的基本测试方法

  
        随着制造行业的再一次崛起,嵌入式软件目前在软件行业中越来越多,2004年软件行业最火爆的三个项目是:嵌入式开发,软件培训以及软件外包。由于嵌入式软件与其他产品息息相关,这给嵌入式软件的测试工作带来了极大的困难,软件的测试工作不能够等程序烧到或者固化到芯片中才开始进行测试,这就太晚了,本文结合自己的一些经验提出自己的看法,希望大家一起讨论。

  搞好开发前的原型设计

  原型开发目前在开放流程中受到了更多的重视,同样嵌入式软件也是非常需要的。比如说一个录音机版面的设计,可以定义好版面上面的按键以及每个按键的功能。然后画出状态转化图,写清楚每个按键何时可以触发,触发后由哪个状态转入别的其他状态。原型设计好了,组织专家,工程师进行评审,尽可能多的找出原型中不合理需要改进的地方;改进以后,有必要可以进行再一次的评审工作。每一次评审工作需要记录评审建议是否需要解决?如何解决以及实际解决情况。

  进行设计和开发工作

  设计和开发工作需要设立里程碑。每个里程碑结束前都需要进行评审工作。由于嵌入式软件的运行环境不同,受到很大的限制,所以在进行开发之前需要进行编程规范工作,编码的时候需要严格按照编码要求进行工作,每一个条款都需要认真执行和审查。现在业界提供许多关于嵌入式软件开发的标准,大家可以通过网站搜索,最好能够购买业界一些比较著名的标准。目前市场上也提供许多关于代码检验的工具。为什么一直提出代码编码规范?这是因为嵌入式软件的质量与代码规范是十分重要的。举个例子,著名的阿里亚火箭失事,专家进行详细的调查工作,最后发现问题出在代码上。代码是符合标准C语言的,但是在运行过程中由于程序员将一个长整形变量赋给了一个短整形变量,造成内存溢出,这是导致火箭失事的关键所在。

  (

  int8a;

  int32b;

  …

  a=b;

  )

  代码测试

  当程序开发完毕,需要进行测试工作,但是在程序烧入或固化芯片之前如何进行测试呢?这里介绍一种方法:比如程序时使用C语言进行开发的,请将所有的操作都封入在函数中,函数的定义都在相应的头文件中定义(.h),然后设计测试用例,书写测试代码,测试代码包含相应头文件,可以对函数进行检测。测试案例往往分为两类:一种是功能测试,主要测试函数的功能;另外一种是错误参数测试,主要检查程序对进行错误参数进行检验。

  功能测试

  这种测试的运行往往需要通过仿真器辅助完成,比如类似录音机软件程序,分别测试播放,加大(减小)音量,停止,暂停(取消暂停),快速前进,快速后退,录音对应的功能是否能够正常运行。

  错误测试

  主要测试函数在调用参数无效的时候,系统是否会按照规定返回正确的错误代码。比如

  functiontest(intTid)

  测试的时候给出一个错误的序列号(Tid),看程序是否返回正确的错误代码。

  对于函数functiontest1(intt)需要进行特出的处理

  t定义为1-100

  我们可以按照边界值法和等价分类法进行测试

  上边界:-1,0,1

  下边界:99,100,101

  中边界:50

  所以测试用例集合为(-1,0,1,50,99,100,101),其中-1,101为错误测试用例,其他为正确测试用例

  功能组合测试

  在进行完功能测试后,我们可以进行功能组和测试,还是拿录音机程序做个例子。我们可以定义将音量增加到10,快速前进,检查音量,看是否还是为10;播放,暂停,试图调整音量,检查调整音量的功能是否可以被成功执行。

  烧入固化测试

  当以上测试都通过后可以将程序烧入芯片或者固化,进行最后在实际环境中进行测试工作。

posted @ 2013-09-06 13:36 51testing 阅读(103) | 评论 (0) | 编辑 收藏
 
软件测试学习笔记:测试点总结

        1、可编辑文本框的测试:主要是“字符长度、字符类型、文本格式”的测试
  字符长度的验证:最大值、最小值、适当值、超长值。
  字符类型的验证:中(简、繁)、英(大小写)、数字(整数、小数、负数)、标点符号(全角、半角)、特殊符号(回车、空格、TAB、脚本语言、NULL、null)、转义字符,及这些字符类型的组合。
  文本格式的验证:比如日期(控件、手动输入)、邮箱、手机号。


  2、文件上传下载的测试:主要是“文件格式、文件内容格式、文件信息、文件大小、文件重复上传、文件下载”的测试
  文件格式的验证:文本格式、图片格式、音频格式、压缩包等等。
  文件内容格式的验证:系统要求上传的文件的内容是一定格式的(系统给出一定的内容模板)。
  文件信息的验证:文件具体内容(有时文件数据的合理性是要经过校验的)、文件内容包含特殊字符、文件名(参考1中的字符类型验证)、文件路径(直接导入、手动输入)。
  文件大小的验证:0、适当值、超大值。
  文件重复上传的验证:系统是否具备去重处理的能力。
  文件下载的验证:左键(打开时文件内容是否正确显示)、右键。


  3、查询功能的测试:主要是“查询条件、查询结果列表、查询处理时间是否能够接受”的测试
  查询条件的验证:空格、查询条件前后中加空格、数据库中的值、非数据库中的值(参考1中的字符类型验证)、是否支持模糊查询、组合查询。
  查询结果列表的验证:结果列表表头内容是否正确、结果数据是否正确、结果列表是否具备翻页功能。
  查询处理时间的验证:数据库中存在大数据量数据时,查询时间是否能接受。


  4、权限的测试


  5、表单打印、导出、提交的测试
  打印功能的验证:打印出的内容、分页打印。
  导出功能的验证:导出内容(部分数据还是全部数据)、打开导出的文件。
  提交功能的验证:检查表单信息是否被正确保存、同一条数据多次提交。


  6、数据增、删、改功能的测试
  增加功能的验证:增加后的显示效果(内容是否正确、是直接显示还是需刷新才能显示)、多次增加相同的记录。
  删除功能的验证:删除时的提示信息、删除0条/1条/多条数据、删除后列表是否更新、列表条数是否更新。
  修改功能的验证:增加后的显示效果(内容是否正确、是直接显示还是需刷新才能显示)、多次增加相同的记录。


  7、系统模块关联性的测试
  检查表单中“与其它页面的显示数据相关联”的项目:增加/删除/修改该项后,对相关联项的影响是否正常。


  8、列表的翻页功能的测试:页项数、页面跳转、翻页按钮
  页项数的验证:每页固定显示数据项数是合理的定值。
  页面跳转的验证:正确跳转(输入想要打开的页数)、错误跳转(输入乱字符:0、1.1、最大值+1、最小值-1)。
  翻页按钮的验证:前翻、后翻。


  9、数据合理性校验:数据规则性校验


  10、业务流程校验:此为重中之重
  目前我作为一个小测试员,还不能直接接触到需求的制定和商讨,所以被告知多少是多少,只会走标准化的流程,细节数据的验证不能搞懂,实为可悲之事。


  11、容错处理的测试:用户输入错误时,系统提示语的正确性和合理性校验

 

          本文转载自51testing软件测试网,查看更多:http://www.51testing.com/

posted @ 2013-08-30 11:50 51testing 阅读(150) | 评论 (0) | 编辑 收藏
 
软件测试用例设计中的结构设计
 优秀的开发工程师不仅是有超强的代码编写能力,同时他还有非凡的概要设计和详细设计能力,那么对于优秀的测试工程师来说,不应该仅仅是极强的发现问题的能力,还应该具备优秀的用例设计能力。用例设计实际上包含两种能力,一种是结构设计能力,一种是用例场景设计能力,今天我想和大家讨论的是前一种能力。
  用例设计中的结构设计就类似于软件开发中的概要设计,它实指用例设计中的测试项分拆、合并、派生。目前我们测试组有些员工在思考用例设计时包含了这个环节,但并没有将这个环节熟练掌握,且一直困扰着部分人的测试工作开展。可能有人会说,我测试的产品质量虽然不是最差,但我的用例设计包含了80%的用例设计场景,应该不错了,干嘛还要强调用例设计中的结构设计呢?
  用例设计的结构设计重要性在于如下几方面:
  1、合理地拆分测试项,有助于保证测试任务执行的分配与并行
  2、合理地拆分测试项,有助于和开发节奏对应起来
  3、合理地拆分测试项,有助于保证测试的执行与测试用例的当初设计不脱节
  4、合理的拆分测试项,有助于保证测试覆盖度
  5、合理的拆分测试项,有助于用例场景的设计不出现混乱
  6、合理的拆分测试项,有助于一个人全局能力的培养
  ……
  用例设计的结构设计这一块究竟有什么方法可循吗?说句实话,至少现在我没有见到任何书籍介绍这一快,我在面试过程中也在了解其他公司关于这一块的做法,很多员工听起来很陌生,可能是这个能力仅对组长以上的员工有要求吧,有的听起来虽然不陌生,但是更多和我沟通的是关于用例设计的生成流程,
  对于方法这一块是不清楚的。总而言之,用例设计的结构设计这一块对于很多公司的经验总结来说还是空白,那就更谈不上培训了。关注这一块,我是在2001年开始的,当时接受的一个是视频会议系统的测试,组里共5个人,为了将结构设计做好,的确费了一番周折。通过这几年来,在不同项目中与不同员工磨合,对用例设计的结构设计部分摸索了一套如下一系列方法。我现在还不能说最好的,但应该是最实用的,绝对不是为了推销需要。
  1、基于概要设计/详细设计的模块(组件)结构设计
  2、基于产品需求文档的模块结构设计
  3、基于数据流的结构设计
  4、基于事件驱动的结构设计
  5、基于消息驱动的结构设计
  6、基于处理逻辑的结构设计
  7、基于条件因素的结构设计
  8、基于MVC模型的结构设计
  9、基于测试方法的结构设计
  测试用例设计还要注意着重点
  一、功能
  关注页面单个功能点验证,充分考虑开发改动的每个点。这个是保证开发每个已知的修改点都能改对。
  二、关联
  重点考虑修改点对其他模块的影响,包括代码的影响和操作数据引起的影响。
  比如新增加的功能增加了数据库表的字段,必须关联的验证每个使用该表的该字段的模块是否正常工作。难点在于需要分析出已知和未知的影响模块,考虑的越多,往往遗漏的问题就越少。
  三、流程
  很多系统是有流程的,比如工作流系统。当修改了一个点的时候,我们必须考虑整个流程是否能够正常运转起来。
  四、升级
  我们大部分系统都是对已有的系统进行升级。对于升级前的数据,我们必须保证能够正常工作。升级之前,需要模拟好各种情况。也需要对升级的数据库脚本进行充分的检查。
  五、安全
  比如菜单功能权限等。
  
posted @ 2013-08-12 11:48 51testing 阅读(140) | 评论 (0) | 编辑 收藏
 
性能自动化测试Loadrunner篇
导语
 LoadRunner,是HP推出的一种预测系统行为和性能的负载测试工具,通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,分为Windows 版本和Unix 版本。LoadRunner能够对整个企业架构进行测试。通过使用 LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。目前(2012年7月)可用的最新版本为:HP LoadRunner 11.50。

基础篇

LoadRunner自动化测试准备篇

 LoadRunner是原Mercury公司是产品,2006年Mercury公司被HP收购。LoadRunner(以下简称LR)是一种高规模适应性的自动负载测试工具,它能预测系统行为, 优化性能。LR强调强调是的对整个企业应用架构进行测试,它通过模拟实际用户的操作行为和实行实时性能监控,来帮助客户更快的确认和查找问题。LR能支持广泛的协议的技术,为客户的特殊环境,提供特殊的解决方案。[详细]

  • 具体实例教你如何做LoadRunner结果分析
  • LoadRunner11安装详解
  • LoadRunner11 脚本关联
  • 45个LoadRunner 面试问题(附答案)英文
  • LoadRunner字符集与检查点的探讨
  • LoadRunner中进程运行和线程运行区别
技巧篇

LoadRunner 技巧之THML与URL两种录制模式分析

 Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based script 和Url-based script ,初学者疑惑这两种方式有什么不同 ? 在这里我们来做个简单分析。Html_based script是loadrunner的缺省模式,即默认模式也就是通常说的高层次模式,一般优先选择这种模式这种模式录制的脚本相对简短,便于阅读[详细]

  • LoadRunner 技巧之手动关联与预关联
  • LoadRunner 技巧之检查点
  • LoadRunner 技巧之添加事务
  • LoadRunner 技巧之集合点设置
  • LoadRunner 技巧之自动关联
  • LoadRunner 技巧之脚本设计
提高篇

LoadRunner Java环境设置

 如果要使用LoadRunner对Java的应用环境(例如面对处理RMI, Corba, or Template VUsers等环境)进行Virtual Users操作,这个时候你必须对LoadRunner执行机器进行一定的设置,特别要注意Windows系统环境变量中的两个影响因素“PATH”、 “CLASSPATH”。PATH这个变量告诉计算机到什么地方寻找文件,例如你要使用C:\Foo\Ammm.txt,假设程序内部只是设置了一个相对路径[详细]

  • 51testing推荐:精通软件性能测试与LoadRunner..
  • 基于LoadRunner的性能测试应用总结
  • Loadrunner测试数据库性能
  • 使用LoadRunner对web服务器压力测试总结
  • LoadRunner调用Java程序—性能测试
  • LoadRunner使用动态链接库技术
posted @ 2013-07-30 11:40 51testing 阅读(346) | 评论 (0) | 编辑 收藏
 
软件功能测试的步骤
最近有和一个初学测试的朋友聊天,他说关于测试方面的书看来不少,理论和概念也背了不少,但是实际测试时还是不知道怎么怎么下手,不知具体该如何做?其实关于怎么入手做测试,没有什么具体的规范,以下是我的个人习惯,供大家讨论一下。

  面对一个新的项目,应该从项目的编写需求分析时参与进去,了解项目的背景和用户的需求,然后根据项目的开发进度,编写测试计划;测试计划要包含以下内容:测试用例编写时间,按照用例执行测试的时间和执行回归测试的时间,这个时间根据要项目进度来设定,以保证计划的正常执行。

  编写完测试计划后,不要急着编写测试用例,要先确定需求分析是不是已经编写完成,并经过了评审。如果确定需求分析已经评审完成,那就要尽可能多的了解需求分析。根据需求分析编写测试要点,所谓测试要点,就是测试用例的框架,把需求分析中的用户要求和用户业务记录下来,然后区分哪些是主要也需求,哪些是次要需求。这要便于测试的全面和测试重点的突出。

  编写完测试要点后,再开始编写测试用例。所谓的测试用例,就是指测试某项功能时,所作的输入数据或动作,并列出期望的输入数据或动作。那么编写测试用例,就是用实际的操作来证明前面所写的测试要点中的功能点和业务实现。证明测试要点时要从正反两个方面进行,不但要证明正常情况下软件系统的反应,还要证明在非正常情况下,软件系统也要能作出正确的处理。对于主要的需求要尽可能全面测的测试,要考虑到各种可能性,而对于非主要需求,测试用例可以适当少一些,但是最低也要有正反两方面的考虑。

  测试用例编写完成后就可以开始做测试了,做测试时要按照测试用例进行,要确保每条用例至少执行了一次,每执行一条用例就要对比一下软件系统的实际输出和期望输出是否一致,如果不一致,要记录到测试报告中。实际测试时不要漏掉任何的不一致情况,因为这些不一致就是软件系统的问题所在。对于软件输出不一致的用例,最好多执行一次,尽量定位软件问题所在,以便于开发人员的修改。

  测试完成后,就要及时把测试报告反馈给开发人员,以便于开发人员的修改。当开发人员修改完成后,就进入到软件测试的最后阶段回归测试(我认为这是最麻烦的,呵呵),所谓回归测试,就是验证上次测试时所发现的问题是不是已经被修改,有没有新的问题出现。之所以认为它麻烦,那是因为软件修改完成后可能会导致新的问题出现,如果把测试用例再重新执行一遍的话,就要花费很多的时间。如果要使用测试工具进行自动化测试,就要花费大量的时间去维护测试脚本,无论怎么做,都很麻烦。我的一般做法是把发现问题的测试用例和它有关联的测试用例重新执行一遍,如果没问题,就算测试完成,否则,再次提交测试报告,直到测试完成。

  以上是在正常情况下,做功能测试的步骤,但是实际工作中,正常情况总是小于非正常情况的,我遇到的非正常情况有以下几种:

  1、软件项目的需求分析不完整,或者没有需求分析。

  2、开始测试时,项目已经开发完成。

  3、交付测试时,离项目的完成时间很短,没有太长时间进行测试。

  针对以上三种情况可以分别对待,第一种情况比较麻烦,没有需求分析就意味这功能测试就没有了依据,那么就需要测试人员多和用户和开发人员进行交流,要站在用户角度考虑问题,考虑用户到底需要什么样的软件,希望软件完成什么样的功能。然后,根据这些编写测试要点,再找用户或者开发人员确认,最后编写测试用例。第二种情况,就相对简单,既然软件已经开发完成,那么测试计划中的测试时间就更容易安排,更利于执行。第三种情况就比较辛苦了,既然项目时间紧,那就要赶时间作,如果你有一定测试经验的话,那就不要写测试用例了,直接按照测试要点进行测试就行了,不过测试报告不能省,还是要详细记录。如果没有测试经验,那么最后找以前相似项目的测试用例,对照测试要点进行测试。如果一没有需求分析,二项目时间紧,三又没有测试经验和类似的测试用例,那么哥们,我精神上支持你,你自己做好加班拼命的准备吧。

  以上是我对于软件功能测试的一点个人意见,肯定又不正确或者不合理的地方,供大家参考,只有具体怎么写测试计划、测试用例和测试报告,咱们下篇文章再讨论!

    本文转载自51testing软件测试网,查看更多:http://www.51testing.com
posted @ 2013-07-19 14:37 51testing 阅读(133) | 评论 (0) | 编辑 收藏
 
可复用测试用例研究

  0、引言

  软件测试的关键环节是设计和执行测试用例。测试用例的质量与测试人员的技能、经验以及对被测软件的理解密切相关。如果测试人员对被测软件不甚了解,很难在短时间内设计出有效的测试用例;有的测试用例虽然面面俱到,但冗余现象严重,浪费时间、人力和物力。

  随着软件复用技术的发展,测试复用引起了人们的极大关注,特别是对测试用例复用的研究。所谓测试用例复用,就是对一个软件的已执行的测试用例,将其不同程度地应用于该软件新的测试中或其他软件的测试中。测试用例复用是可行和必要的,表现在:1)软件测试对测试人员的经验和技能要求高,通过复用,可提高测试人员技能,解决其经验不足的问题,同时提高软件测试质量;2)软件测试是当前保证软件质量的一种有效手段,但其占用软件开发周期时间长,通过复用,可避免大量重复性劳动,缩短测试周期,提高效率;3)伴随着同一个软件的生存周期,软件经历了单元测试、集成测试、确认测试和系统测试,这一过程产生了成百上千的经过执行确认的高质量的测试用例,在前一测试阶段执行过的一些测试用例可在后续测试阶段中使用,包括在回归测试、维护阶段的版本升级和纠错测试中都可使用;4)同一领域或相同系统架构的不同软件,存在着测试用例复用的可能性,且随着软件复用技术的发展,很多有价值的组件可供使用,这也使测试用例复用成为可能。

  由于软件的抽象性、复杂性和多样性,使得软件测试成为一项复杂的、需要智慧和创造性的工作,要实现测试用例复用并不是一件简单的事情。但测试用例复用是软件测试发展的一个必然趋势。本文从可复用测试用例的评估、描述、设计和使用四个方面对测试用例进行了系统研究,提出了可复用测试用例应具有的特性,为评估测试用例的可复用性提供准则;给出了可复用测试用例的系统描述要素,为规范和使用可复用测试用例提供了基础;提出了面向复用的测试用例设计过程和基于复用的软件测试模型,为测试用例复用提供了方法和实现策略。本文的研究内容在某类实时系统软件测试中进行了应用,证明是有效和科学的。

  1、可复用测试用例特性

  文献中定义了可复用测试用例的六个特性:通用性、简洁性、独立性、有效性、灵活性和检索方便。本文对大量测试用例和测试用例复用的各种应用情况进行了分析,认为可复用测试用例应具有以下特性:通用性、有效性、独立性、标准化和完整性,它们对可复用测试用例而言是充分的也是必要的。上述特性可作为评判一个测试用例是否具有可复用性的准则。

  1)通用性。通用性是指可复用测试用例并不局限于具体的应用,不过分依赖于被测软件的需求、设计和环境,能够在某一类型、某一领域的相似软件的测试中广泛使用。

  当前绝大多数的测试用例都不具有通用性,这样的测试用例只能用于被测软件和其当前环境,不可能用到其他软件中。

  2)有效性。测试用例的目标是发现软件问题,因此,可复用测试用例也必须是能够发现软件问题的,并且是可靠和高效的。

  3)独立性。可复用测试用例的独立性是指,对于测试需求R1和R2,测试用例集分别为cl和C2,c1和c2的交集为空,并且,每个可复用测试用例能够独立运行。测试用例是否具有独立性,决定了测试用例可复用能力的强弱。

  如果测试用例之间存在着相互联系,或测试用例的运行环境取决于其他测试用例的执行状态,那么,其中的测试用例不能复用时,与之相关的测试用例的可复用性也不复存在。

  如何将测试用例的关联性降至最低,是设计可复用测试用例必须解决的问题。首先,每个测试用例的目标应尽量独立、单一;其次,测试用例不包含过多的具体实现细节。

  4)标准化。测试用例通常用自然语言来描述,充分体现了测试人员的创造性和个人风格。但对于可复用测试用例,太多的个人风格不利于其他测试人员对测试用例的理解,必然影响其复用。因此可复用测试用例的标准化程度也反映了其易理解和可复用的能力。为此可复用测试用例应遵循统一或规范的格式或结构,规范的命名规则,使用术语、用简明、易懂、无歧义的语言来描述,并且具有详细的文档。

  5)完整性。每个可复用测试用例应包括全部应有的要素,不能有缺失,并且每个要素的描述是充分的。文献规定了测试用例应包括的要素,但对于可复用测试用例而言是不够的,应加以补充。

  2、面向复用的测试用例设计过程

  当前,测试用例设计都砥向不同的具体应用,与被测软件是紧耦合的。考虑到复用的目的,测试用例的设计应不同于以往。本文提出了面向复用的测试用例设计过程,给出了设计过程中应实施的各项活动,主要包括被测软件(系统)共性分析、测试策略分析、设计测试用例、测试用例评审、测试用例执行和修改、测试用例入库共六个步骤,如图l所示。该过程对现有测试用例的复用处理也是适用的。

  2.1共性分析

  同一领域或相同架构的软件存在着共性需求。通过共性分析或领域分析,并结合任务分析等方法,梳理出被测软件所属领域或相同类型软件的相同或相似特征及需求,例如,工作流程、共性场景、功能、性能等,从而挖掘出可复用点,例如,相对独立且类似的功能、相同的构件、相似的业务流程。该步骤实质上要抽象出被测软件应用领域的概念,类似于设计模式中的共性分析。

  这项活动需要领域专家、软件专家、设计人员、测试专家等人员参与。

  2.2 测试策略分析

  针对共性分析挖掘出的可复用点,分析各复用点的测试策略,包括测试类型、测试方法、测试环境、测试覆盖率等内容。



     本文转载自51testing软件测试网,查看更多:http://www.51testing.com
posted @ 2013-07-15 10:23 51testing 阅读(122) | 评论 (0) | 编辑 收藏
 
4年软件测试经历的不同时代

  软件测试岗位同一个业务产品不知不觉已经经度过了4个多年头,也是自己现有唯一的工作经历。为自己负责,对4年光阴进行一下回顾总结:庆幸这4年多也不是一成不变,每年基本都螚有新的形式挑战。

  算来也是经历了产品测试工作的几个时代吧,浅谈一下自己对几个时代的感受。(PS:按个人感觉分的时代有片面性,老了记忆也不太牢靠可能发生时空穿越,有不正确的地方还请大家见谅!!谢谢)

  零时代:只有Dev无正式测试工作(没亲身经历过,列在这里算全面一点吧,呵呵)

  ● 【时代特征】软件开发的初期,只需要唯一的核心人员:Dev。 编码完成后,无专职Tester也没有正式的软件测试工作,Dev按照自己对软件功能要求,随便进行操作验证,觉得没问题后就算测试结束,即可软件发布。

  ● 【时代优势】自由开发自由测试,相信“自由”会让现在的很多Dev激动不已,呵呵。

  ● 【测试定位】 无

  ● 【不足困难】软件功能点多了后,为保证质量需要测试执行的功能点变大, Dev们自己负责会觉得浪费时间;没有正式测试计划的情况下也很难保证质量。 觉得还是需要专职的软件测试人员好了

  时代一:纯手工测试(自己应该是抓住了这个时代的尾巴,开始工作时业务线组内很多人也是纯手工的)

  ● 【时代特征】

  1、软件测试工作纯手工完成,能弥补零时代不足,即:释放Dev劳动力,让他们可以专心的开发; 保证测试质量,开展正式测试工作:测试设计+TC编写+测试执行+产 出测试报告。

  2、软件测试工作门槛低,逻辑清晰的实习生稍微学习一下就能胜任。工作重心从用户需求角度出发,进行软件测试。

  ● 【时代优势】劳动分工Dev的效率提高了;专人负责测试工作产品质量更能得到保证。

  ● 【测试定位】

  1、从产品需求出发开展测试工作,产品质量的守护神。 产品上线质量好就可得到PD(产品经理),Dev的肯定,实现价值。

  2、守护神对质量要求高,一些需求小点也可以和Dev拉锯几天。

  ● 【不足之处】测试工作效率不高往往成为研发环节的瓶颈。面对互联网产品迭代开发的模式,重复工作量大,纯手工太累!需要需求方式提高测试工作效率。

  时代二:尝试小部分自动化(准确的说我参加工作时,已经是这个时代了)

  ● 【时代特征】依然是手工测试为主,业务线团队中开始尝试页面自动化等。

  ● 【时代优势】脚本覆盖主要流程,可以逐渐替代之前每次发布前人工手工回归的工作。释放了测试人员部分机械的重复工作。

  ● 【测试定位】依然是产品的质量守护神,开始用技术手段提高工作效率。

  ● 【不足困难】自动化刚起步,需要进步提高自动化覆盖率。

  时代三:UI和API自动化搞起(自动化持续集成,成为发布前标准)

  ● 【时代特征】尝到自动化的甜头后,测试团队全员都开始投入自动化工作,UI和API全面开花。 建立自动化持续集成, 自动化成为发布前标准等。

  ● 【时代优势】自动化工作蓬勃发展,覆盖率大幅提高。自动化释放了很多手工测试工作。

  ● 【测试定位】手工向自动化测试转型,论证把尽可能多的工作用自动化手段实现。

  ● 【不足困难】

  1、UI和API都是集成测试,覆盖率到达一定地步后,遇到瓶颈。对系统和外部交互较多的产品线, 例如:电子商务网站的交易业务产品要交互应用(用户,商品,物流,支付,优惠,各种交易模式涉及的应用,各种交易渠道涉及的应用,各种特殊服务涉及的应用等)会较多, 集成测试依赖真实外部环境,导致脚本维护确认成本大。

  2、业务发展需要,系统承载业务功能点愈来愈额庞大,又需要较快速的响应多业务方在系统中的迭代开发。即要求:测试工作量变大情况下,更加高效率。面对瓶颈,测试不得不寻求新的突破点。

  时代四:拉开发下水:质量不是测出来的,是开发出来的

  ● 【时代特征】测试退去质量守护神光环,拉开发下水:提倡开发自测,坚持提测标准,让开发开展UT。代码review,要求开发更精准的评估每次迭代。

  ● 【时代优势】测试对质量保证发现了一个新大陆,看到解决时代三矛盾体的希望了。

  ● 【测试定位】综合考虑质量成本效率,更多的关注系统持续迭代的质量;退去守护神光环,对一些小的业务需求点不会和开发死磕到底了。

  ● 【不足困难】Dev面对这些新的质量保证工作,时间成本个人情感什么也不一定能承受,几项工作开展的效果如何,就不能一概而论了。

  ......

本文转载自51Testing软件测试网,查看全文:http://www.51testing.com/html/33/n-844633.html

posted @ 2013-05-02 14:19 51testing 阅读(110) | 评论 (0) | 编辑 收藏
 
仅列出标题
共55页: First 33 34 35 36 37 38 39 40 41 Last