其实我们有时候会抱怨需求为什么会考虑不周全,可是换个角度想想,我们认可程序会存在bug,那么需求同样也会有。这就像是一场接力赛,需求是第一棒,开发是第二棒,测试是第三棒,每一棒的交接都有上一棒的辛苦付出,也只有彼此信任和共同的努力,才能最终传递胜利。

发布新日志

  • 安全测试

    2010-03-08 11:17:30

     今天在网上看到一篇不错的文章,收藏到空间

     

        配置测试环境包括硬件环境和软件环境,硬件环境指测试必需的服务器、客户端、网络连接设备,以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统、数据库及其他应用软件构成的环境。

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

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

     

    WEB安全性测试

      一个完整的WEB安全性测试可以从部署与基础结构、输入验证、身份验证、授权、配置管理、敏感数据、会话管理、加密、参数操作、异常管理、审核和日志记录等几个方面入手。

      一、 安全体系测试

      1、部署与基础结构

      网络是否提供了安全的通信

      部署拓扑结构是否包括内部的防火墙

      部署拓扑结构中是否包括远程应用程序服务器

      基础结构安全性需求的限制是什么

      目标环境支持怎样的信任级别

      2、 输入验证

    ??        如何验证输入

      1) 是否清楚入口点

      2) 是否清楚信任边界

      3) 是否验证Web页输入

      4) 是否对传递到组件或Web服务的参数进行验证

      5) 是否验证从数据库中检索的数据

      6) 是否将方法集中起来

      7) 是否依赖客户端的验证

      8) 应用程序是否易受SQL注入攻击

      9) 应用程序是否易受XSS攻击

    ??        如何处理输入

      3、 身份验证

      1)是否区分公共访问和受限访问

      2)是否明确服务帐户要求

      3)如何验证调用者身份

      4)如何验证数据库的身份

      5)是否强制试用帐户管理措施

      4、授权

      1)如何向最终用户授权

      2)如何在数据库中授权应用程序

      3)如何将访问限定于系统级资源

      5、配置管理

      1)是否支持远程管理

      2)是否保证配置存储的安全

      3)是否隔离管理员特权

      6、 敏感数据

        1) 是否存储机密信息

    2) 如何存储敏感数据

    3)是否在网络中传递敏感数据

    4)是否记录敏感数据

     

    二、测试实施

    1、 不登录系统,直接输入登录后的页面的url是否可以访问

         2、不登录系统,直接输入下载文件的url是否可以下载,如输入http://url/download?name=file是否可以下载文件file

         3、退出登录后按后退按钮能否访问之前的页面

         4.、ID/密码验证方式中能否使用简单密码。如密码标准为6位以上,字母和数字混合,不能包含ID,连续的字母或数字不能超过n位

         5、重要信息(如密码,身份证号码,信用卡号等)在输入或查询时是否用明文显示;在浏览器地址栏里输入命令javascrīpt:alert(doucument.cookie)时是否有重要信息;在html源码中能否看到重要信息

         6、手动更改URL中的参数值能否访问没有权限访问的页面。如普通用户对应的url中的参数为l=e,高级用户对应的url中的参数为l=s,以普通用户的身份登录系统后将url中的参数e改为s来访问本没有权限访问的页面

         7、url里不可修改的参数是否可以被修改

         8、上传与服务器端语言(jsp、asp、php)一样扩展名的文件或exe等可执行文件后,确认在服务器端是否可直接运行

         9、注册用户时是否可以以'--,' or 1=1 --等做为用户名

         10、传送给服务器的参数(如查询关键字、url中的参数等)中包含特殊字符(','and 1=1 --,' and 1=0 --,'or 1=0 --)时是否可以正常处理

         11、执行新增操作时,在所有的输入框中输入脚本标签(<scrīpt>alert("")</scrīpt>)后能否保存

      12、在url中输入下面的地址是否可以下载:http://url /download.jsp?file=C:\windows\system32\drivers\etc\hosts,http://url/download.jsp?file=/etc/passwd

         13、是否对session的有效期进行处理

         14、错误信息中是否含有sql语句、sql错误信息以及web服务器的绝对路径等

         15、ID/密码验证方式中,同一个账号在不同的机器上不能同时登录

         16、ID/密码验证方式中,连续数次输入错误密码后该账户是否被锁定

    17、新增或修改重要信息(密码、身份证号码、信用卡号等)时是否有自动完成功能(在form标签中使用autocomplete=off来关闭自动完成功能)

     

    1、web平台:web平台软件漏洞,包括Http底层服务软件(比如,IIS或Apache)等底层基础设施,以及应用程序开发框架(如Asp.Net或者PHP).

      2、web应用:对授权、认证、站点结构、输入验证、程序逻辑以及管理接口进行攻击。

      3、数据库:通过数据库查询进行特权命令,操纵查询以返回额外的数据集,这里最具破坏性的攻击是SQL注入。

      4、web客户端:活动内容执行、客户端软件漏洞攻击、跨站脚本错误,以及钓鱼欺骗

      5、传输:窃听客户-服务器通信,SSL重定向

      6、可用性:如果要你迅速地指出更危险的"黑客"技术,拒绝服务攻击 (denial of service,DoS)经常会被遗漏,其实DoS攻击是任何可公开访问的Web应用所面临的最大威胁之一。让任何资源都对公众开放本来就有很大的挑战,在网络世界中更是如此。 
  • LoadRunner 破解+QTP,UE

    2009-05-20 21:33:09

    安装完后:
    1.用mlr5lprg.dll、lm70.dll这2个DLL文件拷贝到安装目录"bin"下替换原有文件,会有10天的试用期

    2.进入LR,打开license管理器,点击添加new license输入的序列号

    loadrunner 9.1 序列号:“AEACFSJI-YASEKJJKEAHJD-BCLBR”

    LoadRunner  7.5 序列号:“ AEAMAUIK-YAFEKEKJJKEEA-BCJGI ”

    就可以用了

    今天安装了Loadrunner,记下破解以免遗忘。纯属个人学习使用,用于商业还要支持正版。

    另外再记录下QTP和UE,就当备忘录了。

    QTP刚装好的是不能分步执行,Debug下的按钮都是灰的,主要是ScriptDebuggerXP调试.exe没有安装,安装完就解决了。

    UltraEdit-32-v13.10CN编辑器安装后的试用期是45天,可以用授权码

    用户名:六个空格

    授权码:K8Q1A-V1N5Z-X4G1Y-K0F4G-6O350-55F8t

  • 庆祝51Testing软件测试网成立五周年

    2009-05-15 15:34:42

        光阴飞逝,51Testing软件测试网成立五周年,我从51毕业也快一年了。一年前想做软测,但是即担心自己能力不够不能胜任职位,又对软测的各个方面存在困惑,于是下定决心到51testing进行专业的培训。感谢老师的悉心教诲,使我从对测试一知半解到现在顺利完成了4个项目的测试。经过51的学习使我收获很多,不光培训专业知识,也关注学员的职业发展,我的信心,能力,眼界是一年前不敢想的。工作以后我也经常逛51Testing软件测试网,给自己充充电,找找未知问题的答案,看看同行的博客,收获颇多!

        祝福老师,祝福51!

    51Testing软件测试网:http://www.51testing.com

  • QTP录入数据不能识别

    2009-05-12 19:31:46

        今天测试又出现怪现象了,QTP录入的数据不能识别,保持了之后都跳掉了,手工录入的都可以保存。工作太忙了,先记录下。要是哪位路过的高手正好看到了,还望赐教一二。
  • 灵异事件

    2009-05-06 10:41:16

        2009.4底,测试电子商务采购平台,采购组织创建询价单,供应商报价,采购组织核价。一个单子结束后,不动数据库就不会有任何变化了。可是我在创建新单子的时候,系统却把已经变更结束的毫无关系的另一单调出来了,让我操作。我还以为自己眼花了,退出去,再进系统一切正常。但是还是可以看出原来的单子的标题也变动了,难得是数据库有问题,但是任我怎么操作也出现不了了,在此做个记号,期待以后有相同现象……
  • 瘦身为电脑提速

    2009-02-18 15:15:24

    电脑是不是越来越慢,切换页面、打开文件都变得跟蜗牛爬一样,不用急着提高硬件配置,改动一下软件就可以让你的电脑快起来。

    1、设定虚拟内存

    如果你的硬盘够大,那就请你打开”控制面板“中的“系统”,在“性能”选项中打开“虚拟内存”,选择第二项:用户自己设定虚拟内存设置,指向一个较少用的硬盘,并把最大值和最小值都设定为一个固定值,大小为物理内存的2倍左右。这样,虚拟内存在使用硬盘时,就不用迁就其忽大忽小的差别,而将固定的空间作为虚拟内存,加快存取速度。虚拟内存的设置最好在“磁盘碎片整理”之后进行,这样虚拟内存就分不在一个连续的、无碎片文件的空间上,可以更好的发挥作用。 

    2、检查应用软件或者驱动程序

    有些程序在电脑系统启动会时使系统变慢。如果要是否是这方面的原因,我们可以从“安全模式”启动。因为这是原始启动,“安全模式”运行的要比正常运行时要慢。但是,如果你用“安全模式”启动发现电脑启动速度比正常启动时速度要快,那可能某个程序是导致系统启动速度变慢的原因。

    3、桌面图标太多会惹祸

    桌面上有太多图标也会降低系统启动速度。Windows每次启动并显示桌面时,都需要逐个查找桌面快捷方式的图标并加载它们,图标越多,所花费的时间当然就越多。同时有些杀毒软件提供了系统启动扫描功能,这将会耗费非常多的时间,其实如果你已经打开了杀毒软件的实时监视功能,那么启动时扫描系统就显得有些多余,还是将这项功能禁止吧! 建议大家将不常用的桌面图标放到一个专门的文件夹中或者干脆删除!

    4、ADSL导致的系统启动变慢

    默认情况下Windows XP在启动时会对网卡等网络设备进行自检,如果发现网卡的IP地址等未配置好就会对其进行设置,这可能是导致系统启动变慢的真正原因。这时我们可以打开“本地连接”属性菜单,双击“常规”项中的“Internet协议”打开“TCP/IP属性”菜单。将网卡的IP地址配置为一个在公网(默认的网关是192.168.1.1)中尚未使用的数值如192.168.1.X,X取介于2~255之间的值,子网掩码设置为255.255.255.0,默认网关和DNS可取默认设置。

    5、字体对速度的影响

    虽然 微软 声称Windows操作系统可以安装1000~1500种字体,但实际上当你安装的字体超过500 种时,就会出现问题,比如:字体从应用程序的字体列表中消失以及Windows的启动速度大幅下降。在此建议最好将用不到或者不常用的字体删除,为避免删除后发生意外,可先进行必要的备份。

    6、删除随机启动程序

    何谓随机启动程序呢?随机启动程序就是在开机时加载的程序。随机启动程序不但拖慢开机时的速度,而且更快地消耗计算机资源以及内存,一般来说,如果想删除随机启动程序,可去“启动”清单中删除,但如果想详细些,例如是QQ、popkiller 之类的软件,是不能在“启动”清单中删除的,要去“附属应用程序”,然后去“系统工具”,再去“系统信息”,进去后,按上方工具列的“工具”,再按“系统组态编辑程序”,进去后,在“启动”的对话框中,就会详细列出在启动电脑时加载的随机启动程序了!XP系统你也可以在“运行”是输入Msconfig调用“系统配置实用程序”才终止系统随机启动程序,2000系统需要从XP中复制msconfig程序。

    7、取消背景

    不知大家有否留意到,我们平时一直摆放在桌面上漂亮的背景,其实是很浪费计算机资源的!不但如此,而且还拖慢计算机在执行应用程序时的速度!本想美化桌面,但又拖慢计算机的速度,这样我们就需要不在使用背景了,方法是:在桌面上按鼠标右键,再按内容,然后在“背景”的对话框中,选“无”,在“外观”的对话框中,在桌面预设的青绿色等。

    8、把Windows变得更苗条

    与DOS系统相比,Windows过于庞大,而且随着你每天的操作,安装新软件、加载运行库、添加新游戏等等使得它变得更加庞大,而更为重要的是变大的不仅仅是它的目录,还有它的 注册表 和运行库。因为即使删除了某个程序,可是它使用的DLL文件仍然会存在,因而随着使用日久,Windows的启动和退出时需要加载的DLL动态链接库文件越来越大,自然系统运行速度也就越来越慢了。这时我们就需要使用一些彻底删除DLL的程序,它们可以使Windows恢复苗条的身材。建议极品玩家们最好每隔两个月就重新安装一遍Windows,这很有效。

    9、更改系统开机时间

    虽然你已知道了如何新增和删除一些随机启动程序,但你又知不知道,在开机至到进入Windows的那段时间,计算机在做着什么呢?又或者是,执行着什么程序呢?那些程序,必定要全部载完才开始进入Windows,你有否想过,如果可删除一些不必要的开机时的程序,开机时的速度会否加快呢?答案是会的!想要修改,可按"开始",选"执行",然后键入win.ini,开启后,可以把以下各段落的内容删除,是删内容,千万不要连标题也删除!它们包括:[compatibility]、[compatibility32]、[imecompatibility]、[compatibility95]、[modulecompatibility]和[embedding]。

    10、设置为最佳性能

    在外观和性能直接做过选择,右键“我的电脑”选择“属性”,在系统属性选项卡上选择“高级”,在性能->设置,弹出“性能选项”,在其中的视觉效果中选择“调整为最佳性能”。

  • 自动化不是灵丹妙药【转载】

    2009-02-16 11:27:21

    一天和同事聊天,他试图实现一个功能,让一个程序在系统重启后能自动启动,并且加载指定的配置。

      我分析了一下发现实现这个功能会比较复杂,主要是涉及多处配置文件的修改。回头再看看,发现这个系统很少会重启,可能一年就4,5次。于是我建议他放弃这个想法。因为维护配置文件会成为一个负担,考虑到系统重启的频率,这会是得不偿失。

      但是看来他并不以为然。他说他的目标是这些配置工作完全不用人来参与,“最好是在家里动一个手指所有的配置工作都自动化的为我做好了”。看到他信心满怀的样子,我不愿意扫他兴。但我相信如果即使有一天他真正实现了这个目标,维护这个自动化系统也会让他寝食难安。

      这样悲观的看法,我想在两三年前我肯定没有。那个时候我像他一样对“自动化”抱有无限美好的期望,好像只要测试自动化了,软件测试工作马上变得和“公务员一样轻松”,只需要动一下指头,所有的testcase都自动化得跑起来。

      但随着做了更多的自动化测试项目,也看了更多的成功和失败的案例。对自动化的特点了解得来越多,对自动化的期望也在一直不断的下降。

      这种看法的变化,我倒觉得是越来越贴近真实的“自动化测试”。

      如果要充分利用一个工具,一定要了解其特点。现在在业界,自动化软件测试就像一个人见人爱的香馍馍。自动化测试好像已经和“高科技”,“高测试效率”,“成熟的测试team”…这些褒义词联系了起来。在这种一边倒的氛围下,自动化程序的缺点和不足和必须要付出的代价被掩盖了起来。

      认识自动化的不足,我觉得首先要转变的一个想法是“自动化测试并不是用来发现bug的”。原因很简单,自动化测试基于testcase,但所有的bug中只有大约1/4是仅仅按照testcase来测试就能发现的,其它的bug,来自于聪明的“人”的经验,分析,发散思维和说不清道不明的“灵光一闪”,而这些特性对于自动化程序来说完全是无能为力。所以,幻想“动一下手指”,所以的bug都被自动化程序发现出来是完全不可能实现的。

      自动化另外一个特点是自动化本身也是程序,也需要投入大量的人力来实现。一个软件买出的copy越多,它的价值越大。对于自动化测试程序来说,它运行的次数越多,它的价值越大。有下面一些原因都可能减少自动化测试程序运行的次数,甚至导致自动化项目的失败。

      1)测试产品功能或界面变化频繁

      2)自动化的case本身不需要频繁的测试,比如安装过程或者一些非核心的功能

      3)自动化程序不稳定,容易跑“死”掉

      看到了一些自动化测试程序因为这些原因而效果大打折扣,我对“自动化一切”的热度慢慢退烧了。

      最后一个需要注意的自动化测试程序的特点是,自动化测试程序不是商业产品,它的用户都是专业人士,所以它不用商业产品那样高的扩展性,灵活性,可配置性,友好的交互性。因为这些特性的得来是要付出高昂的代价的,那就是人力投入和软件的复杂度大大增加。对于设计师来说,如果要在这些特性和简单中选择的话,一定要选择简单。

      1)对于错误处理要简单直接,而不要灵活和聪明。打印错误并直接退出是最好的选择,不要试图猜测错误的根源并试图从错误恢复。这里包括用户输入,环境错误等。

      2)对于环境设置,要求单纯一些,不要去兼容环境变化。一般来说测试环境都是有测试人员在维护。试图兼容环境可能导致代码大大增加。

      3)对于自动化测试的代码来说,也不要用太炫的设计技巧和复杂的设计模式。因为自动化测试的代码最好能被使用它的测试人员读懂,甚至能做简单的修改和排错,这样能提高自动化测试的次数。

      对自动化期望不能太高和自动化程序不要设计得太完美,是我对自动化测试程序设计和使用过程中获得的最深刻的体会。

     

    本文出自lifr的51Testing软件测试博客:http://www.51testing.com/?764


  • 外包VS外派

    2008-07-10 18:14:09

    外包(Oursource)是项目中本公司不能运作的环节上借用外部资源。是公司在运作项目时候的一个方式。举例说,公司接了一个订购单,但是此单中规定的产品规格需要在公司目前现有的产品上加上额外工序和部件。这种情况下与其重新购置额外部件的生产线,不如从第三方公司购得现成产品以节约成本。 通俗的说 就是把你的项目交给专业的人来做,不用企业内部员来完成,企业用来提高核心竞争力、降低运营成本、巩固自己市场份额的战略性手段。

    外派:一家软件公司外派到另一家软件公司,比如赴华为软件工程师大体就是华为为了某项业务的开展,需要一个部门,或者一批员工,自己去招的话,投资上比较大,而且可能不会长久的需要,因此把这些业务外包给各个公司.譬如你所在的公司.为了达到管理上的严格,以及业务的保密性,要求外包公司把员工送到统一的办公地点,就是华为。

  • 终于找到了方向

    2008-04-04 11:40:57

    很高兴找到了努力的方向,向着目标努力!!
Open Toolbar