博主简介: 近4年软件测试和质量管理工作,具备丰富的大型软件测试经验,曾就职多家大型企业任高级测试工程师,测试经理等职务,具备丰富的电子商务,电子支付,ERP,办公软件,网络视频,证券金融行业等多种产品测试经验和测试团队管理等工作;目前主要研究性能测试,安全性测试,测试管理,软件过程改进,配置管理等工作!

我的最新日志

  • [原创]Google Chrome浏览器的缺陷

    2008-9-04

    1  Google Chrome浏览器“用词不切贴”,表意不明朗
    1.1 如浏览器搜索框中"键入以搜索",这个好像些太生硬了吧! google_01.gif
    1.2 浏览器最右上角中的,最大化图标切换时为“恢复”!google_02.gif
    2  Google Chrome浏览器“功能性兼容性不完善“
    2.1 如,目前我正在使用Google Chrome浏览器,在51testin上发表它的缺陷,需要上传图片文件,哪么下图显示了什么呢? google_03.gif
    2.2 打开Google Chrome浏览器,然后新建一个"新建隐身窗口"->关闭“新建隐身窗口”->最后点击首次打开的Google Chrome浏览器,显示如下图 google_04.gif
    3 Google Chrome浏览器“中英文字输入框”处理不协调,英文字母显示不完整,如修改标签,见图google_05.gif
    4 Google Chrome浏览器,易用性细节问题处理不够
    4.1 如查看51testing源代码功能,标题显示“无标题”
    5 Google Chrome浏览器,搜索历史记录性能不佳
    5.1 如搜索历史访问记录,www.google.cn,右边列举出以前的访问记录,但是缩略图却未全部显示出来

    google_01.gif

    google_02.gif

    google_03.gif

    google_04.gif

    google_05.gif

    google_06.gif

    google_07.gif
  • [原创]新员工入职培训提纲之一"系统测试用例设计"

    2008-9-02

    [原创]新员工入职培训提纲之一"系统测试用例设计"

    所编写内容均参考了许多书籍,包括一些知名测试培训机构,希望可以给更多从事测试的朋友一些帮助;
    具体培训大纲细节的技术文档,请不要像我发邮件索要,涉及到公司的一些敏感信息,请见谅^_^

    testcase.gif
  • [缺陷]建议大家将碰到过的电子商务和电子支付网站的缺陷贴出来

    2008-8-15

    [缺陷]建议大家将碰到过的电子商务和电子支付网站的缺陷贴出来
    1 淘宝网www.taobao.com
    1 打开www.taobao.com,用键盘向下键下翻搜索栏目,当下翻到最下面一个,不能自动滚最上面,易用性不好!
    2 打开淘宝的注册页面http://member1.taobao.com/member/register.jhtml?f=top,然后输入如下图所示注册信息
    注意红框部分仍“提示我输入上一次密码”

    taobao_1_1.gif

    taobao_2_1.gif
  • [原创]淘宝taobao.com网站的Bind Sql Injection安全性漏洞

    2008-7-22

    [原创]淘宝taobao.com网站的Blind Sql Injection安全性漏洞
    具我分析存在漏洞的地方,目前发现的几个:
    http://www.taobao.com/index_inc/cms_inc.php
    http://www.taobao.com/help/wizard/wizard.js
    http://www.taobao.com/home/js/sys/ymail.js

    操作步骤:
    (1)打开浏览器,然后输入如下构造的sql injection脚本
    (2)[url]http://www.taobao.com/index_inc/cms_inc.php?path=py_index&t=20080625'%20and%20'barfoo'='foobar'%20--[/url],确认后你将发现一些有意思的数据显示出来^_^

    taobao1.gif
  • 我答:51testing软件测试每周一问:如何建立测试知识库?

    2008-7-18

    我答:51testing软件测试每周一问:如何建立测试知识库?

    1 测试知识库建立的作用应贯穿到测试人员头脑中,要相信集体的力量是无穷的!
    2 建立合理的考核制度在测试知识库上面,做为测试经理,考核测试人员不应仅看Bug,可以参考我以前在51testing上发表的贴子,如果仅有流程
    而没有相应的考核制度,我相信测试知识库仅是空中的阁

    PS:[原创]如何有效的考核测试人员  卖烧烤的鱼51testing Blog:http://www.51testing.com/?uid/26684
    3 请上级领导支持,提供相应的资源,如所需人力,物力费用等,要做就要做的漂亮,提出自己创新意见其实也是将测试的地位提升
    4 划分合理的测试知识库内容,如目前我为所在公司开发的类似测试知识库的目录结构,见下面:

    5 结合适合公司流程的简单易行的方法,可以参考以下几种:
    5.1 建立一个wiki,划分测试知识库
    5.2 建立一个测试技术论坛
    5.3 简单易行的共享文件目录
    5.4 轻量级的配置管理工具cvs,vss等
    5.5 中量级的辅助工具如:用lotus开发相应的模块,如:测试理论文章的创建,上传,编辑,删除等,事先需和测试人员达成共识,制定相应的流程
    5.6 重量级的专业软件如:购买相应的软件如imb的测试工具配套在一起,好像钱太多了
    6 确定知识库的更新策略,定期检查,使测试知库赋予生命力
    7 值得一提的是“测试知识库“不应仅扣“测试”二字,应是和测试相关的内容均建立起来
    最后列举下我建的测试知识库中一些目录,如文档模板目录明细:
    再列举一下,测试环境搭建清单模板内容,其实这些内容均是我所在的公司,我负责组织相关测试人员共同知识的结晶,集体的力量还是牛!
    内容我贴在卖烧烤的鱼测试博客:http://mayingbao.cnblogs.com上仅部分http://www.cnblogs.com/mayingbao/archive/2007/12/06/985755.html

    附件

    testk1.gif (9.16 KB)

    2008-7-18 15:45

    testk1.gif

    testk2.gif (11.5 KB)

    2008-7-18 15:45

    testk2.gif

  • 我答:51testing软件测试每周一问:如何编写有效的测试报告?

    2008-7-02

    原贴:http://bbs.51testing.com/thread-118778-1-1.html

    如何编写有效的测试报告?

    以下是我的回答:

    1 了解你的听众:
    通常情况下测试报告主要由以下几类人员查看:
    “用户”着重点在于测试结论部分;
    “开发人员”着重点在于缺陷结果以及分析得到产品质量的信息;
    “项目管理者”着重点在于测试中资源,时间和成本;
    “高层经理”着重点在于项目当前的状况与其他项目比较。
    2 分而“制”治
    所以针对不同的听众,你需要制定不同的“测试报告”,报告的内容是关于它们最为关心的
    哪么先来看看一份比较详细的测试报告,目前是我为公司制定的:
    图在下面已贴出

    以上测试报告,将我们之前所列的“听众”均包括在内,所以这样的测试报告比较规范,但是存在如果我们测试报告的对像并非前面所列的“听众“,突显出内容过稍显多余

    所以测试报告应分为以下几大部分:缺陷报告,测试分析报告,测试评估报告,针对不同的听众有效的去报告!
    如我们公司目前采用的有以下模板:
    XXX公司_技术中心_测试_缺陷报告.doc
    XXX公司_技术中心_测试_测试分析报告.doc
    XXX公司_技术中心_测试_测试评估报告.doc
    不同的项目测试阶段制定不同的测试报告
    单元测试,集成测试,系统测试和验收测试分别制定不同的测试报告,当然前面所列举的测试报告的元素需要完备,具体要看公司要求,如下面所示

    XXX公司_技术中心_测试_单元测试报告.doc
    XXX公司_技术中心_测试_集成测试报告.doc
    XXX公司_技术中心_测试_系统测试报告.doc
    XXX公司_技术中心_测试_验收测试报告.doc


    不同的项目测试类型制定不同的测试报告
    某些公司仅要求测试人员出某特定类型的测试报告,如功能测试,性能测试,安全性测试和用户可接受度测试等分别制定不同的测试报告,当然前面所列举的测试报告的元素需要完备,具体要看公司要求,如下面所示
    XXX公司_技术中心_测试_功能测试报告.doc
    XXX公司_技术中心_测试_性能测试报告.doc
    XXX公司_技术中心_测试_安全性测试报告.doc
    XXX公司_技术中心_测试_用户可接受度测试报告.doc

    为什么我没有写很多编写测试报告的实例呢?
    因为仅提供思考方法及角度,具体的“有效测试报告”还需要你结合公司实际情况制定,当然你可以参考我上面所提及的

    推荐参考以下文章:
    1 如何编写更佳的bug report
    http://blog.csdn.net/imlogic/archive/2006/06/22/821733.aspx
    2 SOFTWARE TEST REPORT
    http://www.pogner.demon.co.uk/mil_498/str-did.htm
    3测试报告编写指南
    http://www.51testing.com/html/43/777.html

    [ 本帖最后由 卖烧烤的鱼 于 2008-7-2 15:59 编辑 ]

    附件

    test report.gif (9.9 KB)

    2008-7-2 15:56

    test report.gif

  • [原创]初级测试程师面试题

    2008-7-01

    [原创]初级测试程师面试题

    说明:
    面试题涉及内容比较广,重点考查面试者知识技能,及特长,所以仅提供参考^_^

    XXX公司_技术中心_测试_初级测试工程师面试题.pdf
    (2008-07-01 17:54:48, Size: 97 kB, Downloads: 1)

  • 我答:51testing软件测试每周一问:常用软件缺陷预防技术和缺陷分析技术有哪些?

    2008-6-30

     

    51testing每周一问:常用软件缺陷预防技术和缺陷分析技术有哪些?

    http://bbs.51testing.com/viewthread.php?tid=117496&extra=&page=1

    一 缺陷分析技术:
    1 利用缺陷来源和发现阶段矩阵分析:缺陷来源和发现阶段,构造矩阵,跟踪软件开发各环节,目的是找到项目中最需要改进的环节,当然是缺陷数量和严重性比较多的地方;
    2 利用缺陷分布在项目模块分析:将产品化分为各模块,分析具体模块的数据,找出影响产生质量关键的模块;
    3 利用缺陷分类来进行缺陷的根源分析, 对于测试出来的BUG进行缺陷分类,按照缺陷的类型分布,找出那些关键的缺陷类型,分析其产生的根源;
    举个例子:
    以前公司项目利用此方法分析,系统中问题多产生在”接口“原因造成,最后我和经理与相关人员沟通确定”接口评审策略“,“接口变更策略”,“接口文档编写CheckList”等,从哪以后项目接口问题减少了很多!
    所以缺陷分析应是这样去做,发现具体的原因,需要制定相应的流程改进,这才是我们真正需要的!
    4缺陷趋势报告:按各种状态将缺陷计数作为时间的函数显示,如缺陷数量在整个测试周期的时间分布,此方法比较实用于项目测试过程中或是回归测试中
    5 缺陷年龄分析:缺陷活动状态的时间,分析一个缺陷处于某种状态的时间,了解处理这些缺陷的进度情况,通常情况我是结合缺陷严重性一起分析,因为我上面的技术总监更为关心的项目中存在多少严重问题,是否可以上线;
    6 借用缺陷工具分析,推荐像TestDiretor,JIRA等工具

    二缺陷预防技术
    1 与项目中相关人员达到共同“认识”,什么是缺陷?常见的缺陷有哪些?缺陷的危害,也许有人会问为什么将些列举在最前面,因为假如你的团队工作人员对缺陷都没一个清醒的认识,你认为预防二字如何谈起?
    2 缺陷预防应从软件生命周期开如,一个字“早”,测试应早介入,当然从需求->构架->设计->编码->测试等环节入手,渗入不同的测试方法和技术
    3 借用对已有缺陷进行分析,例如我上面的介绍的项目“接口”缺陷很多的问题,最后分析通过改进流程及方法,最终将缺陷减少了许多
    4 最后特别注意一点,缺陷预防应采用好的工具收集数据分析,如Bug管理工具,需求管理工具,变更管理工具,只有有效的数据,才能真实的度量出我们的项目真正的本质,只有这样才能有可信只处^_^

    欢迎访问我的博客:卖烧烤的鱼测试博客 探讨软件测试 软件测试架构 测试流程 测试过程改进 测试管理 需求管理 缺陷管理 配置管理 项目管理 性能测试 安全性测试 可用性测试 可靠性测试 LoadRunner 易用性测试 敏捷测试 快速测试 软件质量保证 质量度量
    http://mayingbao.cnblogs.com

    [ 本帖最后由 卖烧烤的鱼 于 2008-6-20 16:36 编辑 ]

  • 我答:51testing软件测试每周一问:如何设计或者挑选有效的回归测试用例?

    2008-6-30

    我答:51testing软件测试每周一问:如何设计或者挑选有效的回归测试用例?

    如何设计或者挑选有效的回归测试用例?(08-05-23)
    http://bbs.51testing.com/thread-115662-1-1.html

    最近刚到新公司上班,面临的比较突出的问题是人力紧张,由于公司的产品用在Windows mobile,MTK,Kjava,Symbian,website几部分,测试人员<5(+上我),如何高效的组织测试团队确实是个挑战?回归测试属于软件测试环节比较重要的部分,所以花费了一些时间总结此文,希望能给测试人员稀少,产品或项目众多的公司,提供一些建议:
    也欢迎大家来的我的博客探讨软件测试:卖烧烤的鱼的测试博客:http://mayingbao.cnblogs.com/

    所谓回归测试,即就是在软件生命周期中,只要软件发生了改变,就可能给该软件产产生问题;所以,每当软件发生变化时,
    我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否破坏原有的正常功能。
    其实仅单纯从英文单词Regress很好理解:return to a worse or less developed state.即是退化,衰退的意思,
    检查软件从正常的稳定状态退化或是衰退到不正常工作的不稳定状态。

    注意:回归测试不仅仅是针对在系统测试阶段,而是在软件生命周期中^_^

    如果以上的定义均明确后,有效的回归测试应从这几方面:


    其实最有效的回归测试方法建立在开发测试库的基础上;开发在创建测试库,每次生成程序的新版本时都可以运行这些用例。  
    只有有效的从源头避免风险才能有效的进行回归测试(目前国内的公司,能从事此级别的,太少)

    1 强调单元测试时加强回归测试,引入代码评审,引入自动测试;
    2 集成和系统级的测试时,加强测试用例评审,回归测试用例的选择;

    具体的选择可以参考以下几点:
    1 开发设计测试用例时制定优先级,如高,中,低,方便以后自动化或是策略选择;
    2 配置管理时,引入测试用例基线管理,有效管理测试用例;
    3 定期维护测试用例增,删,保持最新状态;


    回归测试时需考虑效率和覆盖度有效配合,通常的策略有以下几种:

    基于风险选择测试:
    哪些功能是软件的特色?
    哪些功能是用户最常用的?
    哪些功能出错将导致用户不满?
    哪些程序是最复杂、最容易出错的?
    哪些程序最容易扩散错误?
    哪些程序是开发者最没有信心的?
    备注:只有有效的避免最大的风险,用户反感的问题,回归测试可以说达到了70%任务!

    基于Regress衰退概念的测试:
    开发人员修改的局部程序时,可能已经处理了症状,所以主要测试其被改变的模块和它的接口上;
    但是也可能存在未触及到根本原因,所以需要测试周边程序及相互依赖性的部分;
    错误本身可能得到了修复,但修复也可能造成其他错误,所以有必要为每个修复的错误,设计回归测试。

    基于全面测试策略:
    如果时间充足,资源齐全,可以进行全面测试,最低的遗漏回归错误的风险,但测试成本最高,非上策!

    其它的回归测试:
    1 基于GUI方式的自动化回归测试技术
    2 基于Ad Hoc 回归测试:增加随机测试,避免回归测试肓点
    备注:Ad Hoc Testing可参考:卖烧烤的鱼的测试博客:http://www.cnblogs.com/mayingbao/archive/2006/04/25/384160.html
    3 基于交叉测试:多人互动的回归测试,尤其在核心的功能点,交互性比较的

    [ 本帖最后由 卖烧烤的鱼 于 2008-5-26 16:53 编辑 ]
  • 我答:51testing软件测试每周一问:在网站测试中如何做好安全性测试?

    2008-6-30

    51testing软件测试每周一问:在网站测试中如何做好安全性测试?(08-05-16)
    http://bbs.51testing.com/thread-114973-1-1.html
    以下是我的回复^_^

    安全性测试(security testing)是有关验证应用程序的安全服务和识别潜在安全性缺陷的过程。

    注意:安全性测试并不最终证明应用程序是安全的,而是用于验证所设立策略的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。

    以下是我读<<软件评测试教程>>中的Web安全性测试章节内容,并进行修改的笔记,前面看了好多朋友写的,不过不是很全,希望对大家有所帮助,建议大家还是买本<<软件评测试教程>>此书绝对物超所值^_^

    WEB安全性测试
    一个完整的WEB安全性测试可以从部署与基础结构、输入验证、身份验证、授权、配置管理、敏感数据、会话管理、加密。参数操作、异常管理、审核和日志记录等几个方面入手。
    1.        安全体系测试
    1)        部署与基础结构
    l        网络是否提供了安全的通信
    l        部署拓扑结构是否包括内部的防火墙
    l        部署拓扑结构中是否包括远程应用程序服务器
    l        基础结构安全性需求的限制是什么
    l        目标环境支持怎样的信任级别
    2)        输入验证
    l        如何验证输入
    A.        是否清楚入口点
    B.        是否清楚信任边界
    C.        是否验证Web页输入
    D.        是否对传递到组件或Web服务的参数进行验证
    E.        是否验证从数据库中检索的数据
    F.        是否将方法集中起来
    G.        是否依赖客户端的验证
    H.       应用程序是否易受SQL注入攻击
    I.        应用程序是否易受XSS攻击
    l        如何处理输入
    3)        身份验证
    l        是否区分公共访问和受限访问
    l        是否明确服务帐户要求
    l        如何验证调用者身份
    l        如何验证数据库的身份
    l        是否强制试用帐户管理措施
    4)        授权
    l        如何向最终用户授权
    l        如何在数据库中授权应用程序
    l        如何将访问限定于系统级资源
    5)        配置管理
    l        是否支持远程管理
    l        是否保证配置存储的安全
    l        是否隔离管理员特权
    6)        敏感数据
    l        是否存储机密信息
    l        如何存储敏感数据
    l        是否在网络中传递敏感数据
    l        是否记录敏感数据
    7)        会话管理
    l        如何交换会话标识符
    l        是否限制会话生存期
    l        如何确保会话存储状态的安全
    8)        加密
    l        为何使用特定的算法
    l        如何确保加密密钥的安全性
    9)        参数操作
    l        是否验证所有的输入参数
    l        是否在参数过程中传递敏感数据
    l        是否为了安全问题而使用HTTP头数据
    10)        异常管理
    l        是否使用结构化的异常处理
    l        是否向客户端公开了太多的信息
    11)        审核和日志记录
    l        是否明确了要审核的活动
    l        是否考虑如何流动原始调用这身份
    2.        应用及传输安全
    WEB应用系统的安全性从使用角度可以分为应用级的安全与传输级的安全,安全性测试也可以从这两方面入手。
    应用级的安全测试的主要目的是查找Web系统自身程序设计中存在的安全隐患,主要测试区域如下。
    l        注册与登陆:现在的Web应用系统基本采用先注册,后登录的方式。
    A.        必须测试有效和无效的用户名和密码
    B.        要注意是否存在大小写敏感,
    C.        可以尝试多少次的限制
    D.        是否可以不登录而直接浏览某个页面等。
    l        在线超时:Web应用系统是否有超时的限制,也就是说,用户登陆一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
    l        操作留痕:为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进入了日志文件,是否可追踪。
    l        备份与恢复:为了防范系统的意外崩溃造成的数据丢失,备份与恢复手段是一个Web系统的必备功能。备份与恢复根据Web系统对安全性的要求可以采用多种手段,如数据库增量备份、数据库完全备份、系统完全备份等。出于更高的安全性要求,某些实时系统经常会采用双机热备或多级热备。除了对于这些备份与恢复方式进行验证测试以外,还要评估这种备份与恢复方式是否满足Web系统的安全性需求。
    传输级的安全测试是考虑到Web系统的传输的特殊性,重点测试数据经客户端传送到服务器端可能存在的安全漏洞,以及服务器防范非法访问的能力。一般测试项目包括以下几个方面。
    l        HTTPS和SSL测试:默认的情况下,安全HTTP(Soure HTTP)通过安全套接字SSL(Source Socket Layer)协议在端口443上使用普通的HTTP。HTTPS使用的公共密钥的加密长度决定的HTTPS的安全级别,但从某种意义上来说,安全性的保证是以损失性能为代价的。除了还要测试加密是否正确,检查信息的完整性和确认HTTPS的安全级别外,还要注意在此安全级别下,其性能是否达到要求。
    l        服务器端的脚本漏洞检查:存在于服务器端的脚本常常构成安全漏洞,这些漏洞又往往被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
    l        防火墙测试:防火墙是一种主要用于防护非法访问的路由器,在Web系统中是很常用的一种安全系统。防火墙测试是一个很大很专业的课题。这里所涉及的只是对防火墙功能、设置进行测试,以判断本Web系统的安全需求。

    另推荐安全性测试工具:
    Watchfire AppScan:商业网页漏洞扫描器(此工具好像被IBM收购了,所以推荐在第一位)
    AppScan按照应用程序开发生命周期进行安全测试,早在开发阶段就进行单元测试和安全保证。Appscan能够扫描多种常见漏洞,例如跨网站脚本、HTTP应答切开、参数篡改、隐藏值篡改、后门/调试选项和缓冲区溢出等等。


    Acunetix Web Vulnerability Scanner:商业漏洞扫描器(目前用的比较多,不过这东东N占内存)
    Acunetix WVS自动检查您的网页程序漏洞,例如SQL注入、跨网站脚本和验证页面弱密码破解。Acunetix WVS有着非常友好的用户界面,还可以生成个性化的网站安全评估报告。

    另附我以前在51testing上发过“Yeepay网站安全测试漏洞之跨站脚本注入
    http://bbs.51testing.com/thread-113784-1-1.html
    Sql注入和跨站脚本这种漏洞比较常见,另在支付宝网站注册页面也存在跨站脚本情况,希望能早点发现^_^

    [ 本帖最后由 卖烧烤的鱼 于 2008-5-23 15:18 编辑 ]
Open Toolbar