我们一起成长。。一起思考。。一起进步,希望能够和大家一起讨论

发布新日志

  • 英文版sql server 2000 输入中文字符“??”郁闷

    2008-05-09 17:36:59

    郁闷

    TD 装了2次了 可是装了 sql server 2000 英文版 却不能输入中文。。唉

    通过设计语言 也不行!没辙了!

    周一又要装一遍了。。真是郁闷。。

  • TD 8.0 安装经验

    2008-05-08 17:04:18

    安装环境:

    windows server 2003+sp1补丁 +iis +汉语多语言包 +sql server 2000标准版+sp3补丁

    为了避免重装 将系统ghost 了;我可不愿意去卸载 出了问题还不如重新ghost回来比较节省时间

    安装过程:

    1.双击安装程序 接着点NEXT ,NEXT,。。

    2. 到达要求用户输入密码 出现问题 我输入的是系系统管理员administrator 的密码;但是总是提示我用户和密码出错;如果你此时退出系统 重装的话还会弹出checku.exe 出错对话框(就是那个windows 标准的 发送不发送的那个对话框) 查了网上高人 了解到是因为数据执行保护程序禁止了该程序的运行,在我的电脑 属性 性能 高级 数据保护标签中勾中第一个复选框;则此步骤可以通过

    3.接着就是设置TDDIR 文件夹共享 除了系统默认的共享设置,又手动将权限放宽了

    4.点击NEXT,NEXT,(安装系统默认的路径和虚拟目录名称),安装完成

    5.重启了系统 启动TD,提示某某控件没有装 点击确定后 网页白屏,什么都没有;通过安装SP2补丁可以解决此问题

    6.安装完成后重启系统,启动TD 则提示安装控件 则将控件安装上。

    7.IE7不能显示TD,则需要在那几个STARTADMIN.HTML等文件中关于MSIZ 模仿里边IE6.0的方式添加IE7.0,则可以成功访问

    注意的问题:1,IIS中的权限最好都设置为允许状态,2。添加信任站点,3。IE设置中将权限放低,将里边的一些控件设置都设置为允许 4。将防火墙中需要添加TD允许访问

    中途碰到显示html源码的问题 通过胡乱设置就好了 不知道什么原因 汗

     

  • 测试的目的不仅是尽量发现所有的bug,更重要的是尽量早的发现bug

    2008-01-11 11:01:13

     

    2008/01/11

    公司目前项目比较多,还只在做功能测试,而且项目间有很多相关性。所以经历了 一段时间,软件都趋于稳定!现场返回的bug和测试的bug都得到修复!有一个问题就让我不解,而且现在想起来应该是比较弱的问题

    就是既然软件经历功能测试,尽量模拟用户操作,尽量找到用户操作的每个路径,最终也能使得软件趋于“稳定”;且不管软件内部是否很糟糕,最起码用户操作起来大部分功能都正确无误,那为什么还需要单元测试,需要那么多的前期工作?(想想:现在很多测试专家不都是在强调软件测试需要介入在项目开始阶段嘛!估计平时都是在机械的接受这样的观念)

    在与开发工程师交流的过程中,开发工程师有时候会说这个bug如果能早点发现就好了!我总是认为我功能测试初期的准备工作和测试策略找问题。但是无论我准备多充分,还是有重大bug在后期被发现。

    现在想来我以前测试的观思想一直是只要尽可能找到软件的bug就行了,就认为是完美了;但是我却不曾思考过发现这些bug是否可以在更短的时间内完成。尽可能多的发现bug是对的,但是更重要的是尽量早的发现bug;我想此刻这个观念才将真正开始融入我的测试中。

    要想早点发现bug,最早莫过于从需求就开始介入了。经验也证明,测试中几乎50%的bug来自于需求和设计。这个也应该成为我们测试组努力的方向。

     

     

  • html和XML中有很多转义字符

    2007-12-28 16:00:24

     

    2007年12月28日

    HTML 中有< > & "  具有特殊的含义,使用这三个字符,应该使用他们的转义序列

    XML中也有类似的字符 < > & ' " 如果xml文档中使用了类似的 < 的字符,那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始

    另外需要的特殊字符:&# @等

    在sql语句的字符串数据是用单引号包在外面的,如果插入的数据中包含单引号,就需要特殊处理!目前的程序应该避免使用字符串拼凑的方式来实现,至少要使用占位符合!在这有些sql注入的知识

    在web开发中要注意这些问题,但是我们做测试的时候这些地方一定不能放过哦

     

  • 微软智力题的参考答案(后边有部分是别的题的答案)

    2007-12-28 15:17:09

    1、day1 给1 段,
      day2 让工人把1 段归还给2 段,
      day3 给1 段,
      day4 归还1 2 段,给4 段。
      day5 依次类推……

      2、面对这样的怪题,有些应聘者绞尽脑汁也无法分成;而有些应聘者却感到
    此题实际很简单,把切成的8份蛋糕先拿出7份分给7人,剩下的1份连蛋糕盒一起分
    给第8个人。

      4、假如只有一个人戴黑帽子,那他看到所有人都戴白帽,在第一次关灯时就
    应自打耳光,所以应该不止一个人戴黑帽子;如果有两顶黑帽子,第一次两人都只
    看到对方头上的黑帽子,不敢确定自己的颜色,但到第二次关灯,这两人应该明白
    ,如果自己戴着白帽,那对方早在上一次就应打耳光了,因此自己戴的也是黑帽子
    ,于是也会有耳光声响起;可事实是第三次才响起了耳光声,说明全场不止两顶黑
    帽,依此类推,应该是关了几次灯,有几顶黑帽。
     
      5、比如你怎样快速估算支架和柱子的高度、球的半径,算出各部分的体积等
    等。招聘官的说法:"就CNTOWER这道题来说,它和一般的谜语或智力题还是有区别
    的。我们称这类题为’快速估算题’,主要考的是快速估算的能力,这是开发软件
    必备的能力之一。当然,题目只是手段,不是目的,最终得到一个结果固然是需要
    的,但更重要的是对考生得出这个结果的过程也就是方法的考察。"Mr Miller为记
    者举例说明了一种比较合理的答法,他首先在纸上画出了CN TOWER的草图,然后快
    速估算支架和各柱的高度,以及球的半径,算出各部分体积,然后和各部分密度运
    算,最后相加得出一个结果。
      这一类的题目其实很多,如:"估算一下密西西比河里的水的质量。""如果你
    是田纳西州州长,请估算一下治理好康柏兰河的污染需要多长时间。"
      "估算一下一个行进在小雨中的人5分钟内身上淋到的雨的质量。"
      Mr Miller接着解释道:"像这样的题目,包括一些推理题,考的都是人的
    ProblemSolving(解决问题的能力),不是哪道题你记住了答案就可以了的。"
      对于公司招聘的宗旨,Mr Miller强调了四点,这些是有创造性的公司普遍注
    重的员工素质,是想要到知名企业实现自己的事业梦想的人都要具备的素质和能力

      要求一:RawSmart(纯粹智慧),与知识无关。
      要求二:Long-termPotential(长远学习能力)。
      要求三:TechnicSkills(技能)。
      要求四:Professionalism(职业态度)。

      6、她的回答是:选择前五层楼都不拿,观察各层钻石的大小,做到心中有数
    。后五层楼再选择,选择大小接近前五层楼出现过最大钻石大小的钻石。她至今也
    不知道这道题的准确答案,"也许就没有准确答案,就是考一下你的思路,"她如是
    说。

      7、分析:有个康奈尔的学生写文章说他当时在微软面试时就是碰到了这道题
    ,最短只能做出在19分钟内过桥。
     
      8、两边一起烧。

      9、答案之一:从麻省理工大学一位计算机系教授那里听来的答案,首先在同
    等用材的情况下他的面积最大。第二因为如果是方的、长方的或椭圆的,那无聊之
    徒拎起来它就可以直接扔进地下道啦!但圆形的盖子嘛,就可以避免这种情况了
    )

      10、这个乍看让人有些摸不着头脑的问题时,你可能要从问这个国家有多少小
    汽车入手。面试者也许会告诉你这个数字,但也有可能说:"我不知道,你来告诉
    我。"那么,你对自己说,美国的人口是2.75亿。你可以猜测,如果平均每个家庭
    (包括单身)的规模是2.5人,你的计算机会告诉你,共有1.1亿个家庭。你回忆起
    在什么地方听说过,平均每个家庭拥有1.8辆小汽车,那么美国大约会有1.98亿辆
    小汽车。接着,只要你算出替1.98亿辆小汽车服务需要多少加油站,你就把问题解
    决了。重要的不是加油站的数字,而是你得出这个数字的方法。
     
      12、答案很容易计算的:
      假设洛杉矶到纽约的距离为s
      那小鸟飞行的距离就是(s/(15+20))*30。

      13、无答案,看你有没有魄力坚持自己的意见。

      14、因为人的两眼在水平方向上对称。

      15、从第一盒中取出一颗,第二盒中取出2 颗,第三盒中取出三颗。
      依次类推,称其总量。
     
      16、比较复杂:
      A、先用3 夸脱的桶装满,倒入5 夸脱。以下简称3->5)
      在5 夸脱桶中做好标记b1,简称b1)。
      B、用3 继续装水倒满5 空3 将5 中水倒入3 直到b1 在3 中做标记b2
      C、用5 继续装水倒满3 空5 将3 中水倒入5 直到b2
      D、空3 将5 中水倒入3 标记为b3
      E、装满5 空3 将5 中水倒入3 直到3 中水到b3
      结束了,现在5 中水为标准的4 夸脱水。

      20、素数是关,其余是开。

      29、允许两数重复的情况下
      答案为x=1,y=4;甲知道和A=x+y=5,乙知道积B=x*y=4
      不允许两数重复的情况下有两种答案
      答案1:为x=1,y=6;甲知道和A=x+y=7,乙知道积B=x*y=6
      答案2:为x=1,y=8;甲知道和A=x+y=9,乙知道积B=x*y=8
      解:
      设这两个数为x,y.
      甲知道两数之和 A=x+y;
      乙知道两数之积 B=x*y;
      该题分两种情况 :
      允许重复, 有(1 <= x <= y <= 30);
      不允许重复,有(1 <= x < y <= 30);
      当不允许重复,即(1 <= x < y <= 30);
      1)由题设条件:乙不知道答案
      <=> B=x*y 解不唯一
      => B=x*y 为非质数
      又∵ x ≠ y
      ∴ B ≠ k*k (其中k∈N)
      结论(推论1):
      B=x*y 非质数且 B ≠ k*k (其中k∈N)
      即:B ∈(6,8,10,12,14,15,18,20...)
      证明过程略。
      2)由题设条件:甲不知道答案
      <=> A=x+y 解不唯一
      => A >= 5;
      分两种情况:
      A=5,A=6时x,y有双解
      A>=7 时x,y有三重及三重以上解
      假设 A=x+y=5
      则有双解
      x1=1,y1=4;
      x2=2,y2=3
      代入公式B=x*y:
      B1=x1*y1=1*4=4;(不满足推论1,舍去)
      B2=x2*y2=2*3=6;
      得到唯一解x=2,y=3即甲知道答案。
      与题设条件:"甲不知道答案"相矛盾 ,
      故假设不成立,A=x+y≠5
      假设 A=x+y=6
      则有双解。
      x1=1,y1=5;
      x2=2,y2=4
      代入公式B=x*y:
      B1=x1*y1=1*5=5;(不满足推论1,舍去)
      B2=x2*y2=2*4=8;
      得到唯一解x=2,y=4
      即甲知道答案
      与题设条件:"甲不知道答案"相矛盾
      故假设不成立,A=x+y≠6
      当A>=7时
      ∵ x,y的解至少存在两种满足推论1的解
      B1=x1*y1=2*(A-2)
      B2=x2*y2=3*(A-3)
      ∴ 符合条件
      结论(推论2):A >= 7
      3)由题设条件:乙说"那我知道了"
      =>乙通过已知条件B=x*y及推论(1)(2)可以得出唯一解
      即:
      A=x+y, A >= 7
      B=x*y, B ∈(6,8,10,12,14,15,16,18,20...)
      1 <= x < y <= 30
      x,y存在唯一解
      当 B=6 时:有两组解
      x1=1,y1=6
      x2=2,y2=3 (∵ x2+y2=2+3=5 < 7∴不合题意,舍去)
      得到唯一解 x=1,y=6
      当 B=8 时:有两组解
      x1=1,y1=8
      x2=2,y2=4 (∵ x2+y2=2+4=6 < 7∴不合题意,舍去)
      得到唯一解 x=1,y=8
      当 B>8 时:容易证明均为多重解
      结论:
      当B=6时有唯一解 x=1,y=6当B=8时有唯一解 x=1,y=8
      4)由题设条件:甲说"那我也知道了"
      => 甲通过已知条件A=x+y及推论(3)可以得出唯一解
      综上所述,原题所求有两组解:
      x1=1,y1=6
      x2=1,y2=8
      当x<=y时,有(1 <= x <= y <= 30);
      同理可得唯一解 x=1,y=4

      31、
      解:1000
      Lg(1000!)=sum(Lg(n))
      n=1
      用3 段折线代替曲线可以得到
      10(0+1)/2+90(1+2)/2+900(2+3)/2=2390
      作为近似结果,好象1500~3000 都算对

      32、F(n)=1 n>8 n<12
      F(n)=2 n<2
      F(n)=3 n=6
      F(n)=4 n=other
      使用+ - * /和sign(n)函数组合出F(n)函数
      sign(n)=0 n=0
      sign(n)=-1 n<0
      :sign(n)=1 n>0
      解:只要注意[sign(n-m)*sign(m-n)+1]在n=m 处取1 其他点取0 就可以了

      34、米字形的画就行了

      59、答案是和家人告别.

  • 转载:微软智力题--逻辑推理

    2007-12-28 15:07:50

         1、你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段
    ,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你
    的工人付费?
     
      2、请把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份。

      3、小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒,
    小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每
    次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃后30秒就会
    熄灭。问:小明一家如何过桥?

      4、一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少
    有一顶。每个人都能看到其他人帽子的颜色,却看不到自己的。主持人先让大家看
    看别人头上戴的是什么帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自
    己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦
    雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑
    帽子?

      5、请估算一下CN TOWER电视塔的质量。

      6、一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯
    从一楼到十楼,每层楼电梯门都会打开一次,只能拿一次钻石,问怎样才能拿到最
    大的一颗?

      7、U2合唱团在17分钟内得赶到演唱会场,途中必需跨过一座桥,四个人从桥
    的同一端出发,你得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。一
    次同时最多可以有两人一起过桥,而过桥的时候必须持有手电筒,所以就得有人把
    手电筒带来带去,来回桥两端。手电筒是不能用丢的方式来传递的。四个人的步行
    速度各不同,若两人同行则以较慢者的速度为准。Bono需花1分钟过桥,Edge需花
    2分钟过桥,Adam需花5分钟过桥,Larry需花10分钟过桥。他们要如何在17分钟内
    过桥呢?

      8、烧一根不均匀的绳要用一个小时,如何用它来判断半个小时 ?

      9、为什么下水道的盖子是圆的?

      10、美国有多少辆加油站(汽车)?

      11、有7克、2克砝码各一个,天平一只,如何只用这些物品三次将140克的盐
    分成50、90克各一份?

      12、有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约,另一辆火车以第
    小时20公里的速度从纽约开往洛杉矶。如果有一只鸟,以外30公里每小时的速度和
    两辆火车现时启动,从洛杉矶出发,碰到另辆车后返回,依次在两辆火车来回的飞
    行,直道两面辆火车相遇,请问,这只小鸟飞行了多长距离?

      13、你有两个罐子,50个红色弹球,50个蓝色弹球,随机选出一个罐子,随机
    选取出一个弹球放入罐子,怎么给红色弹球最大的选中机会?在你的计划中,得到
    红球的准确几率是多少?

      14、想象你在镜子前,请问,为什么镜子中的影像可以颠倒左右,却不能颠倒
    上下?

      15、你有四人装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被
    污染的重量+1.只称量一次,如何判断哪个罐子的药被污染了?

      16、如果你有无穷多的水,一个3夸脱的和一个5夸脱的提桶,你如何准确称出
    4夸脱的水?

      17、你有一桶果冻,其中有黄色,绿色,红色三种,,闭上眼睛选出同样颜色
    的两个,抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果
    冻?

      18、将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?

      19、如果要你能去掉50个州的任何一个,那你去掉哪一个,为什么?
     
      20、对一批编号为1~100 全部开关朝上开的灯进行以下操作
    凡是1 的倍数反方向拨一次开关2 的倍数反方向又拨一次开关3 的倍数反方向
    又拨一次开关。
      问最后为关熄状态的灯的编号。
     
      21、假设一张圆盘像唱机上的唱盘那样转动。这张盘一半是黑色,一半是白色
    。假设你有数量不限的一些颜色传感器。要想确定圆盘转动的方向,你需要在它周
    围摆多少个颜色传感器?它们应该被摆放在什么位置?
     
      22、假设时钟到了12点。注意时针和分针重叠在一起。在一天之中,时针和分
    针共重叠多少次?你知道它们重叠时的具体时间吗?

      23、中间只隔一个数字的两个奇数被称为奇数对,比如17和19。证明奇数对之
    间的数字总能被6整除(假设这两个奇数都大于6)。现在证明没有由三个奇数组成
    的奇数对。

      24、一个屋子有一个门(门是关闭的)和3盏电灯。屋外有3个开关,分别与这
    3盏灯相连。你可以随意操纵这些开关,可一旦你将门打开,就不能变换开关了。
    确定每个开关具体管哪盏灯。

      25、假设你有8个球,其中一个略微重一些,但是找出这个球的惟一方法是将
    两个球放在天平上对比。最少要称多少次才能找出这个较重的球?

      26、下面玩一个拆字游戏,所有字母的顺序都被打乱。你要判断这个字是什么
    。假设这个被拆开的字由5个字母组成:
        1.共有多少种可能的组合方式?
        2.如果我们知道是哪5个字母,那会怎么样?
        3.找出一种解决这个问题的方法。

      27、有4个女人要过一座桥。她们都站在桥的某一边,要让她们在17分钟内全
    部通过这座桥。这时是晚上。她们只有一个手电筒。最多只能让两个人同时过桥。
    不管是谁过桥,不管是一个人还是两个人,必须要带着手电筒。手电筒必须要传来
    传去,不能扔过去。每个女人过桥的速度不同,两个人的速度必须以较慢的那个人
    的速度过桥。
      第一个女人:过桥需要1分钟;
      第二个女人:过桥需要2分钟;
      第三个女人:过桥需要5分钟;
      第四个女人:过桥需要10分钟。
      比如,如果第一个女人与第4个女人首先过桥,等她们过去时,已经过去了10
    分钟。如果让第4个女人将手电筒送回去,那么等她到达桥的另一端时,总共用去
    了20分钟,行动也就失败了。怎样让这4个女人在17分钟内过桥?还有别的什么方
    法?

      28、如果你有两个桶,一个装的是红色的颜料,另一个装的是蓝色的颜料。你
    从蓝色颜料桶里舀一杯,倒入红色颜料桶,再从红色颜料桶里舀一杯倒入蓝颜料桶
    。两个桶中红蓝颜料的比例哪个更高?通过算术的方式来证明这一点。


  • bugzilla 的安装与开发

    2007-12-19 18:57:02

     

    2007年12月19日

    系统坏了,为了方便在本机器进行bugzilla的开发,就在自己机器上搭一个bugzilla;

    我的系统是XP,唉,惭愧,搭了很多次总是记不得呵呵;这次就写个简单的文档供自己参考吧,也希望能够帮助到别人

    bugzilla的安装步骤:

    1.安装IIS,呵呵,从控制面板-添加删除程序-添加组件

    2.安装mysql 和mysqlcc
    mysqlcc 是一个操作mysql的控制台,就是一个支持mysql的界面操作软件,通过次软件可以修改数据库,可以修改用户名和密码

    3通过MYsql建立新的数据库bugs,添加具有bugs数据库权限的用户名和密码,在此设计为bugzilla

    4。安装activeperl-此软件是perl的超强版本呵呵

    5.安装perl模块

    可以把别人安装成功的perl和模块直接copy也可以使用,这样就不需要安装了呵呵,以前我们头就是这样给我做的

    6.将bugzill文件copy到要安装的位置

    7。在IIS配置里添加perl解析器和CGI脚本解析器

    Perl脚本解析器:(*.pl)
    可执行文件: D:\Perl\bin\perl.exe "%s" %s
    扩展名: .pl
    仅限于: GET,HEAD,POST
    CGI
    脚本解析器:(*.cgi)
    可执行文件: D:\Perl\bin\perl.exe "%s" %s
    扩展名: .cgi
    仅限于: GET,HEAD,POST

    8。在bugzilla下打开localconfig文件在其中配置mysql中为bugzilla建立的数据库名和用户名以及密码

    由于我机器已经是成熟版本,可以直接拷贝,所以省去了很多要配置的地方,另外

    1.bugzilla的数据库是通过checksetup编译得到,而我懒得编译就直接把以前的数据库直接copy到MYSQL的data文件夹下就可以用了,且保持了一些数据

    2.bugzilla的初始用户名和密码:这个也需要checksetup编译得到;在编辑过程中会提示用户输入管理员用户名和真实姓名以及密码

    bugzilla是开源软件,当bugzilla的一些功能不能为我们所用时,我们也可以自己开发。我已经在bugzilla上添加了一项测试申请的功能;bugzilla的bug分析功能觉得做的不是很好,也可能是因为版本太低的原因,我正在打算改进这些功能。如果某位朋友有此经验还请大家一起交流


     

     

  • html网页添加字符限制

    2007-12-19 11:59:55

     

    2007年12月19日

          html 网页-如何在文本框添加字符限制,则有一个参数maxlength可以设置

          readonly 是将文本框设置为只读

          maxlength 是限制文本框输入字符的个数,但是此参数对于多行的文本框则不起作用,需要通过脚本来控制!有空的话我会把脚本做好贴上来

          SIZE 则是表示文本框的大小

     

  • bug一个一个往外崩的原因

    2007-12-14 17:29:15

     

    20071014/

        该项目是在原来的项目基础上添加一个RMS功能,而RMS功能以前也测试通过;以为测试起来很简单!

        拖拖拉拉的过了几天才开始搭平台,一方面是因为测试过,一方面这个RMS平台牵涉的硬件比较多,比较难搭!就一直拖着。首先要检讨一下我这方面的懒惰,在测试中我觉得这一点是不可原谅的

        基于上述理由吧,大脑里就大概知道RMS都与原来有哪些借口,有哪些测试点;但是并没有用文档记录下来!

        使得RMS在调试接口中,bug一个一个的往外崩,还好开发人员都比较开明,没有抱怨

        通过这个事情让我觉得之前靠测试经验测试的缺陷,更加明白在测试之前需要形成一个checklist,这个是最基本的了,哪怕只是重点功能的checklist!这样每一次都把checklist的功能走一遍,就能提交测试效率!

        其实不管是一个怎样的项目,不管多么稳定,也不管这个项目有多急,只要有测试需求,都需要强迫自己写一份checklist!

     

     

  • 一个遗漏的bug引起的情绪变化

    2007-09-27 17:23:39

     

    20070927-

    测试的项目很多,但是项目的管理和测试之间的沟通一直处于混乱中,对于双能这个型号的软件我觉得我尽了很大的努力来测试,加上还有一个同事的验证;开发工程师的支持和领导的支持使得发现的bug都解决了--以致于我都认为这个软件是一个比较完美的软件

    而由于现场的需求问题需要对软件进行升级,在升级测试过程中,发现了一个比较严重的bug;这使我感到很

    郁闷。我 有点无法释怀。需求不明确和功能说明不完整是现在项目的现状,我如何才能保证软件

    测试的完备性?是我对软件的了解不够还是对业务知识的不够熟悉?

    如何对新的软件功能、软件的架构有个快速的认识,估计这个里头也有很大的学问吧?

    记得这个项目刚上的时候由于该软件的架构跟其他软件有点不同,他们用很多服务的方式来实现一些重要的功能

    而对这些知识不是很了解的我就接受了这些东西,也没有想到把他们作为测试的对象。我想这个是最大的原因

     

     

     

     


     

     

  • perl-运行

    2007-09-27 15:26:02

     

    20070927 多云

    测试时需要一些数据,就是需要很多txt文件,这些txt的文件名要不同;txt里的文本也不相同;winrunner

    在此估计就要休息休息了;我就用perl写了一个脚本;忽然想起来测试平台没有perl解释器,这又怎么能运行呢;难道我还为这么点小破功能我还要去用VC来编嘛,其实是我好久没有碰vc了,心理没有底;加上测试数

    据又比较着急,真是急死了。。。

    还好后来找到解决的办法呵呵:

    1)就是将本机的perl的那些库,啥的文件拷到平台上运行;这个方法比较简单。。

    2)找一个打包工具将其打包成exe文件就好了;我在网上下了好几个perl2exe.exe,都不能用(郁闷,费了

    我很长时间,还好一个开发工程师从水木上给了我一个),用PERL2EXE 打的exe很好看。。。

    看来 用脚本语言做 一些自动化脚本还是很不错的呵呵

    十一到了,除了搬家以外呵呵,我计划要不翻译一篇英文,要不用VC编个类似的程序吧,练练手,好长时间不用了,真是快忘光了。。。

     

     

  • winrunner-软件切换

    2007-09-27 14:39:41

    2007-09-27  多云

     昨天搞了个winrunner自动运行脚本,昨天运行很正常,今天则运行不了;单步执行没有问题;就是循环出问题

    情况是这样:启动一个待检测得软件,还有几个模拟程序,运行时,需要不停的切换各个软件;但是循环的时候死活激活不了一个模拟程序,所以winrunner总是提示某某按钮没有显示。。

    思考了好久也没有找到原因,加了一个wait,可以看到鼠标从任务栏中点了那个模拟程序,就是不显示

    重新录了一遍,结果好了,后来对比了一下,原来是没有打开某个文件夹,使其显示在任务栏上

    这个也成为winrunner运行失败的理由。。。汗

  • WinRunner的问题整理

    2007-09-19 12:39:54

    导读:
    多数问题是在MSN上,论坛上其他测试人员提出的问题,我回答后发现很多人问到同样的问题,这里整理了一下希望对大家有帮助!
    1.WinRunner如何把Real类型转化为指数表示方法
    答:
    指数类型转化为real类型,可以通过下边的代码
    var = 5.3569E+10;
    pause(var);
    #显示 53569000000

    Real类型转化为指数表示方式
    var = sprintf("%e",53568544768);
    pause(var);
    #displays 5.356854e+010
    2.什么是同步点,怎样用它?他和Wait有什么不同?
    答: 从功能上他们都可以实现脚本和被测试程序同步的问题,不过同步点有window/object,bitmap方式,她等待的是某个等待的对象 窗体,bitmap的出现,一定程度她也可以作为验证点
    wait这点上无法实现相同的效果。有的脚本中即使你加入wait,但是你无法知道下边的对象窗体图片是否就是成需要运行的正确 出现的
    3.tl_step和tl_step_once的区别
    答:tl_step和tl_step_once都是把运行状态信息放到运行结果中去,区别在如果连接TD,TL_STEP把每步状态信息都插入到测试结果中去,tl_step_once如果连接td,只是插入一次运行步骤的名字

    代码例子:
    --------------------------------------------------------------------------------
    for (i=1;i<4;i++){
    tl_step("Step", PASS, "reporting step, #" &i);
    tl_step_once("Step Once", PASS, "reporting step once, #" &i);
    }
    --------------------------------------------------------------------------------
    WR中的报告:
    Step: Step, Status: PASS, Descrīption: reporting step, #1
    Step: Step Once, Status: PASS, Descrīption: reporting step once, #1
    Step: Step, Status: PASS, Descrīption: reporting step, #2
    Step: Step Once, Status: PASS, Descrīption: reporting step once, #2
    Step: Step, Status: PASS, Descrīption: reporting step, #3
    Step: Step Once, Status: PASS, Descrīption: reporting step once, #3
    TD中的报告:
    Step: Step, Status: PASS, Descrīption: reporting step, #1
    Step: Step Once, Status: PASS, Descrīption: reporting step once, #1
    Step: Step, Status: PASS, Descrīption: reporting step, #2
    Step: Step, Status: PASS, Descrīption: reporting step, #3
    4.WinRunner和TD集成后脚本运行很慢是什么原因呢?
    答:安装TD和WinRunner服务器上需要独占100GByte,TD需要10OGHZ时钟速度16GB RAM的处理平台
    5.WR是否支持vs.net
    根据Mercury的介绍,他们的对.Net的支持转移到QuickTest Pro上了,如果你需要自动化测试.Net程序(不是web的),建议用
    QuickTestPro。也就是说wr不支持vs.net开发的程序
    6.我对比两个文件file1.txt和file2.txt,文本内容如下
    file1.txt 内容如下:
    10523 8315 6804 8387 3643 4550 3457 3649
    file2.txt内容如下:
    190176 155737 117417 145194 65314 81431 64522 63324

    代码如下:file_compare("C:\\file1.txt","C:\\file2.txt","save");
    为什么每次对比这两个文件结果都是通过的。
    答:这个问题的原因在于它在前面的脚本中对文件进行了操作,没有关闭,所以这段代码运行总是通过
    7.如何在winRunner中用Windows的API函数
    在使用该API函数前需要先加载该函数然后声明API函数,代码如下
    load_dll("user32.dll");
    extern int PostMessageA(in long, in long, in long, in long);
    win_get_info("{class:window, MSW_class:AfxMDIFrame42, label:\"!WinRunner.*\"}", "handle", hWnd);
    PostMessageA(hWnd, 16, 0, 0);
    请在尝试以上代码的时候,保存脚本,呵呵!
    8.怎样处理跟踪键盘操作?
    答:下边的代码希望对你有帮助
    function GetKeyStatus(in vKey){
    auto pid, thread_id, win_desc, hWnd, KeyState, win_log_name, win_full_desc, focused_obj_desc;
    win_desc = "{active:1}";
    if (win_exists(win_desc)==0) {
    win_get_desc(win_desc, "", "", "", win_full_desc);
    GUI_map_get_logical_name( win_full_desc, "", win_log_name, "bla");
    win_get_info(win_desc, "handle", hWnd);
    pid = GetWindowThreadProcessId(hWnd, NULL);
    thread_id=GetCurrentThreadId();
    AttachThreadInput(pid,thread_id,TRUE);
    KeyState=GetKeyState (vKey);
    AttachThreadInput(pid,thread_id,FALSE);
    if (KeyState <0)
    return(0); # Key is pressed
    else
    return (1); # Key is not pressed
    }
    else
    return (-1); # No active window found, so cannot determine key state
    }
    9.WinRunner如何处理excel?
    答:其实解决方法有很多,这里列举两种。
    一.利用其他语言特性开发出dll提供给winrunner使用(vb,vc,delphi等)
    二.在其他环境中实现,用winrunner调用
    第一种我在这里不举例子了,第二种我利用vbs往excel中赋值给大家提供一种思路,代码如下:
    'vbs中的代码
    Dim ExcelApp
    Dim itemX
    if Wscrīpt.Arguments.Count <2 then
    r = msgbox("Requires 2 arguments", 48, "change_sheet")
    else
    dim fso
    set fso = createobject("scrīpting.filesystemobject")
    xlBook = fso.GetAbsolutePathName(Wscrīpt.Arguments(0))
    xlSheet = Wscrīpt.Arguments(1)
    set fso = Nothing
    Set ExcelApp = CreateObject("Excel.Application")
    ExcelApp.Workbooks.Open(xlBook)
    Set itemX = ExcelApp.ActiveWorkbook.Worksheets.Item(xlSheet)
    itemX.Activate

    excelApp.ActiveWorkbook.Worksheets(xlSheet).Range("A1").Select
    excelapp.ActiveCell.FormulaR1C1 = "1"
    excelApp.ActiveWorkbook.Worksheets(xlSheet).Range("B1").Select
    excelapp.ActiveCell.FormulaR1C1 = "2"
    excelApp.ActiveWorkbook.Worksheets(xlSheet).Range("c1").Select
    excelapp.ActiveCell.FormulaR1C1 = "3"
    ExcelApp.ActiveWorkbook.Save()
    ExcelApp.ActiveWorkbook.Close(1)
    ExcelApp.Quit()

    Set itemX = Nothing
    Set ExcelApp = Nothing
    end if
    winrunner中的调用代码:
    dos_system("wscrīpt \"C:\\excel_sheet.vbs\" \"C:\\SheetBook.xls\" \"Sheet2\"");

    10.在WinRunner中如何实现得到transaction时间?
    答:一般情况下transaction的时间只能在最后结果中得到,如何在脚本得到这个时间呢,下边的代码可以
    帮助你:
    public transactions[];
    function start_my_transaction(in transaction_name)
    {
    transactions[transaction_name] = get_time();
    tl_step("Start transaction: \"" &transaction_name &"\"",PASS,"Timestamp: " &
    transactions[transaction_name]);
    return (transactions[transaction_name]);
    }
    function end_my_transaction(in transaction_name)
    {
    auto end_time = get_time();
    auto rc;
    if(transactions[transaction_name] == "")
    {
    tl_step("End transaction: \"" &transaction_name &"\"",FAIL,"Transaction was
    never started.");
    rc = -1;
    }
    else
    tl_step("End transaction: \"" &transaction_name &"\"",PASS,"Elapsed Time: "
    &(rc = end_time - transactions[transaction_name]));
    delete transactions[transaction_name];
    return rc;
    }
    start_my_transaction("my_transaction");
    wait(2);
    rc = end_my_transaction("my_transaction");
    pause("Elapsed time = " &rc);


    本文转自
    http://www.iceshi.com/html/96/n-96.html

  • winrunner经验介绍-转贴好文

    2007-09-19 10:43:15

    转贴好文:WinRunner使用经验介绍

    文章出处:博客  作者:KiKi 

       WinRunner在项目中的作用

      可以用WinRunner为所测试应用程序的GUI,功能和回归测试创建自动化脚本。

      WinRunner的测试过程

      主要包括如下6个阶段:

      1). 创建GUI Map文件:WinRunner可以通过它来识别被测试应用程序中的GUI对象。
      2). 创建测试脚本:通过录制,编程,或两者的组合创建。在录制测试脚本时,在你想检查被测试应用程序响应的地方插入验证点。
      3). 调试脚本:用调试(Debug)的模式运行测试脚本以确保它们可以平稳地运行。还可以使用WinRunner提供的Step, Step Into, Step out功能来调试脚本。
      4). 运行测试:用验证(Verify)的模式运行测试脚本来测试你的应用程序。当WinRunner在运行中碰到验证点时,它会将被测应用程序中的当前数据和以前捕捉的期望数据进行比较,如果发现了任何不匹配,WinRunner将会把目前的情况捕捉下来作为真实的结果。
      5). 检查结果:确定测试脚本的成功或是失败。在每次测试脚本运行结束之后,WinRunner会将结果显示在报告中。它描述了所有在运行中碰到的重要的事件,例如验证点,错误信息,系统信息或是用户信息。如果发现在运行中有任何不匹配的验证点,你可以在测试结果窗口中查看期望的和实际的结果。
      6). 提交缺陷:如果一个测试脚本是由于所测试应用程序中的缺陷而导致失败的,你可以直接从测试结果窗口中提取缺陷的相关信息。

      WinRunner 的GUI Map文件

      WinRunner利用GUI Map文件来识别应用程序中的对象。它将学习到的窗口或对象信息储存在GUI Map文件中。当WinRunner运行测试脚本时,它利用GUI Map来定位对象。它从GUI Map文件中读取对象的描述并且在被测应用程序中寻找具有相同属性的对象。

      在GUI Map文件中的每一个对象都有一个逻辑名称(logical name)和一个物理描述(physical descrīption)。对象的逻辑名称是由其类决定的。在大多数情况下,我们可以将逻辑名称看成是显示在对象上的标签。你可以修改已分配的逻辑名称当它不是十分具有描述性或太长的时候。当对象的属性发生改变时,你必须要修改其物理描述。

      GUI Map文件的扩展名是".gui"。

      GUI Map文件分为两种类型:  

      ·全局GUI Map文件:一个为整个应用程序使用的GUI Map文件  
      ·每个测试脚本的GUI Map文件:在每个测试脚本创建之后,WinRunner会自动为其创建一个GUI Map文件。  

      我们可以通过工具菜单中GUI Map Editor来查看当前载入的GUI Map文件及其内容。GUI Map Editor 显示多个已创建的GUI Map文件和认识到的带有逻辑名和物理描述的窗口和对象。

      在录制脚本时,WinRunner会自已学习对象和窗口,并将它们储存在临时的GUI Map文件中。我们可以在General选项中指定是否需要每次都载入这种临时GUI Map。

      当我们载入一个GUI Map文件时,关于窗口和对象的信息连同其逻辑名称和物理描述都载入到内存中。因此当WinRunner在一个特定的窗口上运行脚本时,它可以用这些在内存中的信息识别对象。

      WinRunner的脚本语言


      WinRunner的脚本语言是Mercury Interactive’s Test scrīpt Language (TSL),这是一种类C的脚本语言。你可以通过增加另外的TSL函数和编程元素(例如Windows API)或WinRunner的虚拟编程工具(函数生成器(Function Generator))来增强你录制的脚本。

      WinRunner的录制模式

      在WinRunner中,有两种不同的录制模式:  

       ·环境判断录制(Context Sensitive recording):通过识别GUI对象录制你在被测应用程序中执行的操作。  
       ·模拟录制(Analog recording):录制键盘的输入,鼠标的点击,和鼠标指针在屏幕上精确的x,y轴

      WinRunner的运行模式

      在WinRunner中,有三种不同的运行模式:

      ·验证Verify:使用这种方式来检查你的应用程序
      ·调试Debug:使用这种方式来帮助你识别测试脚本中的bug 
      ·更新Update:使用这种方式来更新测试脚本的期望结果或创建一个新的期望结果文件夹

      WinRunner的Add-In

      载入Add-Ins实际上是将在Add-In中的特殊的函数装载到内存中。当创建测试脚本时,只有这些选中的Add-In中的函数会列在函数生成器中,在运行脚本时,只有那些在载入的Add-In中的函数可以被执行,否则WinRunner将会给出一个不能识别函数的错误信息。

      WinRunner的验证点(Checkpoint)


      验证点可以把被测应用程序的当前行为和早前版本的行为进行比较。

      在WinRunner中有4种验证点:

      · GUI checkpoints:验证GUI对象的信息。例如,你可以检查一个按钮是否可用或查看在一个列表中哪一个选项被选中。
      · Bitmap checkpoints:给窗口或所测试应用程序的部分做快照,并把它和早先版本中捕捉的图像做比较。
      · Text checkpoints :在GUI对象或位图中读取文字,使你可以验证它们的内容。
      · Database checkpoints:基于你创建在数据库的查询,检查一个结果集的内容和列、行的数量

      Checklist文件包含了我们正在验证的对象的属性和相关信息 。gui*.chk文件包含了期望的结果,并储存在exp文件夹中。

      同步点(synchronization points)

      同步点使你可以解决预期的在测试脚本和你应用程序之间的时间问题。例如,如果你创建一个打开数据库应用程序的测试脚本,你可以增加一个同步点以让测试脚本等待直到数据库中的记录载入到屏幕上。

      对于模拟测试(Analog testing),你也可以使用一个同步点来确保WinRunner在一个指定的位置重新放置窗口。当你运行一个测试脚本时,鼠标指针沿着准确的坐标行进。重新放置窗口使鼠标指针接触到窗口中正确的元素。

      编译模块(compile module)

      编译模块实际上也是一种脚本,只不过它包含了一个可以被其它的测试脚本频繁地调用,用户自定义函数集的库文件。当你载入一个编译模块时,它的函数将自动的被编译并保存在内存中。其它的测试脚本可以直接调用它们。

      编译模块可以改进脚本的组织和性能。由于你在使用它们之前已经调试过编译模块,因此你的测试脚本只需要少量的错误检查。另外,调用一个已经编译的函数明显地比解释测试脚本中的函数快得多。

      当编译模块用来储存可重用的函数时,测试脚本包含了在WinRunner中的可执行文件。编译模块是不可执行的。

      在保存为编译模块时,WinRunner会自动执行一次预编译。

      默认情况下,包含TSL代码的模块的属性是“main”。主模块可以在其他的模块中被调用执行。除了当WinRunner识别到一个“call”语句时,主模块会被动态地被编译为机器代码。例如:

    call cso_init();

    call( "C:\\MyAppFolder\\" & "app_init" );


      编译模块被载入到内存中以便其他模块引用。
    reload ("C:\\MyAppFolder\\" & "flt_lib") 或load ("C:\\MyAppFolder\\" & "flt_lib");

      数据驱动测试(data driven tests)

      当你测试你的应用程序时,你或许想检查它如何执行有着大量数据集的相同操作。你可以用一个运行10次的循环来创建一个数据驱动测试:每次循环运行时,它由不同的数据集驱动。为了使WinRunner 能够使用数据来驱动测试,你必须将数据连接到所要驱动的测试脚本。这就叫参数化(parameterizing)你的测试。数据存储在一个数据表格(data table)中。你可以手工执行这些操作,或使用DataDriver Wizard来参数化你的测试脚本并储存数据在数据表格中。

      数据驱动测试的步骤如下:

      · 创建一测试脚本
      · 转换为数据驱动的测试脚本并准备一个数据库
      · 运行测试脚本
      · 分析测试结果

      无法识别GUI对象的原因

      WinRunner会由于以下多种原因导致不能识别GUI对象。

      ·不是标准的Windows对象
      ·没有安装所需的Add-In
      ·如果所使用的浏览器和WinRunner的版本不兼容,GUI Map编辑器将不能认识在浏览器窗口中显示的任何对象

      启动文件(start up file)


      在General Options ->Environment-> Startup文本框中,选择或输入你希望作为启动文件的 测试脚本

      输入测试脚本的相关信息


      在创建一个测试脚本之前,你可以在Test Properties-> General和 Descrīption中输入和脚本相关的信息,如被测功能的类型,测试脚本的详细描述,引用的相关功能说明书文档

      如何处理定制对象(custom objects)

      定制对象是不属于WinRunner所使用的标准类之一的任何GUI 对象。WinRunner学习此类的对象为generic "object"类。WinRunner利用obj_mouse_语句来记录在定制对象的操作。

      如果定制对象和一个标准的对象很相似,你可以映射它为标准类别之一。你也可以在环境判断测试(Context Sensitive testing)时配置WinRunner用于识别定制对象的属性。

      什么是虚拟对象(virtual object)并且如何使用它们?

      应用程序可能会含有一些外观和行为和GUI对象相似的位图。WinRunner利用win_mouse_click 语句来记录操作。通过定义一个位图对象为虚拟对象,当你录制并运行测试时,你可以教WinRunner将它象一个GUI对象一样对待。
  • C,C++,C#,.NET技术

    2007-09-18 10:40:09

    2007/09/18  小雨转中雨

    C是一种面向过程的语言;

    C++是一种面向对象的语言;但是C++的面向对象不是强制性的,能够兼容C;C和C++都是一种高效率语言;但是不能解决跨平台的一致性问题,也没有标准的编译器

    SUN公司退出的Java语言;
    Java 语言是一种完全面向对象语言;对于关注跨平台的执行能力的程序员来说,Java是一种很好的选择;源于Java的虚拟机经过了一段时间的发展,在解决跨平台的问题上也没有损害性能。

    .net技术
    .net是一种适用于网络应用的技术;主要是解决了跨平台,多语言的问题
    Framework是.net开发平台的基础类库;Visual Studio.net是其主要的开发工具
    .net 主要支持的语言有C#.NET,C++.NET,VB.NET
    .net可以把各种语言编译成.dll文件供其他语言调用

    .net开发平台由一组用于建立Web服务应用程序和Windows桌面应用程序的软件组件构成
    包括.NET框架(Framework).NET开发者工具和ASP.NET

    C#介于Java和C++之间,是一种类似于Java的完全面向于对象的语言;C#的运行环境需要.net,具有跨平台,跨语言的特征

    asp.net是.net中的一个分支,是用来做web的

    开发ASP.NET可以用多种语言比如VB、C#、J#==,微软官方推荐用C#

     

  • 给alansure关于基于.NET内存检测的答复呵呵

    2007-09-17 11:24:43

    2007/09/17  有雨

    星期一,新一周的开始;呵呵,呼吸一下新鲜空气

    alansure:您好!

    目前偶主要是基于C/S架构的软件进行测试;偶尔会参与基于WEB形式的网页进行测试;但是基于WEB形式的性能测试比较少,这个偶会继续学习。。

    如果是WEB那种形式的话,可以借助loadrunner工具来进行网页性能监控,主要是模拟用户进行网页的并发性登陆和其他操作;loadrunner本身就有内存,CPU等监控工具;也可以借助windows 自带的那个monitor 进行内存的监控;当然网上也有一些免费的内存监控工具;这个是当前流行的基于网页的性能测试方法
    你也可以通过winrunner重复很多次做同一个操作;观察内存的变化。。
  • 十二星座的心机排名-哈哈

    2007-09-12 14:59:48

     

    【转载】十二星座的心机排名

    双鱼座

    心计排名:第十二

    鱼儿生性柔弱,很喜欢奉献,也不会随意伤人,没什么主见,和“心计”两个字根本沾不上边。温柔如他们,大多数情况下还是那种自己被骗还会帮人数钞票的“白痴天使”一类,或者一旦遇到问题自己连想都不想就急于去找人帮忙,若找不到人就哭,一点都不坚强,又不懂得如何去分析人心。所以啦,鱼儿还是多些朋友罩着比较好哦!

    白羊座

    心计排名:第十一

    白羊座是十二星座中的第一个星座,代表着初生的原始灵魂和感觉。羊儿充满了活力、热情和强烈的好奇心,具有坚强的意志力。他们的感情直白而浓烈,自然是没什么心计的,有的只是一颗赤诚的心。更为糟糕的是,他们遇事都比较冲动,什么事情都不会用脑子去想一想,只知道用暴力去解决,坏脾气和鲁莽的行为总是让羊儿变得颇为狼
    狈,被人笑作“有勇无谋”。

    金牛座

    心计排名:第十

    牛牛可是超级大好人哦,他们忠诚、真心、善解人意、实际、不浮夸、率真、负责,凡事讲求原则及合理性。哈哈,反正是那种绝对为人着想不会搞一己之私的人啦,所以哦,牛牛是不会对人耍心计的。他们喜欢小心谨慎地生活、勤奋踏实地工作,事事都是如此,而且他们在十二星座中算是工作最勤勉的。要知道,爱钻“牛角尖”的他们平时
    连小聪明都不屑使用呢,更何况是耍手腕了!他们宁愿自己生闷气,也不轻易说出来。

    狮子座

    心计排名:第九

    狮子座的人是四肢发达、头脑简单的最佳例子。他们的确属于领导人物,有着“宰相肚里好撑船”的大度,也有些谋略,不过别人就未必像他们一样君子了。可惜的是好大喜功的狮子眼里看不到沙子,为了表面的虚荣,只顾一味去追寻自己理想中的利益,不管暗地里别人对他们的算计,也不懂得能屈能伸的变通,因此常常被人暗地里笑话蠢
    啦!

    巨蟹座

    心计排名:第八

    巨蟹座的人充满温情、喜欢顺从,他们浑身散发着慈爱的光辉,怀旧而恋家。他们对勾心斗角没什么兴趣,照顾好家人和朋友是蟹蟹最大的心愿哦。如果非要说蟹蟹会动什么歪脑筋的话,只能说他们会“讨好人”。蟹蟹胆子很小,很怕得罪人,因此他们懂得在不同的人面前说不同的话,采用不同的观点,好做到不得罪人。若有人要伤害他们的
    家人,那他们可顾不了那么多了,于是就开始“委曲求全”,真的是用心良苦呢!

    射手座

    心计排名:第七

    射手总是保持着童真,他们始终在追求一个能完全属于自己的生活环境,但可能是因他们有着豁达的人生观,所以有时常会乐观得太过“一厢情愿”了。他们也没点正经,成天一副吊儿郎当的样子,天真无邪到底。不过千万记得,射手可是聪明的家伙,有时候还是会有小小的心计哦!乘大家对表面浑噩的他们没有防备、放掉戒心,然后背后
    偷偷地“捅”一刀!哈哈,射手八成会乐翻。不过放心好啦,射手的心计多半只是恶作剧而已。

    处女座

    心计排名:第六

    处女有丰富的知识,做事一丝不苟,他们追求完美,最担心的事情就是自己在别人心目中的形象不够完美。因此他们会不断地掩饰自己,行事也非常有规划性,且非常谨慎哦,有些心计才是生存的根本呢!但他们的心计到底有多深?放心,不会很深啦!他们就算再有城府、再聪明你也不必担心处女会出来陷害人,要知道处女的生活有点全封
    闭式,他们坚持“人不犯我我不犯人”的原则。

    天秤座

    心计排名:第五

    秤子天生具有理想主义和现实主义精神,他们追求公正和公平,凡事都会用心中的“一杆秤”衡量一下,以免破坏追求的公平。所以啦,说秤子有心计不为过呢,这是他们很具聪明才智的表现。秤子的心计不仅用在处事的和谐上哦,还有很大一部分用在个人形象上呢!谁都知道秤子气质脱俗、举止优雅,如果没有“掩饰”的诀窍也绝对不行
    哦。想来,秤子在社交礼仪上也是花了很重的心思呢。

    天蝎座

    心计排名:第四

    蝎子总是给人冷冷的、不寒而栗的感觉。他们外表看起来冷若冰霜,其实暗地里会观察每一个人,心计颇深呢。直觉敏锐的他们看人是百分之百准确,即使他们知道事情的真相也绝对不会轻易暴露出来,因为跟他们自己没关系的事他们很少管,但他们知道的却多,所以等到逼不得已的时候,蝎子才会悄悄地把真相说出。这就是蝎子的
    厉害之处,所以哦,千万不要得罪蝎子,他们可是“有仇不报非君子”呢!

    双子座

    心计排名:第三

    双子相当具有灵性,心智活跃敏锐,从他们的言语中就可以看出他们很高深莫测。毫无疑问,双子的心计绝对不一般呢!他们通常用一些看起来是开玩笑的语言来讽刺人,偏偏别人还不好翻脸回骂,这种讽刺人的境界真是很高呢!什么什么,你要和他们理论,劝你还是安静地走开吧,狡猾的双子脑袋里所想的理由恐怕比你义正词严的质问要
    多得多呢!

    摩羯座

    心计排名:第二

    千万别被摩羯们平静的外表所欺骗了!他们在表面上看来总是严肃而认真的,让人觉得他们很教条,以为他们不会耍什么手段。而实际上,安静的外表就是他们保护自己的壳子,真正的摩羯做事稳重,待人处事总是经过很慎重的考虑。因为他们想得多,所以让人觉得他们比较死板,其实这就是他们掩饰自己的壳子,死板的深层意思其实是
    “算计”哦。


    水瓶座

    心计排名:第一

    瓶子重视理论知识,有优秀的推理能力和创造力,他们的心计通常旁人是无法察觉的。瓶子向来喜欢独来独往,因此没人能琢磨透他们的心思,更可况古灵精怪的他们思维古怪,别人就更猜不到瓶子在想什么了。不过,喜欢思考的他们就是有办法一步一步达成自己的目标,不管用明用暗,总可以自由地操纵别人,以达成目的。瓶子无时无刻
    不在观察别人,是厉害的狠角色。


    ☆─────────────────────────────────────☆
     

  • 一个挺有意思的网络问题

    2007-09-12 14:50:42

     

    想起来昨天的调试挺有意思:

    项目的要求:用一台服务器管理两套设备,而这两套设备各有一台服务器并且,都分布在不同的局域网上;在测试组模拟了这种网络布置;主要是通操作系统的REMOTE ACCSESS CONNECTION manage 来添加网络路由配置实现的

    结果:其中一套设备的服务器A PING不通另外一套设备的服务器B;而另一套B能够PING通这一套服务器A;通过观察,B的防火墙给关闭了且不能打开。试了好多种办法都不能解决

    后来:我把他们添加的那个REMOTE ACCSESS CONNECTION manage 服务重新启动了一下,再启动防火墙服务;问题竟解决了,搞得开发人员一阵夸;不过我也不知道什么原因,死活也想不明白,呵呵

    大家有知道的么?

  • 注册表简介。。

    2007-09-12 10:33:02

     

    在软件测试过程中还是会经常使用注册表信息的,呵呵,以前都是为了删除病毒才想起来去注册表找找;现在看来了解注册表也是非常重要的..,其实注册表就是用来一个记载操作系统配置的迷你数据库呵呵

    PC机及其操作系统的一个特点就是允许用户按照自己的要求对计算机系统的硬件和软件进行各种各样的配置。早期的图形操作系统,如Win3.x中,对软硬件工作环境的配置是通过对扩展名为.ini的文件进行修改来完成的,但INI文件管理起来很不方便,因为每种设备或应用程序都得有自己的INI文件,并且在网络上难以实现远程访问。

    为了克服上述这些问题,在Windows 95及其后继版本中,采用了一种叫做“注册表”的数据库来统一进行管理,将各种信息资源集中起来并存储各种配置信息。按照这一原则,Windows各版本中都采用了将应用程序和计算机系统全部配置信息容纳在一起的注册表,用来管理应用程序和文件的关联、硬件设备说明、状态属性以及各种状态信息和数据等。

  • 2007-09-12 晴 aotup

    2007-09-12 09:59:00

     

    前天晚上同学说在搞底层驱动开发;又看见一个公司在招聘软件测试工程师要求最好有底层开发经验;想想自己现在好像对底层开发的概念还都不清楚,真是惭愧啊~~

    查了一下网络,大概知道了底层开发就是用汇编语言或者C,C++等语言进行编程,关键是要求开发者对寄存器,操作系统内核的东西比较熟悉;突然想起来,上学那会曾经花了一个多月的时间用汇编语言在仿真机开发了电子时钟;不知道这个算不算呵呵

    这样想想还是挺佩服自己的呵呵

311/212>
Open Toolbar