软件测试+JAVA

-- 新手上路
posts - 13, comments - 7, trackbacks - 0, articles - 0

2006年11月29日

一天只需睡两小时的秘方
那道人道:“。。。我就传你一些呼吸、坐下、行路、睡觉的法子。”郭靖大奇,心想:“呼吸、坐下、行路、睡觉,我早就会了,何必要你教我?”

                                      -- 摘自《射雕英雄传》第五回

    中医和练武之人告诉我们一种方法,结果发现效果不错。    方法简单,而且也不是什么不传之谜,若是可以帮助有同样问题的朋友,自觉是件好事,所以,就放在这里和大家分享吧。这是个怎样睡觉的招数,难以入睡的时候,或者自知睡眠时间不足的时候可以使用,主要是调整呼吸。
   
    仰卧--(侧卧也可以,习惯了以后姿势不再重要,意境自然可以达到)双手环抱下腹前方--(习惯了不放那里也行,最初这样做有利找感觉)吸气时要求自己一直把气吸到肚脐以下,呼气也从这里呼出,但是不要把所有的气都呼出去--我们正常的呼吸是呼完气,过一会儿再吸气,这里要有点儿不同--气快呼净的时候,不中断的把它吸回来,重新放到肚脐下面,再呼出,再吸回,如此,会产生一种“绵绵不绝”的感觉。

    一方面大约几分钟后可安然入睡,另一方面如果神经衰弱严重或兴奋无法入睡,这样的吐纳可以使您清醒的同时获得和睡眠一样的休息,可以称为“醒着的睡眠”,休息的效果和睡眠也是一样的。

注意舌尖要抵住口腔上膛。

    在“醒着的睡眠”中,你还会感到自己的身体有渐渐纯净的感觉,个人感觉“醒着的睡眠”在恢复身体物理疲劳,比如肌肉的疲劳方面,不如真正的睡眠,但在恢复和保持精力方面,则反胜过真正睡眠一筹,可谓各有千秋。

    其实这不过是简单的金丹吐纳而已,精通者以其练气功。从科学角度说,这大概带有一定自我催眠意义,可以使人尽快进入深度睡眠。人一夜的深度睡眠大约不过三个小时(小粘枕头就人事不省状似休克且可连续持续此状态十小时以上者不在统计范围之内),其效力远胜不安定的睡眠多矣。 

posted @ 2007-01-07 15:08 RedWolf 阅读(562) | 评论 (2)编辑 收藏

     摘要: 上海的地铁一号线是由德国人设计的,看上去并没有什么特别的地方,直
到中国人自己设计的二号线投入运营才知道其中有那么多的细节被二号线忽略
了。结果二号线运营成本远远高于一号线,似乎至今仍未实现收支平衡。  阅读全文

posted @ 2007-01-07 10:33 RedWolf 阅读(272) | 评论 (0)编辑 收藏

     摘要: Email 地址验证代码及说明  阅读全文

posted @ 2007-01-07 09:25 RedWolf 阅读(1595) | 评论 (1)编辑 收藏

     摘要: Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个应答头,一个空行,内容文档。  阅读全文

posted @ 2007-01-04 15:38 RedWolf 阅读(488) | 评论 (0)编辑 收藏

     摘要:   阅读全文

posted @ 2006-12-28 10:51 RedWolf 阅读(230) | 评论 (0)编辑 收藏

     摘要: UTF-8编码基础  阅读全文

posted @ 2006-12-25 11:30 RedWolf 阅读(713) | 评论 (0)编辑 收藏

     摘要: Problem Description: How to create a user in Oracle to create new Oracle projects

The SQL statements for an Oracle Database Administrator to run in order to give a TestDirector user privileges for creating new TestDirector Oracle projects.

  阅读全文

posted @ 2006-12-11 13:31 RedWolf 阅读(1133) | 评论 (0)编辑 收藏

     摘要: Problem Description: How does TestDirector create Oracle projects

Here are the SQL statements that the Project Administration Utility / Site Administrator uses to create new Oracle projects in case a user wants to know why TestDirector needs the system account privileges for Oracle server, or any user with "connect," "resource with admin option," "grant any role," "create user," and "select on_dba_free_space."
  阅读全文

posted @ 2006-12-11 13:27 RedWolf 阅读(410) | 评论 (0)编辑 收藏

     摘要: Solution: Checking permissions of an Oracle user for creating TD projects  阅读全文

posted @ 2006-12-11 13:20 RedWolf 阅读(311) | 评论 (0)编辑 收藏

     摘要: web应用程序测试方法和测试技术详述
