发布新日志

  • 产品研发过程中测试管理者如何应对不断的变更的需求

    2016-09-27 15:37:53

        上周六参加了51esting组织的杭州测试沙龙,交流过程大家谈到需求变更这个话题,由于时间问题和自己个性问题没有机会发言,今天有点时间,我来谈谈自己的想法。

       首先我们测试管理者要正确面对需求的变更,需求变更不是洪水猛兽,我们应该拥抱变化,我参与或主导过上百个的项目,还没有一个项目不做需求变更的,变更只是大小不同。测试管理者需要明确产品或项目目标,我们不要把自己团队变成研发的敌人,我们是一个团队,当然我把握好我们的基本原则。当然我们作为测试的管理者应该积极的想办法最规避需求风险的发生,或者把影响变得更小。我来谈谈我常用的措施,有可能只适何我们公司,但是我觉得大家可以参考一下。

    1.迭代开发周期尽量的缩小时间,一般建议迭代周期控制一周到两周之内,需求尽量的明确,开发任务能安排到天。这样的话要求产品人员这个迭代周期需求考虑的相对比较完整,开发人员在安排任务时因为把任务安排到天,就很容易发现问题,能在前期就规避现有需求的变更风险。

    2.建立需求变更模型,从需求变更影响范围、需求变更时间点,需求的优先级和重要度判断需求能不能变更,变更的话要走什么样流程。

    需求影响范围:

        如,影响整个业务流程、整个技术框架,一般不建议变更,若用变更必须经过分管研发副总裁同意,并且需要调整项目总体进度。

    需求变更时间点:

       如,需求变更(增加需求),由于变更增加的工作量,超出该迭代周期剩余工作量30%,不建议变更,如要变更建议下个迭代调整,或者跟现有未做需求优先级置换。

    更优先级和重要性:

         紧急重要那(就得做,产品经理要检讨),重要不紧急(下一个版本),紧急不重要(是否要做),不紧急不重要(叫上开发,可以一起打产品经理了)

    3.建立产品经理需求变更考核机制,整个项目中需求变更率不能超出30%。这个需求更率如何计划可以根据不同公司情况计划,需求点,需求规模、需求影响的工作量等。

    4.当然有时特殊情况,比如市场急迫需要,大老板发话必须怎么样了。那么只好加班了,我们作为管理者只好想办好做好绩效,为兄弟们争取福利和做好后勤保障。当然如果测试时间严重不足我们做好测试策略比如确保主业功能的正确性等,还要做好与上级领导的沟通工作,留下证据(如邮件)。

       需求变更对每一个研发项目来说都会经常遇到,产生变更的原因很多,有外在的、有内在的,但不论是因为什么产生的变更,遇到了就要正确的、合理的分析、评估,给项目以正确的指导。许多变更是可以避免的,如,技术框架设计的可扩展,程序设计的可扩容的话,当发生变更时也可以把变更对项目产生的影响控制到最小。防微杜渐、未雨绸缪,还是那句话:早发现、早处理

  • 移动APP安全测试方案小结

    2016-04-22 11:22:30

    随着智能手机的快速崛起,装载在手机的应用APP呈现爆发式增长。伴随着移动应用的快速增长,安全问题也越来越重要。带来我们测试这块的挑战比较大。针对最近的项目,对APP安全测试做了一个总结。

    移动APP整个平台安全方案的设计,应该包括软件安全、网络安全、管理安全三个方面。除了APP软件安全方面之外,也需要设计好网络安全,相关管理部门也要制定相应的管理措施与制度,从而全方位移动APP产品的安全

    今天重点讲一下APP本身的安全。APP本身安全我个人觉得有5个层面的东西,即配置安全、数据安全、接口安全、平台安全、APP安全(终端)。

    配置安全要考虑这里不谈论操作系统和数据库系统,只谈论应用层面,应用有没有加固措施如,有及时更新补丁、管理后密码有没有加强,有些默认不需要的端口有没修改或关闭等,常规问题有没有规避。数据库管理密码有没有加强。

    数据安全包括重要敏感信息有没有加密存储如用户登录密码。隐私数据有没有做相关的控制和管理。

    接口安全就比较多,如接口有没有采用Htttps,如果没有采用有没有安全证的处理,有没有证书。接口的参数有没有加密处理。后台配置文件中所有密码有没有加密的。

    平台安全,这里平台指得是APP的后台。平台有没有权限管理,管理员密码是如何管理。对平台一些重要操作有没有日志记录。对线上APP一些异常访问有没有监控和控制如一段时间内某个IP访问频率比较大等。

    APP安全,终端有没有对重要数据进行加密存放,有没有对付反编译措施,如第三方加固、混淆代码等。APP启动时有没有完整性检查,检查是自己的原版程序。一些关键业务如支付等有没有使用软键盘等安全措施等。

  • 移动APP产品测试思路梳理

    2016-01-25 10:30:22

    一、 测试计划

    测试周期根据项目的迭代计划进行是,测试人员需要需求阶段就要参与。APP迭代测试周期控制在两周以内为宜。

    二、测试准备

    文档资源:功能需求文档,原型图、效果图以及后台设计文档。

    硬件资源:测试设备各类终端设备,准备时要考虑不同的操作系统和系统版本。

    其他资源:支付宝/微信支付功能的项目,需要提前申请支付宝/微信公众号账户。

    确认工作沟通机制,特别是各类文档、程序最新版本确认机制,建议有所有文档和程序资源获取通过配置库来处理。这点很重要,会影响后续的测试进程。

    三、测试要点

    接收版本

    基础字典数据已完整,主要业务流程能比较顺利的走通。

    UI测试

    1.         原型图与效果图版本确认为最新,测试时以原型图与效果图为准。

    2.         有用户体验方面的建议,必须经过产品经理的克确认。

    3.         测试模拟数据需要考虑正式环境下的数据情况,最好形成数据测试用例,如果第三方数据,需要考虑数据各种异常情况如,空值,NULL,长度等情况。

    功能测试

    1.         功能问题以需求文档为准,若有功能方面的问题或建议,必须经过产品经理确认。

    2.         个人建议,用户体验方面的建议,优先级一般放在修复bug之后。

    3.         开发反馈功能无法实现、设计如此、问题延期处理以及其它原因造成的问题,必须经过产品经理的确认,并督促开发解决。

    4.         在正式环境下的测试数据包括注册、相关业务的测试数据要有识别,方便后续处理。

    兼容测试

    1.         需求中要确定兼容版本,一般建议IOS7以上,Android1.6以上。低于这两个版本用户使用率比较低了。

    2.         兼容版本的问题必须在产品说明中有体现,运营产品必须让运营人员知晓。

    性能测试

    1.         性能测试需要根据产品用户量、终端硬件性能来考虑。

    2.         重点接品服务的性能测试,使用频率较高的公共服务和业务服务。

    3.         重点要考虑wifi4G3G2G网络下的切换效果。特殊业务如视频、下载等,wifi切换到4G3G2G的提示和设置考虑。

    后台测试

    1.         后台日志查询服务、后台业务查询服务,刚开始要接合终端业务同步测试,走一步后台查询一次。后续可以根据情况选择频率,但是每个测试阶段必须测试一次。

    2.         后台统计报表,要结全查询业务来测试。统计可以发现记录的状态、数值、标识ID问题。

    3.         尽可能真实地模拟用户行为。

    回归测试

    A)软件上线前,需对产品进行回归测试,测试内容包含之前所有的测试项目。

    B)回归测试不做细节方面测试,从客户常规使用的角度做产品验的测试,需要比较完整的覆盖功能测试。

    四、测试产物

    测试日报:缺陷统计,缺陷趋势、缺陷跟踪

    上线报告:缺陷修正情况,产品质量评价

  • 从另一个角度再来看我们的测试

    2016-01-18 10:14:13

    14年底,一时兴起,申请转岗做公司一款移动端的产品经理,通过一年产品经理职业生涯,再来回顾,有几个问题可以跟大家交流一下。

    产品安装测试除了做不同客户端的基本安装测试以外,还要做用户注册、用户绑定测试,必须能够让产品让用户能基本能用起来。有时间话最好能把主要的业务流程走一遍,并且做到不用查找任何手册,就能正常使用。

    现在大家都在精力都花在一些高大上的测试上面,多少并发能够把这个产品搞趴下,觉得好牛。自动化覆盖率达到百分之百多少。当一个注册用户数只有几千的时候,性能有时是可以忽略的,如果真有性能问题一般在平时功能测试时, 如果有心就能感觉到的。当一个项目工期只有2个月,有测试负责人跟我说他的自动化测试覆盖率有80%,我肯定会担心这个产品的质量。

  • 数据库常用查询语句(Oracle)

    2014-09-19 13:17:50


    1         建表语句

    create table SC

    (

      CNO   NUMBER,//课程号

      SNO   NUMBER,//学员号

      GRADE NUMBER//得分

    )

    create table STUDENT

    (

      SNO   NUMBER not null,//学员号

      SNAME VARCHAR2(40),//学生姓名

      SAGE  NUMBER,//年龄

      SSEX  VARCHAR2(10)//性别

    )

    create table COURSE

    (

      CNO     NUMBER,//课程号

      CNAME   VARCHAR2(40),课程名

      CPNO    NUMBER,

      CCREDIT NUMBER,学分

      TEACHER VARCHAR2(20)老师

    )

    2         部分一

    1.      查询‘陈东’老师教授的课程和课程号

    select cno,cname from course where teacher='陈东';//注意是单引号

    2.      查询年纪大于23岁的男生信息

    select * from student where ssex='' and sage >23

    3.      查询至少选修‘陈东’老师的一门课程的女生

    Select sname from student where Ssex=''and sno in(select sno from sc where cno in(select cno from course where teacher='陈东'))

    3         部分二

    1.      统计所有学生选修的课程门数

    select count(distinct(cno)) from sc

    2.      统计每门课程选修的人数

    select count(sno) as 选修数,cno as 课程号 from sc group by cno

    3.      求‘陈东’老师所教授的每门课程的平均成绩和总人数

    select count(sc.cno),sc.cno,avg(sc.grade) from sc,course where sc.cno=course.cno and course.teacher='陈东' group by sc.cno

    4.      统计选修课程2的同学的平均成绩

    select avg(grade) from sc where cno=2

    5.      统计每门课程的学生人数(要求超过2人才统计)要求输出课程号和选修人数,结果按照人数的降序排序,人数相同的话按照课程号升序排序

    Select cno,count(sno)from SC group by cno having count(sno)>2 order by 2 desc, 1

    6.      查询姓名以开头的所有学生

    select * from student where sname like '%'

    7.      找出年纪大于女生平均年纪的男生

    select * from student where Ssex='' and Sage>(select avg(Sage) from student where Ssex='')

    8. 找出在SC表没有成绩,但是在Student中存在的学生

    select * from student where sno not in(select sno from sc ) and  sno in(select sno from sc where grade is null)

    4         部分三:

    1.      查询选修总学分在10学分以下的学生姓名

    select sc.sno,sum(course.ccredit) from sc,course where sc.cno=course.cno group by sc.sno having sum(course.ccredit)<10//sum求和,count统计记录数

  • WinScp无法访问Linux问题处理

    2014-09-05 10:24:53

    1、 下载vsftpd-2.2.2-6.el6_0.1.i686.rpm//下载对应Linux版本vsftpdrpm文件。

    2、 查看是否安装vsftpd

    # rpm qa |grep vsftpd

    3、 不存在安装vsftpd服务。

    # rpm -vih /文件存放路径/文件名

    4、 启动vsftpd服务。

    # service vsftpd start //启动

    # service vsftpd stop //停止

    5、 开机默认VSFTPD服务自动启动

    修改/etc/rc.local,加入/etc/rc.d/init.d/vsftpd start 

    6、 关闭Linux防火墙

    # chkconfig iptables on //启动,重启后永久性生效

    # chkconfig iptables off //停止,重启后永久性生效

    # service iptables start //启动,即时生效,重启后失效

    # service iptables stop//停止,即时生效,重启后失效

    7、 启动sshd服务。

    # /etc/init.d/sshd start

  • Linux下Tomcat的安装配置

    2014-09-04 11:22:16

    一、             下载安装对应的jdk,并配置Java环境。

    官网下载地址:

    http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html

    1.         下载j2sdk ,如jdk-6u1-linux-i586-rpm.bin

    2.         在终端中转到jdk-6u1-linux-i586-rpm.bin所在的目录,输入命令

    # chmod +755 jdk-6u1-linux-i586-rpm.bin//添加执行的权限。

    3.         执行命令

    # ./jdk-6u1-linux-i586-rpm.bin//生成jdk-6u1-linux-i586.rpm的文件。

    4.         执行命令

    # chmod +755 jdk-6u1-linux-i586.rpm//jdk-6u1-linux-i586.rpm添加执行的权限。

    5.         执行命令

    # rpm ivh jdk-6u1-linux-i586.rpm //安装jdk

    6.         安装界面会出现授权协议,按Enter键接受,把jdk安装在/usr/java/jdk1.6.0_01

    7.         设置环境变量,在 /etc/profile中加入如下内容(可以使用vi进行编辑profile)

    JAVA_HOME=/usr/java/jdk1.6.0_01

    CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

    PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

    export PATH CLASSPATH JAVA_HOME

    8.         执行命令

    # java –version

    java version "1.6.0_05"

    Java(TM) SE Runtime Environment (build 1.6.0_05-b13)

    Java HotSpot(TM) 64-Bit Server VM (build 10.0-b19, mixed mode)

    jdk的版本为jdk1.6.0_05-b13则表示jdk已成功安装。

    二、             下载安装tomcathttp://tomcat.apache.org/

    1.         下载apache-tomcat-6.0.10.tar.gz

    2.         # tar -zxvf apache-tomcat-6.0.10.tar.gz //解压

    3.         #cp -R apache-tomcat-6.0.10 /usr/local/tomcat //拷贝apache-tomcat-6.0.10/usr/local/下并重命名为tomcat

    4.         # cd /usr/local/tomcat/bin/ //进入启动路径

    5.         # ./startup.sh //启动tomcat

    显示 Using CATALINA_BASE: /usr/local/tomcat

     

    Using CATALINA_HOME: /usr/local/tomcat

    Using CATALINA_TEMDIR: /usr/local/tomcat/temp

    Using JAVA_HOME: /usr/java/jdk1.6.0_01

    到此tomcat已经安装完成,现在使用浏览器访问 http://localhost:8080,出现tomcat默认页面,说明已经安装成功。

    三、             修改tomcat的监听端口

    #  cd  /usr/local/tomcat/conf //进入路径

    #  vim server.xml //打开配置文件

    <Server port="8005" shutdown="SHUTDOWN">【停止tomcat时的端口】

     <Connector port="8081" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" /> 
    tomcat默认的监听端口是8080,现在改成8081

     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />apache+tomcat模式时访问tomcat的端口】

    现在重启tomcat

  • loadrunner11在WIN7下无法启动IE8解决方案

    2014-07-29 09:05:45

    1.在IE的选项的“高级”中,把“启用第三方浏览器扩展”这个checkbox的勾去掉
    2.在“我的电脑”—>属性—>高级—>性能设置—>数据执行保护,将lr的bin—>vugen.exe(Wlrun.exe)加入解决LR无法启动IE.或者将保护设置为"只为基本windows添加保护"
    3.用兼容模式运行.就成功了.Wlrun.exe,右击属性-->兼容性-->以2003系统兼容运行。
    4.如果装了360安全卫士请退出。
  • 一次开心的BUG总结分析

    2013-12-20 12:40:35

    今天一个同事发了一个发钱的开玩笑的小工具,我突发其想,在部门群发了一个测试这个小工具,并指出我认为最严重的一个BUG,那么我就请吃下午茶。后面他们一会就找出来很多BUG,其中包括我认为最严重的那个BUG。我要让大家说明理由,如果理由是我很认可的,那么下周我再请大家一次。下面是他们提交的BUG。
    bug:
    1、标题与内容不符,标题是发放名册,内容明显不是名册,需求与设计不符;
    2、程序运行后一直点否,就无法退出,需要关闭进程;
    3、如愿以尝->如愿以偿,错别字;
    4、点击弹出信息后,后面图片应该暂停不应该增加;
    5、钱的编号都是一样的。
    6、运行程序,一开始就点‘否’,提示信息骂人,提示语不友好,用户体验差
    小插曲:
    1、将后缀名改成scr,会显示不同面值的钱。


    我心中认为最严重的BUG是第5条“钱的编号都是一样的”。原因如下:
    因为这是一个发放奖金的程序。大家想想看,发给大家奖金虽然金额很大,但是发放的钱的的编号都是一样的,是假币。好比是ATM取出来现金是假币,现实中你会用吗。
    这里从功能和业务角度来说,大家提的这些BUG中“所有发的钱的编号是一样”,缺陷严重程度最高,优先级越高,肯定会被客户投诉。
  • 如何提高测试部在公司的地位

    2013-10-24 16:51:52

            这个社会很现实,没有无缘无故爱和无无缘无故恨,公司也是一样。老板肯定喜欢那些给公司创造价值的人,说实在的就是利润。那么我们测试人员如何创造利润呢,那就是提高产品质量,降低工程成本。

           测试人员目前在公司中的地位感觉不是很受重视,这是一个事实。这也是测试行业在中国大部分软件企业中的一个普遍现象,是一个基本国情。这跟测试行业起步晚有也有很大关系。    哪道国家,行业、公司的大环境是这样,我们就坐已待毙。绝对不行,至少我是坚决不认命,因为我热爱这个职业,我对测试行业充满信心。

           至少到目前为止,我们每年都在进步,包括人员,、资源,方法都在进步。08年的时候只有一个测试组就2号人,一台普通PC的测试做服务器,95%以上工作是手工的。到今天我们有20号人,服务器都专业化了,有数据库服务器,应用服务器,备份服务器等。我们现在很多项目都在做性能测试了,也慢慢开始介入一些自动化测试尝试。

           每个时间断都会出瓶颈期,其实我自己也出现瓶颈期了,可能我的能力只能同时管理10个人,现在我管着20人就有瓶颈了。出现瓶颈不用怕,我们只想办法去解决就行了。

           其实软件企业部门的地位我个人认为还是靠部门人员能力和素质,当这个部门的人员的能力和素质都是出类拔萃,能够让公司领导和兄弟部门信服的话,我们的地位肯定就提高了。 我们不仿尝试一些办法来改善这种局面,我们目前改变了大环境,先改变自己,提高自己做起。以下是我想到一些提高我们自己的一些建议:

    1.     提高业务和专业水平,每天进步一点

           有时间就抓紧学习,快速提高自己。学到的东西能很好的应用到实际的工作中去。比如你想往测试组长发展就有意识提前学习项目管理的知识,如何做计划、跟踪计划、,安排任务、跟踪任务等。

           比如我们计划半个月以后要测试公司开发的一个微信系统,那么我们就要在提前把目前互联网行业中比较知名的微信相关产品使用的非常熟练。测试并不是有需求说明书,有文档,有用例就能测试完美的。需要当一个普通用户一样去第一次感受这种项目的特点,第一感觉是最有价值的。在产品人员,开发人员当中,测试要成为最了解系统的那个人。

    2.     主动深入项目和产品中去,成为关键先生

    我们千万不能有你怎么设计,怎么开发,我就怎么测这种想法。一定要有用户体验的敏感度,你的意见会得到产品人员的采纳。需求评审、设计评审要以主人翁身份参加进去,让产品经理,项目经理进行相关讨论都会主动让你参加。

    我们自己的编写的用例一定相关产品经理,项目经理,项目相关成员来年评价,让他知道你会这样去测试一个系统,他自然在开发的过程会注意这些用例点。质量自然提升。测试过程中,我们要主动跟项目负责人,产品负责人交流,告诉我们的工作情况和碰到的问题。要让我们成为项目中最不可缺少的一员。

    3.     提高自信,坚持原则,树立权威,关注过程和结果。

    我们的报告文档中不出现“也许、“基本、”可能这些字眼。我们所有报告文档是规范统一、清晰明了、简洁大方。,要让其它部门感觉到测试中出去的报告文档是权威的,是专业的。我们所过程都是遵守着公司规范和制度,所有评价结果都是有据可查,有法可依。所有工作的目的都是测试的目标,提高产品质量,降低工程成本。

    4.     善于总结和分享,善于沟通能影响他人

    能定期总结,将工作问题总结,并根据自己的理解有初步的解决方案,并跟踪直至问题解决。能够将自己应用好的方法通过各种方式在部门或公司分享。有时不要怕自己的技术被别人学去,能在分享的同时你也在进步了。

    能主动跟产品经理,项目经理,项目组成员、公司领导沟通。沟通的时候能在坚持原则的同时,站在对方思考和沟通问题。在适当的时机法宣传我们自己,宣教遵守规范和过程的好处,去影响其它人。如让研发知道我们是怎么做测试的,让他们改变测试就是随意点击这种意识,他们看到了我们的专业性,在关键项目上我们有很好的表现,长期以往地位自然会提升。

      总结,前面我说了这么多,我是有感而发,提高测试中心的地位,不仅靠测试经理的灵活运作,更要看大家的专业业务技能,团队配合好坏。都做到了,我们自然成为公司不可缺少的核心力量,地位也就顺其自然上升,工资,奖金也就顺其自然提高了。

     

     

  • 性能测试并发用户数分析实例经验值

    2013-08-21 11:34:10

    医院系统:医院系统注册1000个,请问模拟多少并发用户数合适?
      分析:医院最忙的的时候是早上9点到10点,那这个时候最多的业务,挂号收费,医生开处方,医生开医嘱。  周一是医院开放科室最多。医院挂号收费有20个窗口,周一总共挂号科室40个,平均每个科室2个医生,医疗总共12个病区,每个病区有5台电脑。那么可能并发数为20+40*2+12*5=160,那么建议模拟并发用户数可以考虑100到200之间。

    高速系统:高统注册500个,请问模拟多少并发用户数合适?
           分析:这段高速系统,用户500,但是这段高速,出口只有10个,平均每个出口6个收费口,那么可能并发用户数为10*6=60,,那么建议模拟并发用户数可以考虑50到100之间。



    欢迎大家补充!


  • 名词解释之一:负载测试

    2013-08-21 10:43:36

    负载测试(Load testing),通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征。例如,响应时间、事务处理速率和其他与时间相关的方面。

     负载测试是主要判断一个系统的最负载量是多少,经常用于判断一个系统的生命周期,比如高速系统,如果这个系统每周最大负载的业务量8000万笔,目前实际每周1000万笔,如果每年按照50%的增长话,这个产品生命周期4到5年,或者说到某一时间点,我需要对系统扩容,比如更新服务器,网络等或者更换系统。


  • 测试工作如何简单化

    2013-05-30 16:09:46

    我们要把复杂的测试工作简单化,如何简单化呢?有两个方法:1.把我们测试任务分解,按阶段,按人,按工作类型都可以,但必须确定责任人和完成时间要求和质量标准。2.测试的内容分类,归类,确定工作衔接标准。这样的我们的工作才会清晰,人也会轻松,质量也能更加保障,盲目的加班,又累人,效果也不佳。
  • loadrunner报错“"Step Timeout caused by resources is a warning”错误解决

    2012-12-06 12:14:59

    loadrunner报错“"Step Timeout caused by resources is a warning”错误解决
    1、 修改run time setting中的请求超时时间,默认120,你改大一些,其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receieve timeout,Step download timeout,分别建议修改为600、600、5000;run time setting设置完了后记住还需要在control组件的option的run time setting中设置相应的参数;

    2、 设置run time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,勾选。
  • 以80年代赚取“工分”的月度考核方式。

    2012-12-05 13:58:05

    欢迎大家补充。
  • loadrunner关于win2003中TcpTimedWaitDelay问题解决

    2012-12-02 14:20:13

    1. 打开注册表编辑器,如 Regedit.

    2. 导航到:HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

    3. 双击 TcpTimedWaitDelay,然后将“数值数据” 字段设置为 60(十进制)。

    4. 关闭注册表编辑器,然后重新启动计算机。

     

    TCP有个选项 TcpTimedWaitDelay:
    确定 TCP/IP 可释放已关闭连接并重用其资源前,必须经过的时间。关闭和释放之间的此时间间隔通称 TIME_WAIT 状态或两倍最大段生命周期(2MSL)状态。此时间期间,重新打开到客户机和服务器的连接的成本少于建立新连接。减少此条目的值允许 TCP/IP 更快地释放已关闭的连接,为新连接提供更多资源。如果运行的应用程序需要快速释放和创建新连接,而且由于 TIME_WAIT 中存在很多连接,导致低吞吐量,则调整此参数。

  • sql语重温(一):字符串转换数字比较大小

    2012-11-05 12:31:50

     
    单任务记录
    select * from work_worklist where convert(float,sjgzl) > 12.0
    多任务记录
    select rwsj,uid,sum(convert(float,sjgzl)) num
    from work_worklist
    where 1=1
    group by rwsj,uid
    having sum(convert(float,sjgzl)) > 12.0
  • 一段QQ交流引起的深思和老兵建议

    2012-07-25 11:13:32

    测试*** 11:02:59
    您好
    大傻 11:03:45

    测试*** 11:03:52
    我是刚入行  刚接触qtp  想请教下 有什么好的书和资料介绍不
    大傻 11:04:22
    你测试几年了
    测试*** 11:04:20
    或者说在学习上更好的建议
    测试*** 11:04:33
    测试8个月
    测试*** 11:04:37
    没几年
    大傻 11:05:13
    那学QTP还早了一些
    测试*** 11:05:36
    还早了点  还您觉得我现在主要是要学习什么知识呢
    测试*** 11:05:42
    因为很迷茫
    大傻 11:07:44
    说说你现在做得工作
    测试*** 11:07:57
    我现在在一家物流公司做网站测试
    测试*** 11:08:17
    现在测的最多的还是互联网这一块
    大傻 11:08:32
    说说网站业务和架构
    测试*** 11:09:12
    网站主要是针对于用户注册 登录 下单预报   要走货就要在网站上面预报
    测试*** 11:09:35
    很简单的业务
    大傻 11:10:16
    用户注册的表名是什么
    大傻 11:11:02
    下单预报的后台数据流程是,涉及哪些表
    测试*** 11:11:23
    这个我都还不清楚  因为我只是涉及功能  关于数据库那一块我还不清楚  没让我 涉及
    测试*** 11:12:08
    我现在是准备换工作的

     

    一名老兵的建议:测试工作就像练绝世武功一样,需要先打好基础,不然会走火入魔的。

  • Oracle中SYSDATE与CURRENT_DATE区别

    2012-07-24 18:06:13

         今天测试发现所测系统取得系统时间就是不对,查了一下代码是取系统 select current_date  from dual;应使用 select sysdate from dual;current_date和sysdate还是有区别的。
     
     

    在oracle中current_date与sysdate都是显示当前系统时间, 其结果基本相同,但是有三点区别:

    1. current_date返回的是当前会话时间,而sysdate返回的是服务器时间.

    2.current_date有时比sysdate快一秒,这可能是四舍五入的结果.

    3. 如果修改当前会话的时区,比如将中国的时区为东八区,修改为东九区,则current_date显示的时间为东九区时间, 根据东加西减的原则,current_date应该比sysdate快一小时.

  • oracle数据库sql语句性能分析小技巧1(set autot on的应用)

    2012-07-11 10:59:22

    目前性能测试过程经常碰到一些由于sql语句的问题造成性能差的问题,有时我们虽然捕捉到相关应sql语名了,但是也不知道怎么分析。我们可以通过开启set autot on来进行简单的分析如索引,执行计划等,而最终更有针对性进行性能优化。以下是一个简单的实例:


    SQL> set autot on
    SQL> conn portal51/portal51
    已连接。
    SQL> select count(*) from mh_xtmk;

      COUNT(*)
    ----------
           555
    SQL> set autot on
    SQL> select count(*) from mh_xtmk;
      COUNT(*)
    ----------
           555

    执行计划
    ----------------------------------------------------------
    Plan hash value: 538866314
    ----------------------------------------------------------------------------
    | Id  | Operation             | Name       | Rows  | Cost (%CPU)| Time     |
    ----------------------------------------------------------------------------
    |   0 | SELECT STATEMENT      |            |     1 |     2   (0)| 00:00:01 |
    |   1 |  SORT AGGREGATE       |            |     1 |            |          |
    |   2 |   INDEX FAST FULL SCAN| PK_MH_XTMK |   555 |     2   (0)| 00:00:01 |
    ----------------------------------------------------------------------------
    Note
    -----
       - dynamic sampling used for this statement

    统计信息
    ----------------------------------------------------------
              0  recursive calls
              0  db block gets
              3  consistent gets
              0  physical reads
              0  redo size
            409  bytes sent via SQL*Net to client
            385  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              1  rows processed
    SQL> set autot off
    SQL> conn sys/bsoft as sysdba;
    已连接。
    SQL> set autot off
1221/71234567>
Open Toolbar