1. 概述
l 随着web应用的增多,新的模式解决方案中以web为核心的应用也越来越多, 很多公司各种应用的架构都以B/S及web应用为主,但是有关WEB测试方面的内容并没有相应的总结,所以我在这里对web的测试方法和采用的测试技术进行总结,便于内部交流。
l 测试方法尽量涵盖web程序的各个方面,测试技术方面在继承传统测试技术的技术上结合web应用的特点。
l 相关的测试和实现技术也有着很大的关系,由于本公司使用J2EE体系,也许例子中只有JAVA平台可以使用,.NET平台测试技术暂时不涉及,如果你有请与我联系。
2. 测试方法
说明:测试方法的选择取决你的测试策略。
l 一般的web测试和以往的应用程序的测试的侧重点不完全相同,基本包括以下几个方面。
l 当然圆满的完成测试还要有好的团体和流程等的方方面面的支持,你同样应该对这些方面进行注意。
l 有些测试方法设计到了流程,哪些应该在你的测试团队建设中建立。
  阅读全文

posted @ 2006-11-29 17:06 RedWolf 阅读(347) | 评论 (0)编辑 收藏

转自:51testing
作者:eoliya


如何用loadrunner批量的发送邮件


问:小弟刚刚接触loadrunner,想通过实践来熟悉软件。我用loadrunner录制了登录sohu邮箱并向我的本地邮箱发一封邮件的脚本,其中发邮件的过程是录制在action里面的。如果iteration设置成1,则结果良好,每次run senario都能收到一封邮件。可是当把iteration设置成大于1的整数(例如5),我的本地邮箱还是只能收到一封而已。我曾试着把pacing改成间隔20秒后重复一次发邮件的操作,可结果还是只能收到一封。不知道这是为何,请教该如何解决?先谢过!

答:已经搞定了,在run-time settings的browser emulatoin选项中,把simulate a new user on each iteration去掉
因为邮箱的发信操作只能在同一用户的条件下进行

posted @ 2006-11-29 11:01 RedWolf 阅读(1038) | 评论 (2)编辑 收藏

转自:51testing论坛
作者:
笑游天涯侠

性能测试(并发负载压力)测试分析-简要篇


在论坛混了多日,发现越来越多的性能测试工程师基本上都能够掌握利用测试工具来作负载压力测试,但多数人对怎样去分析工具收集到的测试结果感到无从下手,下面我就把个人工作中的体会和收集到的有关资料整理出来,希望能对大家分析测试结果有所帮助。

分析原则:
    • 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点)
    • 查找瓶颈时按以下顺序,由易到难。
    服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)
    注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。
    • 分段排除法 很有效

分析的信息来源:
    •1 根据场景运行过程中的错误提示信息
    •2 根据测试结果收集到的监控指标数据

一.错误提示分析
分析实例:
1 •Error: Failed to connect to server "10.10.10.30:8080": [10060] Connection
  •Error: timed out Error: Server "10.10.10.30" has shut down the connection prematurely

  分析:
•A、应用服务死掉。
   (小用户时:程序上的问题。程序上处理数据库的问题)
•B、应用服务没有死
   (应用服务参数设置问题)
    例:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%
•C、数据库的连接
   (1、在应用服务的性能参数可能太小了 2、数据库启动的最大连接数(跟硬件的内存有关))

2  Error: Page download timeout (120 seconds) has expired

分析:可能是以下原因造成
•A、应用服务参数设置太大导致服务器的瓶颈
•B、页面中图片太多
•C、在程序处理表的时候检查字段太大多

二.监控指标数据分析
1.最大并发用户数:
应用系统在当前环境(硬件环境、网络环境、软件环境(参数配置))下能承受的最大并发用户数。
在方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数。
如果测得的最大并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么OK。否则,再根据各服务器的资源情况和业务操作响应时间进一步分析原因所在。

2.业务操作响应时间:
• 分析方案运行情况应从平均事务响应时间图和事务性能摘要图开始。使用“事务性能摘要”图,可以确定在方案执行期间响应时间过长的事务。
• 细分事务并分析每个页面组件的性能。查看过长的事务响应时间是由哪些页面组件引起的?问题是否与网络或服务器有关?
• 如果服务器耗时过长,请使用相应的服务器图确定有问题的服务器度量并查明服务器性能下降的原因。如果网络耗时过长,请使用“网络监视器”图确定导致性能瓶颈的网络问题
3.服务器资源监控指标:
内存:
    1 UNIX资源监控中指标内存页交换速率(Paging rate),如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。也可能是内存访问命中率低。

    2 Windows资源监控中,如果Process\Private Bytes计数器和Process\Working Set计数器的值在长时间内持续升高,同时Memory\Available bytes计数器的值持续降低,则很可能存在内存泄漏。

内存资源成为系统性能的瓶颈的征兆:
    很高的换页率(high pageout rate);
    进程进入不活动状态;
    交换区所有磁盘的活动次数可高;
    可高的全局系统CPU利用率;
    内存不够出错(out of memory errors)

处理器:
    1 UNIX资源监控(Windows操作系统同理)中指标CPU占用率(CPU utilization),如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。如果服务器专用于SQL Server,可接受的最大上限是80-85%
    合理使用的范围在60%至70%。
    2 Windows资源监控中,如果System\Processor Queue Length大于2,而处理器利用率(Processor Time)一直很低,则存在着处理器阻塞。

CPU资源成为系统性能的瓶颈的征兆:   
     很慢的响应时间(slow response time)
     CPU空闲时间为零(zero percent idle CPU)
     过高的用户占用CPU时间(high percent user CPU)
     过高的系统占用CPU时间(high percent system CPU)
    长时间的有很长的运行进程队列(large run queue size sustained over time)

磁盘I/O:
    1 UNIX资源监控(Windows操作系统同理)中指标磁盘交换率(Disk rate),如果该参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。
    2 Windows资源监控中,如果 Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec页面读取操作速率很低,则可能存在磁盘瓶径。

I/O资源成为系统性能的瓶颈的征兆 :
     过高的磁盘利用率(high disk utilization)
    太长的磁盘等待队列(large disk queue length)
    等待磁盘I/O的时间所占的百分率太高(large percentage of time waiting for disk I/O)
    太高的物理I/O速率:large physical I/O rate(not sufficient in itself)
    过低的缓存命中率(low buffer cache hit ratio(not sufficient in itself))
    太长的运行进程队列,但CPU却空闲(large run queue with idle CPU)

4.数据库服务器:
SQL Server数据库:
    1 SQLServer资源监控中指标缓存点击率(Cache Hit Ratio),该值越高越好。如果持续低于80%,应考虑增加内存。
    2 如果Full Scans/sec(全表扫描/秒)计数器显示的值比1或2高,则应分析你的查询以确定是否确实需要全表扫描,以及SQL查询是否可以被优化。
    3 Number of Deadlocks/sec(死锁的数量/秒):死锁对应用程序的可伸缩性非常有害,并且会导致恶劣的用户体验。该计数器的值必须为0。
   4 Lock Requests/sec(锁请求/秒),通过优化查询来减少读取次数,可以减少该计数器的值。

Oracle数据库:
  1 如果自由内存接近于0而且库快存或数据字典快存的命中率小于0.90,那么需要增加SHARED_POOL_SIZE的大小。
    快存(共享SQL区)和数据字典快存的命中率:
   select(sum(pins-reloads))/sum(pins) from v$librarycache;
    select(sum(gets-getmisses))/sum(gets) from v$rowcache;
    自由内存:    select * from v$sgastat where name=’free memory’;
2 如果数据的缓存命中率小于0.90,那么需要加大DB_BLOCK_BUFFERS参数的值(单位:块)。
  缓冲区高速缓存命中率:
    select name,value from v$sysstat where name in ('db block gets’,
    'consistent gets','physical reads') ;
   
    Hit Ratio = 1-(physical reads / ( db block gets + consistent gets))
3 如果日志缓冲区申请的值较大,则应加大LOG_BUFFER参数的值。
    日志缓冲区的申请情况 :
     select name,value from v$sysstat where name = 'redo log space requests' ;
4 如果内存排序命中率小于0.95,则应加大SORT_AREA_SIZE以避免磁盘排序 。
   内存排序命中率 :
     select round((100*b.value)/decode((a.value+b.value), 0, 1, (a.value+b.value)), 2)from v$sysstat a, v$sysstat b where a.name='sorts (disk)' and b.name='sorts (memory)'
   
    注:上述SQL Server和Oracle数据库分析,只是一些简单、基本的分析,特别是Oracle数据库的分析和优化,是一门专门的技术,进一步的分析可查相关资料。

说明:
    以上只是个人的体会和部分资料的整理,并不代表专家之言。算抛砖引玉,有不同看法和更深入的分析的,希望大家勇要发言,以推动我们国内的性能测试工作。

posted @ 2006-11-29 10:41 RedWolf 阅读(1062) | 评论 (1)编辑 收藏