探讨设计、开发测试框架;依据需求,定制有效的测试策略;把握测试技术的发展和测试策略的方向;推广测试领域新技术、方法的研究、应用

发布新日志

  • 回归技术---记录下,今天开始回归技术

    2012-08-22 09:52:07

    今天2012-08-22也就是农历的七月初六,中国情人节的前一天,在三年后重新登录51自己的博客,记录下今天开始回归测试。生产那玩意不好玩,主要是啥也不是。
  • 你应该记住的Windows 常用命令 lgr

    2009-04-17 15:57:04

    1. gpedit.msc-----组策略
    2. Nslookup-------IP地址侦测器
    3. explorer-------打开资源管理器
    4. logoff---------注销命令
    6. tsshutdn-------60秒倒计时关机命令
    5. lusrmgr.msc----本机用户和组
    6. services.msc---本地服务设置
    7. notepad--------打开记事本
    8. cleanmgr-------垃圾整理
    9. compmgmt.msc---计算机管理
    10. conf-----------启动netmeeting
    11. charmap--------启动字符映射表
    12. diskmgmt.msc---磁盘管理实用程序
    13. calc-----------启动计算器
    14. devmgmt.msc--- 设备管理器
    15. regsvr32 /u *.dll----停止dll文件运行
    16. drwtsn32------ 系统医生
    17. rononce -p ----15秒关机
    18. dxdiag---------检查DirectX信息
    19. regedt32-------注册表编辑器
    20. Msconfig.exe---系统配置实用程序
    21. rsop.msc-------组策略结果集
    22. mem.exe--------显示内存使用情况
    23. progman--------程序管理器
    24. winmsd---------系统信息
    25. perfmon.msc----计算机性能监测程序
    26. winver---------检查Windows版本
    27. sfc /scannow-----扫描错误并复原
    28. taskmgr-----任务管理器(2000/xp/2003)
    29. wmimgmt.msc----打开windows管理体系结构(WMI)
    30. wscript--------windows脚本宿主设置
    31. winmsd---------系统信息
    32. wiaacmgr-------扫描仪和照相机向导
    33. Msconfig.exe---系统配置实用程序
    34. mspaint--------画图板
    35. mstsc----------远程桌面连接
    36. mmc------------打开控制台
    37. mobsync--------同步命令
    38.dcomcnfg-------打开系统组件服务
    39. ddeshare-------打开DDE共享设置
    40. netstat -an----(TC)命令检查端口
    41. syncapp--------创建一个公文包
    42. sysedit--------系统配置编辑器
    43. secpol.msc-----本地安全策略
    44. services.msc---本地服务设置
    45. tsshutdn-------60秒倒计时关机命令
    46. eventvwr-------事件查看器
    47. explorer-------打开资源管理器
    48. regsvr32 /u zipfldr.dll------取消ZIP支持
    49. cmd.exe--------CMD命令提示符
    50. calc-----------启动计算器
    51. Clipbrd--------剪贴板查看器
    52. osk------------打开屏幕键盘
    53. odbcad32-------ODBC数据源管理器
    54. .fsmgmt.msc-----共享文件夹管理器
    55. utilman--------辅助工具管理器
  • 通过故事看测试管理

    2009-04-15 10:45:51

    1、分粥

      有七个人曾经住在一起,每天分一大桶粥。要命的是,粥每天都是不够的。一开 始,他们抓阄决定谁来分粥,每天轮一个。于是乎每周下来,他们只有一天是饱的,就是自己分粥的那一天。后来他们开始推选出一个道德高尚的人出来分粥。强权 就会产生腐败,大家开始挖空心思去讨好他,贿赂他,搞得整个小团体乌烟障气。然后大家开始组成三人的分粥委员会及四人的评选委员会,但他们常常互相攻击, 扯皮下来,粥吃到嘴里全是凉的。最后想出来一个方法:轮流分粥,但分粥的人要等其它人都挑完后拿剩下的最后一碗。为了不让自己吃到最少的,每人都尽量分得 平均,就算不平,也只能认了。大家快快乐乐,和和气气,日子越过越好。

      同样是七个人,不同的分配制度,就会有不同的风气。所以一个单位如果有不好的工作习气,一定是机制问题,一定是没有完全公平公正公开,没有严格的奖勤罚懒。如何制订这样一个制度,是每个领导需要考虑的问题。

    2、表演大师

       有一位表演大师上场前,他的弟子告诉他鞋带松了。大师点头致谢,蹲下来仔细系好。等到弟子转身后,又蹲下来将鞋带解松。有个旁观者看到了这一切,不解地问:"大师,您为什么又要将鞋带解松呢?"大师回答道:"因为我饰演的是一位劳累的旅者,长途跋涉让他的鞋事松开,可以通过这个细节表现他的劳累憔悴." "那你为什么不直接告诉你的弟子呢?""他能细心地发现我的鞋带松了,并且热心地告诉我,我一定要保护他这种热情的积极性,及时地给他鼓励,至于为什么要 将鞋带解开,将来会有更多的机会教他表演,可以下一次再说啊。"

      人一个时间只能做一件事,懂抓重点,才是真正的人才。

    3、鹦鹉
     
       一个人去买鹦鹉,看到一只鹦鹉前标:此鹦鹉会两门语言,售价二百元。另一只鹦鹉前则标道:此鹦鹉会四门语言,售价四百元。该买哪只呢?两只都毛色光鲜, 非常灵活可爱。这人转啊转,拿不定主意。结果突然发现一只老掉了牙的鹦鹉,毛色暗淡散乱,标价八百元。这人赶紧将老板叫来:这只鹦鹉是不是会说八门语言? 店主说:不。这人奇怪了:那为什么又老又丑,又没有能力,会值这个数呢?店主回答:因为另外两只鹦鹉叫这只鹦鹉老板。

      这故事告诉 我们,真正的领导人,不一定自己能力有多强,只要懂信任,懂放权,懂珍惜,就能团结比自己更强的力量,从而提升自己的身价。相反许多能力非常强的人却因为 过于完美主义,事必躬亲,什么人都不如自己,最后只能做最好的公关人员,销售代表,成不了优秀的领导人。
      
    4、金人

       曾经有个小国的人到中国来,进贡了三个一模一样的金人,金碧辉煌,把皇帝高兴坏了。可是这小国的人不厚道,同时出一道题目:这三个金人哪个最有价值?皇帝 想了许多的办法,请来珠宝匠检查,称重量,看做工,都是一模一样的。怎么办?使者还等着回去汇报呢。泱泱大国,不会连这个小事都不懂吧?最后,有一位退位 的老大臣说他有办法。皇帝将使者请到大殿,老臣胸有成足地拿着三根稻草,插入第一个金人的耳朵里,这稻草从另一边耳朵出来了。第二个金人的稻草从嘴巴里直 接掉出来,而第三个金人,稻草进去后掉进了肚子,什么响动也没有。老臣说:第三个金人最有价值!使者默默无语,答案正确。

      这个故事告诉我们,最有价值的人,不一定是最能说的人。老天给我们两只耳朵一个嘴巴,本来就是让我们多听少说的。善于倾听,才是成熟的人最基本的素质。
      
    5、辞职

       A对B说:"我要离开这个公司。我恨这个公司!"B建议道:"我举双手赞成你报复!!破公司一定要给它点颜色看看。不过你现在离开,还不是最好的时 机。"A问:为什么?B说:"如果你现在走,公司的损失并不大。你应该趁着在公司的机会,拼命去为自己拉一些客户,成为公司独当一面的人物,然后带着这些 客户突然离开公司,公司才会受到重大损失,非常被动。"A觉得B说的非常有理。于是努力工作,事遂所愿,半年多的努力工作后,他有了许多的忠实客户。再见 面时B问A:现在是时机了,要跳赶快行动哦!A淡然笑道:老总跟我长谈过,准备升我做总经理助理,我暂时没有离开的打算了。

      其实这也正是B的初衷。一个人的工作,永远只是为自己的简历。只有付出大于得到,让老板真正看到你的能力大于位置,才会给你更多的机会替他创造更多利润。
      
    6、选择

       有三个人要被关进监狱三年,监狱长给他们三个一人一个要求。美国人爱抽雪茄,要了三箱雪茄。法国人最浪漫,要一个美丽的女子相伴。而犹太人说,他要一部 与外界沟通的电话。三年过后,第一个冲出来的是美国人,嘴里鼻孔里塞满了雪茄,大喊道:"给我火,给我火!"原来他忘了要火了。接着出来的是法国人。只见 他手里抱着一个小孩子,美丽女子手里牵着一个小孩子,肚子里还怀着第三个。最后出来的是犹太人,他紧紧握住监狱长的手说:"这三年来我每天 与外界联系,我的生意不但没有停顿,反而增长了200%,为了表示感谢,我送你一辆劳斯莱斯!"

      这个故事告诉我们,什么样的选择决定什么样的生活。今天的生活是由三年前我们的选择决定的,而今天我们的抉择将决定我们三年后的生活。我们要选择接触最新的信息,了解最新的趋势,从而更好的创造自己的将来。
      
    7、老虎

      两个人在森林里,遇到了一只大老虎。A就赶紧从背后取下一双更轻便的运动鞋换上。B急死了,骂道:"你干嘛呢,再换鞋也跑不过老虎啊!"A说:"我只要跑得比你快就好了。"

      二十一世纪,没有危机感是最大的危机。特别是入关在即,电信,银行,保险,甚至是公务员这些我们以为非常稳定和有保障的企业,也会面临许多的变量。当更多的老虎来临时,我们有没有准备好自己的跑鞋?
      
    8、赶考

       有位秀才第三次进京赶考,住在一个经常住的店里。考试前两天他做了三个梦,第一个梦是梦到自己在墙上种白菜,第二个梦是下雨天,他戴了斗笠还打伞,第三 个梦是梦到跟心爱的表妹脱光了衣服躺在一起,但是背靠着背。这三个梦似乎有些深意,秀才第二天就赶紧去找算命的解梦。算命的一听,连拍大腿说:"你还是回 家吧。你想想,高墙上种菜不是白费劲吗?戴斗笠打雨伞不是多此一举吗?跟表妹都脱光了躺在一张床上了,却背靠背,不是没戏吗?"秀才一听,心灰意冷,回店 收拾包袱准备回家。店老板非常奇怪,问:"不是明天才考试吗,今天你怎么就回乡了?"秀才如此这般说了一番,店老板乐了:"哟,我也会解梦的。我倒觉得, 你这次一定要留下来。你想想,墙上种菜不是高种吗?戴斗笠打伞不是说明你这次有备无患吗?跟你表妹脱光了背靠靠躺在床上,不是说明你翻身的时候就要到了 吗?"秀才一听,更有道理,于是精神振奋地参加考试,居然中了个探花。

      积极的人,像太阳,照到哪里哪里亮,消极的人,像月亮,初一十五不一样。想法决定我们的生活,有什么样的想法,就有什么样的未来。
      
    9、骆驼

       在动物园里的小骆驼问妈妈:"妈妈妈妈,为什么我们的睫毛那么地长?"骆驼妈妈说:"当风沙来的时候,长长的睫毛可以让我们在风暴中都能看得到方向。" 小骆驼又问:"妈妈妈妈,为什么我们的背那么驼,丑死了!"骆驼妈妈说:"这个叫驼峰,可以帮我们储存大量的水和养分,让我们能在沙漠里耐受十几天的无水 无食条件。"小骆驼又问:"妈妈妈妈,为什么我们的脚掌那么厚?"

      骆驼妈妈说:"那可以让我们重重的身子不至于陷在软软的沙子里,便于长途跋涉啊。"小骆驼高兴坏了:"哗,原来我们这么有用啊!!可是妈妈,为什么我们还在动物园里,不去沙漠远足呢?"
      
      天生我才必有用,可惜现在没人用。一个好的心态+一本成功的教材+一个无限的舞台=成功。每人的潜能是无限的,关键是要找到一个能充分发挥潜能的舞台。
      
    10、陈阿土
       
      陈阿土是台湾的农民,从来没有出过远门。攒了半辈子的钱,终于参加一个旅游团出了国。国外的一切都是非常新鲜的,关键是,陈阿土参加的是豪华团,一个人 住一个标准间。这让他新奇不已。早晨,服务生来敲门送早餐时大声说道:"GOOD MORNING SIR!"陈阿土愣住了。这是什么意思呢?在自己的家乡,一般陌生的人见面都会问:"您贵姓?"于是陈阿土大声叫道:"我叫陈阿土!"如是这般,连着三天,都是那个服务生来敲门,每天都大声说:"GOOD MORNING SIR!"而陈阿土亦大声回道:"我叫陈阿土!"但他非常的生气。这个服务生也太笨了,天天问自己叫什么,告诉他又记不住,很烦的。终于他忍不住去问导 游,"GOOD MORNING SIR!"是什么意思,导游告诉了他,天啊!!真是丢脸死了。陈阿土反复练习"GOOD MORNING SIR!"这个词,以便能体面地应对服务生。又一天的早晨,服务生照常来敲门,门一开陈阿土就大声叫道:"GOOD MORNING SIR!"与此同时,服务生叫的是:"我是陈阿土!"

      这个故事告诉我们,人与人交往,常常是意志力与意志力的较量。不是你影响他,就是他影响你,而我们要想成功,一定要培养自己的影响力,只有影响力大的人才可以成为最强者。
  • TQM全面质量管理——戴明

    2009-04-13 15:40:36

       如果有人要是问,日本的质量管理之父是谁?你会不会想到一系列的日本企业家的名字而不知道戴明,在日本质量控制最著名的人是美国人戴明博士——华尔街日报。

    威廉·戴明(W. Edwards. Seming 19001993)博士是世界著名的质量管理专家,他对世界质量管理发展作出的卓越贡献享誉全球。他在其早期的工作生涯中,发展了运用统计方法来提高组织效率的思想。虽然在20世纪50年代他在美国不太出名,可是在日本,他很快成了国家英雄。1960年由日本天皇授予他杰出人才奖,这是一个他所欣赏的奖励,表明了对他的高度承认。此后,他在美国和日本传播的思想均得益于他在日本的经历。直到20世纪80年代初,西方世界才认真地对待戴明。10年之后,虽然有争议,戴明不是成为全世界最有影响的经济大师。

    作为质量管理的先驱者,戴明对国际质量管理理论和方法始终产生着异常重要的影响。其主要观点为“十四要点”,成为本世纪全面质量管理TQM的重要理论基础。

    戴明的“十四要点”:

    1、创造产品与服务改善的恒久目的。最高管理层必须从短期目标的迷途中归返,转回到长远方向的正确方向,也就是把改进产品和服务作为恒久目的,坚持经营,这需要在所有领域加以改革和创新。

    2、采纳新的哲学。必须绝对不容忍粗劣的原料、不良操作、有瑕疵的产品和松散的服务。

    3、停止依靠大批量的检验,检验出来已经太迟,且成本高而效率低。正确的做法,是改良生产过程。

    4、废除“价低者得”的做法。价格本身并无意义,只是相对于质量才有意义。因此,只有管理当局重新界定原则,采购工作才会改变,公司一定要与供应商建立长远的关系,并减少供应商的数目,采购部门必须采用统计工具来判断供应商及其产品质量。

    5、永不间断地改进生产及服务系统。在每一活动中,必须降低浪费和提高质量,无论是采购、运输、工程、方法、维修、销售、分销、会计、人事、顾客服务及生产制造。

    6、培训必须是有计划的,且必须是建立于可接受的工作标准上。必须使用统计方法来衡量培训工作是否奏效。

    7、督导人员必须要让高层管理知道需要改善的地方。当知道之后,管理当局必须采取行动。

    8、驱走恐惧心理。所有同事都必须有胆量去发问、提出问题,或表达意见。

    9、打破部门之间的围墙。每一部门都不应只顾独善其身,而需要发挥团队精神,跨部门的质量圈活动有助于改善设计、服务、及成本。

    10、取消对员工发出计量化的目标。激发员工提高生产率的指标、口号、图像、海报都必须废除。很多配合的改变往往是在一般员工控制范围之外,因此这些宣传品只会导致反感。虽然无须为员工订下可计量的目标,但公司却要有这样一个目标:永不间歇地改进。

    11、取消工作标准及数量化的定额。定额把焦点放在数量,而非质量。计件工作制更不好,因为它鼓励制造次品。

    12、消除妨碍基层员工工作尊严的因素,同时消除不知什么是好的工作表现。

    13、建立严谨的教育及培训计划。由于质量和生产力的改善会导致部分工作岗位数目的改变,因此所有员工都要不断接受训练及再培训。一切训练都应包括基本统计技巧的运用。

    14、创造一个每天都推动以上13项的高层管理结构。

    戴明理论反映了全面质量管理的全面性,说明了质量管理与改善并不是个别部门的事,而是需要由最高管理层领导的推动才可奏效。戴明理论的核心可以概括为:高层管理的决心及参与;群策群力的团队精神;通过教育来提高质量意识;质量改良的技术训练;制定改良质量的尺度标准;对质量成本的认识及分析;不断改进活动;各级员工的参与。

     

    (取材于郭咸纲著《西方管理思想史》第二版,经济管理出版社,选编时作了增删。蔡茂生供稿

     

  • QTP10.0基础知识

    2009-03-19 15:41:33

    一.  首先介绍QTP中的两个对象

         TestObject(TO):在仓库文件里面定义的仓库对象。

         RuntimeObject(RO):被测试软件的实际对象。

    二.  QTP识别对象的机制

         QTP识别对象,一般是要求在对象仓库中要创建仓库对象,里面存有实际对象的属性的值,然后在运行对象的时候QTP会根据脚本里面对象的名字,在对象仓库中找到对应的仓库对象,再根据仓库对象的属性,再被测试软件中找到实际操作对象,最后对实际对象操作。

    三. QTP 中TO和RO的几个函数

        GetTOProperty:取得仓库对象某个属性的值

        GetTOProperties:取得仓库对象所有属性的值

        SetTOProperty:设置仓库对象某个属性的值

        GetROProperty:取得实际对象某个属性的值

       注意:以上的几个方法,都是对象的封装属性的方法,不是对象的自有属性。

       两者的区别:

       封装属性的方法:是QTP对对象封装的接口,是QTP调用对象自有的接口是实现的。其代码为:对象名.属性 或对象名.方法名

    For example, suppose you type Guest into an appropriate field on a Sign On screen of your terminal emulator application. This field has the text User attached to it.

    QuickTest identifies the field as a TeField object. It creates a TeField test object with the name User and records the following properties and values as the description for the User TeField:



    It also records that you performed a Set method on the TeField object.

    QuickTest displays your step in the Keyword View like this:



    QuickTest displays your step in the Expert View like this:

    TeWindow("TeWindow").TeScreen("Sign On").TeField("User").Set "Guest"

      自有属性:对象自有的接口。  其代码为:对象名.Object.属性  或 对象名.Object.方法名

  • 软件测试的十大原则(经典网文)

    2009-03-19 15:21:52

             原则是最重要的,方法应该在这个原则指导下进行。软件测试的基本原则是站在用户的角度,对产品进行全面测试,尽早、尽可能多地发现Bug, 并负责跟踪和分析产品中的问题,对不足之处提出质疑和改进意见。

      零缺陷(Zero-Bug) 是一种理念,足够好(Good-Enough)是测试的基本原则。

      在软件测试过程中,应注意和遵循的具体原则,可以概括为十大项:

       1. 所有测试的标准都是建立在用户需求之上。正如我们所知,软件测试的目标就是验证产品的一致性和确认产品是否满足客户的需求,所以测试人员要始终站在用户的角度去看问题、去判断软件缺陷的影响,系统中最严重的错误是那些导致程序无法满足用户需求的缺陷。

       2. 软件测试必须基于“质量第一”的思想去开展各项工作,当时间和质量冲突时,时间要服从质量。质量的理念和文化(如零缺陷的“第一次就把事情做对”)同样是软件测试工作的基础。

       3. 事先定义好产品的质量标准。有了质量标准,才能依据测试的结果对产品的质量进行正确的分析和评估,例如,进行性能测试前,应定义好产品性能的相关的各种指标。同样,测试用例应确定预期输出结果,如果无法确定测试结果,则无法进行校验。

       4. 软件项目一启动,软件测试也就是开始,而不是等程序写完,才开始进行测试。在代码完成之前,测试人员要参与需求分析、系统或程序设计的审查工作,而且要准备测试计划、测试用例、测试脚本和测试环境,测试计划可以在需求模型一完成就开始,详细的测试用例定义可以在设计模型被确定后开始。应当把“尽早和不断地测试”作为测试人员的座右铭。

       5. 穷举测试是不可能的。甚至一个大小适度的程序,其路径排列的数量也非常大,因此,在测试中不可能运行路径的每一种组合,然而,充分覆盖程序逻辑,并确保程序设计中使用的所有条件是有可能的。

       6. 第三方进行测试会更客观,更有效。程序员应避免测试自己的程序,为达到最佳的效果,应由第三方来进行测试。测试是带有 ”挑剔性” 的行为,心理状态是测试自己程序的障碍。同时对于需求规格说明的理解产生的错误也很难在程序员本人测试时被发现。

       7. 软件测试计划是做好软件测试工作的前提。所以在进行实际测试之前,应制定良好的、切实可行的测试计划并严格执行,特别要确定测试策略和测试目标。

       8. 测试用例是设计出来的,不是写出来的,所以要根据测试的目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多地发现错误,提高程序的可靠性。除了检查程序是否做了应该做的事,还要看程序是否做了不该做的事;不仅应选用合理的输入数据,对于非法的输入也要设计测试用例进行测试。

       9. 不可将测试用例置之度外,排除随意性。特别是对于做了修改之后的程序进行重新测试时,如不严格执行测试用例,将有可能忽略由修改错误而引起的大量的新错误。所以,回归测试的关联性也应引起充分的注意,有相当一部分最终发现的错误是在早期测试结果中遗漏的。

      10. 对发现错误较多的程序段,应进行更深入的测试。一般来说,一段程序中已发现的错误数越多,其中存在的错误概率也就越大。错误集中发生的现象,可能和程序员的编程水平和习惯有很大的关系。

  • 测试用例设计思维

    2009-03-17 12:02:50

    测试人员最宝贵的智慧结晶是什么?测试用例

    测试用例是设计出来的,不是编写出来的,重在设计,设计思维,设计思想,设计理念。

    不管采用什么样的测试用例设计方法,最重要的是要体现测试人员的逻辑思维,测试用例的设计是测试人员智慧的集中体

    现,它代表了测试人员对软件的理解,测试需求分析的粒度,代表了测试人员的测试思路。测试用例的设计是测试人员与

    软件BUG进行一次歼灭战之前的战略部署,没有一场战争是在毫无准备和计划的情况下赢得胜利的,软件测试也无例外。

  • web service相关基本理论

    2009-03-16 11:32:39

    web service 平台是一套标准,它定义了应用程序如何在web上实现互操作性,可以用任何你喜欢的语言,不同的平台编写web service,而通过web service标准来对这些服务进行查询和访问。  什么是 XML Web Service?

    XML Web Service 是在 Internet 上进行分布式计算的基本构造块。开放的标准以及对用户和应用程序之间的通信和协作的关注产生了这样一种环境,在这种环境下,XML Web Service 成为应用程序集成的平台。应用程序是通过使用多个不同来源的 XML Web Service 构造而成的,这些服务相互协同工作,而不管它们位于何处或者如何实现。

    有多少个构建 XML Web Service 的公司,就可能有多少种 XML Web Service 定义。不过几乎所有定义都具有以下共同点:

      XML Web Service 通过标准的 Web 协议向 Web 用户提供有用的功能。多数情况下使用 SOAP 协议。 XML Web Service 可以非常详细地说明其接口,这使用户能够创建客户端应用程序与它们进行通信。这种说明通常包含在称为 Web 服务说明语言 (WSDL) 文档的 XML 文档中。

      XML Web Service 已经过注册,以便潜在用户能够轻易地找到这些服务,这是通过通用发现、说明和集成 (UDDI) 来完成的。

    本文将介绍这三种技术,但首先需要解释一下为什么要关注 XML Web Service。

      XML Web Service 体系结构的主要优点之一是:允许在不同平台上、以不同语言编写的各种程序以基于标准的方式相互通信。对这一行业有所了解的用户可能马上会说:“等一等,CORBA 和之前的 DCE 不是都做过相同的承诺吗?这和它们有什么区别?”最重要的区别在于:SOAP 比以前的方法要简单得多,因此要实现与标准兼容的 SOAP,障碍也要少得多。Paul Kulchenko 在http://www.soapware.org/directory/4/implementations(英文)上提供了一个 SOAP 实现方案的列表。上次统计时,该列表已经包含了 79 项。正如您所预料,多数大的软件公司都提供 SOAP 实现方案,但也有许多实现方案是由个别开发人员创建和维护的。相对以前的方案而言,XML Web Service 的另一大优点是使用标准的 Web 协议 - XML、HTTP 和 TCP/IP。许多公司都已经建立了 Web 基础结构,同时它们的员工在维护方面也都具备相应的知识和经验。因此,引入 XML Web Service 与引入以前的技术相比,其成本要低得多。

    我们将 XML Web Service 定义为:通过 SOAP 在 Web 上提供的软件服务,使用 WSDL 文件进行说明,并通过 UDDI 进行注册。那么,您也许要问:“使用 XML Web Service 能够做什么?”最初的 XML Web Service 通常是可以方便地并入应用程序的信息来源,如股票价格、天气预报、体育成绩等等。我们很容易想到,可以构建一整类应用程序以分析和汇总所关心的信息,并以各种方式提供这些信息;例如,您可以使用 Microsoft? Excel 电子表格来汇总所有的财务信息 - 股票、401K、银行存款、贷款等等。如果能够通过 XML Web Service 获得这些信息,Excel 就可以不断对其进行更新。这些信息中有些是免费的,有些则可能需要订阅才能获得相应服务。大部分这种信息现在已经可以在 Web 上找到了,但是 XML Web Service 可以使编程访问更简单,也更可靠。

      以 XML Web Service 方式提供现有应用程序,可以构建新的、更强大的应用程序,并利用 XML Web Service 作为构造块。例如,用户可以开发一个采购应用程序,以自动获取来自不同供应商的价格信息,从而使用户可以选择供应商,提交订单,然后跟踪货物的运输,直至收到货物。而供应商的应用程序除了在 Web 上提供服务外,还可以使用 XML Web Service 检查客户的信用、收取货款,并与货运公司办理货运手续。

      将来,某些最有趣的 XML Web Service 所支持的应用程序还可以利用 Web 完成目前无法完成的任务。例如,日历服务就是 Microsoft .NET My Services(英文)项目即将支持的服务之一。如果您的牙医和机械师通过这一 XML Web Service 提供其日程安排,您就可以通过网络与他们安排约会;如果您愿意,他们也可以直接在您的日历上约定清洁和日常保养的日期。不难想象,只要能够对 Web 进行编程,您就可以创建数以百计的应用程序。

      有关 XML Web Service 及其可以构建的应用程序的详细信息,请参阅 MSDN Web 服务(英文)主页。
      SOAP
    51Testing软件测试网0P

      Soap 是 XML Web Service 的通信协议。当把 SOAP 描述为一种通信协议时,多数人都会想到 DCOM 或 CORBA,并且会问“SOAP 如何激活对象?”或“SOAP 使用什么样的命名服务?”等问题。虽然 SOAP 实现方案可能会包含上述内容,但 SOAP 标准并未对其进行规定。SOAP 一种规范,用来定义消息的 XML 格式 - 这是规范中所必需的部分。包含在一对 SOAP 元素中的、结构正确的 XML 段就是 SOAP 消息。这是不是很简单?

    SOAP 规范的其他部分介绍如何将程序数据表示为 XML,以及如何使用 SOAP 进行远程过程调用 (RPC)。这些可选的规范部分用于实现 RPC 形式的应用程序,其中客户端将发出一条 SOAP 消息(包含可调用函数,以及要传送到该函数的参数),然后服务器将返回包含函数执行结果的消息。目前,多数 SOAP 实现方案都支持 RPC 应用程序,这是因为习惯于开发 COM 或 CORBA 应用程序的编程人员熟悉 RPC 形式。SOAP 还支持文档形式的应用程序,在这类应用程序中,SOAP 消息只是 XML 文档的一个包装。文档形式的 SOAP 应用程序非常灵活,许多新的 XML Web Service 都利用这一特点来构建使用 RPC 难以实现的服务。

      SOAP 规范的最后一个可选部分定义了包含 SOAP 消息的 HTTP 消息的样式。此 HTTP 绑定非常重要,因为几乎所有当前的 OS(以及许多以前的 OS)都支持 HTTP。HTTP 绑定虽然是可选的,但几乎所有 SOAP 实现方案都支持 HTTP 绑定,因为它是 SOAP 的唯一标准协议。由于这一原因,人们通常误认为 SOAP 必须使用 HTTP。其实,有些实现方案也支持 MSMQ、MQ 系列、SMTP 或 TCP/IP 传输,但由于 HTTP 非常普遍,几乎所有当前的 XML Web Service 都使用它。由于 HTTP 是 Web 的核心协议,因此大多数组织的网络基础结构都支持 HTTP,并且员工已经了解了如何对其进行管理。如今,已经建立了用于 HTTP 的安全保护、监视和负载平衡的基础结构。

    开始使用 SOAP 时,最容易混淆的是 SOAP 规范及其许多实现方案之间的差异。多数使用 SOAP 的用户并不直接编写 SOAP 消息,而是使用 SOAP 工具包来创建和分析 SOAP 消息。这些工具包通常将函数调用从某种语言转换为 SOAP 消息。例如,Microsoft SOAP Toolkit 2.0 将 COM 函数调用转换为 SOAP,而 Apache Toolkit 将 JAVA 函数调用转换为 SOAP。函数调用的类型和支持的参数的数据类型随每个 SOAP 实现方案的不同而不同,因此适用于一个工具包的函数可能并不适用于另一个工具包。这并不是 SOAP 的限制,而是所使用的特定实现方案的限制。  到目前为止,SOAP 最引人注目的特征是它可以在许多不同的软件和硬件平台上实现。这意味着 SOAP 可用于链接企业内部和外部的不同系统。过去曾试过多种方法以提出一个可用于系统集成的通用通信协议,但它们都没有象 SOAP 一样获得广泛的认可。为什么呢?因为与许多早期的协议相比,SOAP 更小巧,而且更易于实现。例如,DCE 和 CORBA 的实现需要数年时间,所以只发布了很少几个实现方案。而 SOAP 可以利用现有的 XML 分析器和 HTTP 库完成大部分艰苦的工作,因此 SOAP 实现方案在数月内便可完成。这就是为什么现在已经有 70 多个 SOAP 实现方案的原因。当然,SOAP 并不具备 DCE 或 CORBA 的全部功能,虽然功能减少了,但由于其复杂程度大大降低了,因此 SOAP 更易于应用。

      HTTP 的普及和 SOAP 的简单性使您几乎可以从任何环境调用它们,因此成为 XML Web Service 的理想基础。有关 SOAP 的详细信息,请参阅 MSDN SOAP(英文)主页。

      安全性如何?

      通常,刚接触 SOAP 的用户提出的第一个问题就是 SOAP 如何解决安全性问题。在其早期开发阶段,SOAP 被看作是基于 HTTP 的协议,所以认为 HTTP 的安全性对于 SOAP 已经足够了。毕竟目前有数以千计的 Web 应用程序都在使用 HTTP 安全性,所以这对于 SOAP 确实已经足够。因此,当前的 SOAP 标准假定安全性属于传输问题,而并不作为安全性问题处理。 当 SOAP 扩展至更为通用的协议,并运行于众多传输之上时,安全性问题就变得突出了。例如,HTTP 提供若干种方法对进行 SOAP 调用的用户进行身份验证,但是当消息从 HTTP 路由到 SMTP 传输时,怎样传播该身份标识呢?SOAP 是作为构造块协议进行设计的,所以幸运的是,已经有了相应的规范以基于 SOAP 为 Web 服务提供额外的安全保护功能。WS-Security 规范(英文)定义了一套完整的加密系统,而 WS-License 规范(英文)定义了相应的技术,以保证调用者的身份标识,并确保只有授权用户才可以使用 Web 服务。51Testing软件测试网}arRt4@cx*y

      WSDL

      WSDL (Web Services Descrīption Language) 表示 Web 服务说明语言。在本文中,我们可以认为 WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。换句话说,WSDL 对于 SOAP 的作用就象 IDL 对于 CORBA 或 COM 的作用。由于 WSDL 是 XML 文档,因此很容易进行阅读和编辑;但大多数情况下,它由软件生成和使用。  要查看 WSDL 的值,可以假设您要调用由您的一位业务伙伴提供的 SOAP 方法。您可以要求对方提供一些 SOAP 消息示例,然后编写您的应用程序以生成并使用与示例类似的消息,但这样很容易出错。例如,您可能看到一个 2837 的客户 ID,并假设它为整数,而实际上它是一个字符串。WSDL 通过明确的表示法指定请求消息必须包含的内容以及响应消息的样式。

        WSDL 文件用于说明消息格式的表示法以 XML 架构标准为基础,这意味着它与编程语言无关,而且以标准为基础,因此适用于说明可从不同平台、以不同编程语言访问的 XML Web Service 接口。除说明消息内容外,WSDL 还定义了服务的位置,以及使用什么通信协议与服务进行通信。也就是说,WSDL 文件定义了编写使用 XML Web Service 的程序所需的全部内容。有几种工具可以读取 WSDL 文件,并生成与 XML Web Service 通信所需的代码。其中一些最强大的工具可在 Microsoft Visual Studio? .NET 中找到。

      当前,许多 SOAP 工具包都包括从现有程序接口生成 WSDL 文件的工具,但却几乎没有直接用于编写 WSDL 的工具,而且 WSDL 的工具支持也很不完整。但不久就会出现编写 WSDL 文件的工具,接着还会有生成代理和存根的工具(与 COM IDL 工具很相似),这些工具将成为多数 SOAP 实现方案的一部分。到那时,WSDL 将成为创建 XML Web Service 的 SOAP 接口的首选方法。

      这里有一个非常好的 WSDL 说明(英文),您还可以在http://www.w3.org/TR/wsdl(英文)找到 WSDL 规范。

     通用发现、说明和集成 (UDDI) 是 Web 服务的黄页。与传统黄页一样,您可以搜索提供所需服务的公司,阅读以了解所提供的服务,然后与某人联系以获得更多信息。当然,您也可以提供 Web 服务而不在 UDDI 中注册,就象在地下室开展业务,依靠的是口头吆喝;但是如果您希望拓展市场,则需要 UDDI 以便能被客户发现。

      UDDI 目录条目是介绍所提供的业务和服务的 XML 文件。UDDI 目录条目包括三个部分。“白页”介绍提供服务的公司:名称、地址、联系方式等等;“黄页”包括基于标准分类法(例如 North American Industry Classification System 和 Standard Industrial Classification)的行业类别;“绿页”详细介绍了访问服务的接口,以便用户能够编写应用程序以使用 Web 服务。服务的定义是通过一个称为类型模型(或 tModel)的 UDDI 文档来完成的。多数情况下,tModel 包含一个 WSDL 文件,用于说明访问 XML Web Service 的 SOAP 接口,但是 tModel 非常灵活,可以说明几乎所有类型的服务  UDDI 目录还包含若干种方法,可用于搜索构建您的应用程序所需的服务。例如,您可以搜索特定地理位置的服务提供商或者搜索特定的业务类型。之后,UDDI 目录将提供信息、联系方式、链接和技术数据,以便您确定能满足需要的服务。51Testing软件测试网.aKpiN

      UDDI 允许您查找提供所需的 Web 服务的公司。如果您已经知道要与谁进行业务合作,但尚不了解它还能提供哪些服务,这时该如何处理呢?WS-Inspection 规范(英文)允许您浏览特定服务器上提供的 XML Web Service 的集合,从中查找所需的服务。51Testing软件测试网g-q Sj ^2]:{GX

      其他内容

      到现在为止,我们已经讨论了如何与 XML Web Service 通信 (SOAP),XML Web Service 是怎样进行说明的 (WSDL),以及如何查找 XML Web Service (UDDI)。这些内容构成了一套基本规范,为应用程序的集成和聚合提供了基础。根据这些基本规范,公司可以构建实际的解决方案,并从中获益。

      为实现 XML Web Service,我们已经做了许多工作,但仍有大量工作需要完成。今天,人们已经使用 XML Web Service 取得了成功,但对于开发人员来说,仍有许多环节需要完善。例如,安全性、运营管理、事务处理以及可靠的消息传递等。Global XML Web Services Architecture 将通过以下方式帮助 XML Web Service 进入下一个发展阶段:提供一个一致的通用模型,以模块化和可扩展的方式向 XML Web Service 添加新的高级功能。

     上面提到的安全模块(WS-Security [英文] 和 WS-License [英文])就是 Global Web Services Architecture 规范的一部分。运营管理的需要(例如在多个服务器之间路由消息,以及动态配置这些服务器以便进行处理)也是 Global Web Services Architecture 的一部分,它们是通过 WS-Routing 规范(英文)和 WS-Referral 规范(英文)来实现的。随着 Global Web Services Architecture 的发展,还将进一步介绍满足上述需要以及其他需要的规范。

  • 什么是Web Service

    2009-03-16 11:20:47

    一、什么是Web Service? 
        Web Service是构建互联网分布式系统的基本部件。Web Services 正成为企业应用集成(Enterprise Application Integration)的有效平台。你可以使用互联网中提供的Web Service构建应用程序,而不必考虑这些Web Service是怎样运行的。
    二、Web Service 三个基本技术 

           Web Service通过标准通信协议,在互联网上发布有用的程序模块(以服务的方式),目前大部分是用SOAP来作通信协议。

    1       Web Service提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫作WSDL(Web Service Descrīption Language)。

     

           通常已发布的Web Service要注册到管理服务器,这样便于使用者查询和使用。这个是通过UDDI(Universal Discovery Descrīption and Integration)来完成的。 

     

    三、为什么要用Web Service

        Web Servcie最主要的优点是,使用不同程序和在不同系统平台上开发出来的程序,都可以相互通信。现在很多人在问:“不是CORBADCE也有那些优点吗?跟它们有什么不同呢?”。第一个不同点是,SOAP作为Web Service的基本通信协议,比它们简单地多,所以投入和使用的代价也是小的。现在不仅有很多大公司发布的Web Service,也有个人发布的。另一个不同点是,Web Service使用标准的互联网协议-XMLHTTPTCP/IP。很多公司已经从实践当中对这些协议积累了丰富的经验,所以相比CORBADCE要交的学费要少地多。
        如果把现有的应用程序以Web Service部件形式发布,可以帮助其他的公司(人)构件功能强大的应用程序。举个例子,你要开发一个采购系统,可以自动地获得供应商的报价,而且可以实时追踪送货过程。如果供应商已经发布了报价和送货这两个Web Service,那么你就可以直接使用它们,而不必自己开发这些功能了。 在未来,会出现更有趣的Web Service(现在做不到的),来帮助我们构建应用程序。51Testing软件测试网
    SOAPWeb Service的基本通信协议。因为SOAPDCOMCORBA在概念上有相同之处,所以很多人在问:“SOAP是怎样激活对象的?”或“SOAP在使用什么命名服务(Naming Service)?”。或许在执行SOAP的过程当中会用到这些,但这些并不在SOAP规范要考虑的范畴之内。SOAP只是定义SOAP消息的XML格式(XML Format),如果你用一对SOAP标记(SOAP Elements)把XML文档括起来,那么这个就是一个SOAP消息,这不是很简单吗? 
    
    怎样执行RPCRemote Procedure Call)。这些可选的规范是为了构建RPC-style的应用程序(客户端SOAP消息包含函数名和在函数中用到的参数,而服务器端SOAP消息包含执行函数之后的结果)。大多数SOAP解决方案都支持RPC-style应用程序,因为很多程序员已对DCOMCORBA熟悉。SOAP还支持Document-style应用程序(SOAP消息只包含XML文本信息)。Document-style应用程序有很好的灵活性,所以很多用RPC很难构建的Web Service用这种方式构建。 最后SOAP规范还定义了HTTP消息是怎样传输SOAP消息的。这并不代表SOAP只能用HTTP来作为传输协议,MSMQSMTPTCP/IP都可以做SOAP的传输协议。 很多大公司根据SOAP规范,都开发出了自己的SOAP解决方案。这些解决方案都是相对于某种语言。比如说Microsoft SOAP toolkit2.0COM函数转换成SOAP消息,而Apache toolkitJAVA函数转换成SOAP消息。这样难免带来一些兼容性问题。   现在SOAP的很多另人瞩目的特性已成为现实(SOAP已经运行于不同的硬件和软件平台),而且有70多个解决方案。之所以SOAP被人们所爱戴,是因为SOAP比其他同类技术CORBADCE)简单易用。安全性对于应用程序来说是很重要的。那么SOAP的安全性如何呢?对于把HTTP作为传输协议的SOAP来说是没有问题的,因为HTTP协议已经有很好的安全构架。那么用其他传输协议会出现安全问题吗?不是的,你不必担心,因为已经有这方面的规范了    WSDL是一种XML文档,它定义SOAP消息和这些消息是怎样交换的。IDLInterface Descrīption Language)是用于COMCORBA的,WSDL是用于SOAP的。WSDL是一种XML文档,所以我们可以阅读和编辑,但很多时候是用工具来创建、由程序来阅读。51Testing软件测试网
       
    举个例子,你要使用供应商的Web Service构建应用程序。你可以向供应商索取使用Web Service的范例,然后按照范例来构建应用程序。这样可能出现意料不到的错误,比如说,你在程序中使用的客户代码的数据类型是integer,而供应商使用的数据类型是string.WSDL详细定义客户端消息的格式,需要什么样的参数,这样可以避免不必要的错误。 
    六、UDDI 

        UDDI可以比喻成电话本,电话本里记录的是电话信息,而UDDI记录的是Web Service信息。你可以不把Web Service注册到UDDI。但如果要让全球的人知道你的Web Service,最好还是注册到UDDI 

        UDDI目录说明文件也是一个XML文档,它包括三个部分。“白页(White Paper)”说明提供Web Service的公司(人)信息,比如说名称、地址和联系方式等等。“黄页(Yellow Paper)”说明UDDI目录的分类,比如说金融、服务和印刷等等。“绿页(green Paper)”说明接口(Web Service提供的)的详细信息。 

       UDDI提供多种查询方式,来帮助你找到需要的Web Service。如果你查询与财务有关的Web Service,那么UDDI会提供详细的信息。

  • bugfree思想整理和使用注意事项

    2009-03-11 10:18:51

                            -----摘抄网络文章(hsz8250的文章

     

    BugFree是一个bug管理工具,重要的是掌握其中蕴含的软件研发的流程思想。能够记录每个问题的处理过程,不断的提醒开发者现在还存在的问题,不会丢失和忘记。对于软件可持续发展至关重要。

     

    在工作中,基本上都是和解决其他人提出的要求和发现问题,再提出给相应的人解决。

    使用BugFree,我们所有人都可以创建,指派Bug,或者改变Bug状态。

    过程大致如下

    1)当测试人员(美术和策划部门的人员在发现问题时同样算测试人员)发现问题就立即新建一个Bug予以跟踪并且指派给相关的开发小组长(Dev Lead)(例如,程序,策划,美术方面相应负责人)

    2)开发小组长判断这个Bug属于某个特定开发人员,并指派给他处理

    3)开发人员根据Bug的详细描述信息找到问题所在,修改程序或相应资源解决bug并且将bug返回给当初的测试人员;或者在有争议的时候,把Bug指派给这个部分的设计人员,要求一个澄清说明。

    4)测试人员(提出Bug者)在看到某个Bug被解决后,就需要去验证这个bug是否当真不存在了,根据最初的发现步骤去证实问题真的解决了,就关闭这个bug;若还能重现,或不同意开发人员的解法,可以激活这个bug,返还给当初的开发人员做进一步调查处理

    5)当测试人员和开发人员无法达成一致意见时,由对应的设计者出面做出协调,判断这个Bug的严重程度、对用户可能的影响,根据产品的进度和项目资源作出评估,是否真的需要修理掉这个进度(这种协调和讨论大部分将在一个相对固定的时间,如例会上进行)

     

    最后要强调两点
        
    第一:团队中的每个人发现问题时都可以创建个Bug来跟踪

    第二:不仅仅是软件功能上的Bug,其他各种问题,如需求文档(Spec)的改动,界面上的错别字、帮助文档的遣词造句问题,某项任务的指派等等

     

    Everything Should be tracked in this soft!”

    看了这到这里,我想起了听微软老陆讲的,在微软任何人都是qa,都会提交bug。

    注意事项:

         1.不能正确的改变Bug的状态

    一个Bug只有3种状态:ActiveResolvedClosed。实践中经常有不熟悉的同事通过“编辑”(Edit)来改变所有的状态,那是不合适的。正确的状态转换方法应该是:

    1.1某个状态自己到自己的改变,使用“编辑(Edit)”。比如一个ActiveBug,从一个人指派到另外一个人;

    1.2 Active -> Resolved 只能用“解决 (Resolve)”;

    1.3 Resolved -> Closed 只能用“关闭 (Closed)”;

    1.4 Resolved -> Active Closed -> Active 只能使用“激活 (Activate)

     

         2.  没有正确的设置项目/模块

             bug的时候没有选择所属的项目/模块,仅使用缺省的当前项目/模块。

    3.      没有正确的设置严重程度
       
    明确各项目中严重程度1234分别代表那些类型的缺陷,分门别类去设置。

    4.      不能正确的设置解决方案
       
    解决一个Bug的时候,一共有7种不同的解决方案。需要根据这个Bug的具体情况来设置。

  • qc9.0在windows2003sp2下安装问题解决

    2009-03-11 09:37:37

    这段时间老有人问起qc在windows2003上安装后jboss无法启动用qc检测工具结果如图:

    网络上查找下说的最多的就是8080端口的问题了,可是看到这个根本无法启动也没提示端口问题,因此猜想和安装过程有关系,正确的安装过程是:

    1.首先是安装前新建一个有超级管理员权限的用户,在jboss来登录时间填写这个用户名称和密码,而域如果没有的话就把本机的机器名称填进去。

    2.到了链接sqlserver时使用sa就可以,因此开始一定要选择sql认证而不是windows,当然使用集成windows登录方式也可以,不过用sa和密码登陆成功更高些,如果不用sa从新建立一个用户也可以的。让其有sa一样的权限就ok了。

    3.安装完毕后看看,是否能jboss启动!!!

  • bugfree在Windows Server 2003sp2+IIS 6+MySQL的配置过程4

    2009-03-10 14:50:22

    在进入IIS默认站点下查看虚拟目录的配置情况检查应用程序配置php是否已经指定了ISAPI模块,一般正确安装PHP这个都会正确指定,如果没有请手动添加如果没有,也没啥,如图配置后缀php的文件与php安装目录下的php5isapi.dll相关联文档中加入Index.php作为默认页,这是当然的

    如果点击确定,提示要添加括号,那是ms的翻译问题,只有用“”扩起来就行了。如图:

    目录安全性配置,当然要启用匿名访问了。

     

    2.       配置PHP

    修改PHP.ini文件,可以打开程序中的PHP文件夹下的PHP.ini文件,修改后保存到C:\Windows目录下(操作系统所在目录),因为配置文件默认是从系统目录下读取php.ini文件的。

    当然还可以建立一个测试页面,页面中写入

    <?php

    phpinfo()

    ?>

    保存为test.php,浏览器中输入http://servername/bugfree/test.php,正确情况下应该出现信息页面,如下图

    注意:Configuration File (php.ini) Pathphp.ini的存放路径。下面为session处理的方式files,保存的路径

    php.ini文件中可以修改此路径

    Php.ini中打开short_open_tag选项,设置On,否则可能会导致出现空页面

     

    3.       配置BugFree

    浏览器中运行http://servername/bugfree/install.php,正常情况应该出现选择语言的界面,如果提示会被提示:“File 'Include/Config.inc.php' cannot be found.”, 但是我们去Include/目录下面确实找不到叫Config.inc.php的文件,奇怪!!哈哈。。。再仔细看看,页面好象有提示哦~ --“You can manually copy a new Include/Config.inc.php from Include/Config.Default.php.”, 再看,Config.Default.php也没有。不过有个叫Config.inc.Sample.php的,貌似长得很象!~ let me go...
       (1)Copy
    一份改名为Config.inc.php

       (2)
    修改文件中的$_CFG['DB']['Password'],密码为root的登陆密码。
       F5
    刷新IE发现那个错误提示没了!


    7.
    系统提示没有创建bugfree2数据库,点击创建数据库,提示数据库创建成功,点击继续安装,出现登陆页面。用户名admin,密码123456

    四、测试运行

    登录前先把bugfree目录中的install.php删除掉,index.php,正确的话出现

    用安装时设置的admin帐号登录测试。

     

    五、特别注意

    一般的问题集中的地方

    1  Iis的扩展服务里面没有php需要添加

    2.  ISAPI扩展没有允许导致无法访问

    3.    修改的Php.ini文件没有保存在Windows目录下导致修改总是无效

    4  没有修改Php.ini文件中关于session保存路径的修改;

    5  没有设置保存session文件的路径对IUSER帐号的可写权限

  • bugfree在Windows Server 2003sp2+IIS 6+MySQL的配置过程3

    2009-03-10 14:28:31

    最好      安装BugFree

    其实BugFree没什么好安装的,解压缩到一个目录下就可以了,我这里解压缩到Inetpub\wwwroot\bugfree里了。因为我们的iis虚拟目录全在这下面,我们也就不再乱建了。

    以上是安装部分,是不是很简单,,不过看下iis是否有php的扩展服务,有恭喜你,太幸运了!没也没啥,就添加一下:如图添加就可以了。首先要在IIS中的Web服务扩展中查看ISAPI扩展与PHP是否都已经设置了允许,当然PHP默认安装情况下是允许的,ISAPI扩展不一定所以一定要开启,否则肯能出现HTTP 403错误。

    其次要建立对bugfree的目录做些设置,首先设置Web共享如图:

    然后进入bugfree目录建立一个tmp的子目录这个是用于存放session值的,php的默认配置把session值保存到指定目录中,这里要注意tmp目录要对IUSER有可写的权限,否则会出现只能看到登录页面而无法登录的情况。这里tmp建立在那里都无所谓,只要和你php.ini配置中指定的位置保持一致即可如下图:

  • bugfree在Windows Server 2003sp2+IIS 6+MySQL的配置过程2

    2009-03-10 14:13:49

    继续安装..........

    2.安装PHP

    运行php-5.2.9-win32-installer.msi开始安装,整个过程非常简单,下面我们就以前看下:

    选择next go

    紧接着看到:

    没啥说的只能同意了:

    然后看到下个图:

    这一步一定要选择选择IIS ISAPI的模块,这是必须的

    点击next看到下图:

    这时间一定要选择mysql,mysqlsl和

    然后就会开始安装一会看到:

    php

     

    安装完成

     

  • bugfree在Windows Server 2003sp2+IIS 6+MySQL的配置过程

    2009-03-10 13:55:04

           BugFree简单介绍:BugFree是借鉴微软的研发流程和Bug管理理念,使用PHP+MySQL独立写出的一个Bug管理 系统。简单实用、免费并且开放源代码(遵循GNU GPL)。实际上网上有很多的BugFree系统的配置教程,主要都是Apache下的配置方法,在Windows Server 2003sp2+IIS6上的配置介绍比较少,图解就更少,对应刚刚接触bugfree的人员说这是很值得下的。好了,下面我还要介绍用最简单快速的方法配置,尽量减少修改配置文件。

    一古人有言:“工欲善其事,必先利其器”下面是安装过程中用的程序:

    1.       BugFree,可以去官方下载http://www.bugfree.org.cn/ ,我这里采用的是bugfree2.0.3最新的

    2.       PHP支持,IIS本身并不直接支持PHP,需要添加对其支持,可以去官方下载http://www.php.net/ ,我这里采用的是php-5.2.9-win32-installer.msi

    3.       MySQLBugFree采用的是MySQL数据库,可以去官方下载http://www.mysql.com/ ,我这里采用的是mysql-essential-5.1.30-win32.msi

    二开始安装了

    1.MySQL安装不复杂,网上也有很多教程,这里就不再贴图了,可以参考这个安装配置过程http://tech.163.com/06/0206/11/299AMBLT0009159K_3.html注意一定要记住安装时设置的root帐号的口令

  • HP QTP10.0“破解”使用

    2009-03-09 12:54:01

    本来想HP会把QTP10从新加密,原来的破解就不行了,在卸载了9.2以后安装上新的10.0没出现14days时间限制的提示,,看来HP还是老大,有气度。只是插件还是只能使用14days。
  • 延长qtp10.0的使用方法

    2009-03-06 17:35:10

    想学习qtp的,但插件只能用14days,只能动动脑筋想办法延长了,破解水平还不够

    1、注册表回复法,安装了插件后导出注册表,只要这个插件如果又过期了,导入先前导出的注册表就可以了,当然为了保险,还可以选择修复一下注册表文件夹什么的。再次打开QTP10.0,呵呵,熟悉的13 DAYS 23 HOURS又回来了.

    2.虚拟机回复法,在虚拟机上安装,搞个快照,过期了就回复过去,呵呵

    3、还原大法(转网络)

    这个其实很麻烦,但是是最有效的方法。第一次安装QTP95包括插件以后,使用系统还原创建一个还原点,等到插件快过期的时候使用还原点插件又可以多用13天,比较麻烦的就是

    系统时间一定要改成创建还原点时的时间,且C盘的系统还原不能关掉可能会占一定的硬盘空间;

    3、选装插件法:(转网络)

    这个方法是无意中发现的,默认安装QTP10的时候有11个插件默认是全部安装的。其实不必,只安装自己需要的就好了。然后等到插件快过期的时候再新装一个插件,再打开QTP,所有已安装插件的使用日期又变成13天了。。呵呵,加上现在新出的一个DELPHI插件,总共有12个插件,平常可能用的最多的就是。NET、JAVA、WEBSERVICE这三个插件吧。
    那么剩下9个插件要是分别安装9次就可以多用将近4个月,呵呵。

  • 测试人员主题思维方式

    2009-03-06 14:47:07

    测试人员的思维方式是逆向思维,扩散思维。想别人想不到,或是想到了认为不可能的发生的。逆向不只是反着想事情,还要在反的方向上发叉,进一步扩散思维。

    一句话:测试员应该是用用户的眼光看软件,用开发的眼光开bug。

  • 转帖QuickTest文本识别机制

    2009-03-04 13:40:00

    如何用QTP解决图片验证码(解析QuickTest文本识别机制)?

    上一篇 / 下一篇  2008-10-10 19:24:18 / 个人分类:原创文章

    查看( 3494 ) / 评论( 24 )
    本文出自songfun的51Testing软件测试博客,转载请保留出处及链接:http://www.51testing.com/?songfun
    "E ~4u#lI-l5052751Testing软件测试网:NN*A`8uCT%w%@:bz
    大家在使用QTP进行自动化测试的过程中经常会遇到图片验证码的问题——大家所关心的就是如何解决此类问题。51Testing软件测试网3G9D7}xhvEL;u
    这里我们首先要去了解为什么会有图片验证码。其实验证码的本质作用就是防止有人利用工具(灌水机、注册机,当然也不小心包括了我们的自动化测试工具)恶意猜解登陆或者不停的注册和灌水的。因此如果我们完全寄希望于通过GUI识别来获取内容是不切实际的——先打好预防针,免得读者希望太大,失望更大,呵呵!51Testing软件测试网'C`$] Q3U,~QDV
    下面说说验证码的解决思路:51Testing软件测试网7Mo/w9^-f+U
    其实解决图片验证码的思路有很多,我这里主要结合QTP9.5的新特性给大家介绍其中一种解决方案,就是利用它的OCR机制抓取文本内容。
    8c%tOZ?h/e50527在QTP9.5中,对象识别能力有了进一步改善,其中针对文本识别方面进行了优化,引入了ABBYY公司的OCR解决方案——这个相关的功能体现在QTP菜单的“Tools-->Options-->General--Use text recognition mechanisms in this order”里,详细内容后面会有具体介绍。
    -g r4})]8\+Nv50527先来看看ABBYY是何许公司,登录他们的官方网站可以看到一段相关介绍:“ABBYY是世界OCR(光学字符识别)、ICR(手写体识别)和语言软件的领航者。ABBYY 致力于人工智能(AI)和语言软件开发。提供全套文档识别,转换和数据捕获技术的产品解决方案。”如果你使用过图像文档转换的软件,一定会听说过FineReader OCR Professional ,其实它就是ABBYY公司的产品,用官方的说法就是“将通过扫描仪、MFP 或数码相机生成的图像快速转换为可编辑和可搜索的电子格式,而且识别率很高”,说白了就是可以借助它先进的OCR机制“读”出图片里的文本内容,并转换为PDF之类的文档。51Testing软件测试网n t |#xX&\.c R
    有了ABBYY这么强大的背后支持,QTP自然底气十足,那么QTP到底如何以OCR机制识别文本呢?我们首先先了解一下什么是OCR。
    ;os {z.s%H7H50527打开“百度百科_OCR”,它的说明:“OCR(Optical Character Recognition,光学字符识别),是属于图型识别(Pattern Recognition,PR)的一门学问。其目的就是要让计算机知道它到底看到了什么,尤其是文字资料。 由于OCR是一门与识别率拔河的技术,因此如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也因此而产生。而根据文字资料存在的媒体介质不同,及取得这些资料的方式不同,就衍生出各式各样、各种不同的应用。”这里有个关键词:“正确率”,也就是“识别率”——既然不能够总是100%,我们自然不可能完全寄希望于通过QTP能够每次100%正确的去识别图片里的文本。尤其是“道高一尺魔高一丈”的今天,验证码加入了大量的干扰素,如扭曲、变形、错位、随机背景花纹,给OCR识别增加了很多难度——本来就不希望被软件识别到嘛。
    j9`6v cP2@50527
    nlsf9||50527本文出自songfun的51Testing软件测试博客,转载请保留出处及链接:http://www.51testing.com/?songfun51Testing软件测试网g,v^!~+m+]G.Z
    51Testing软件测试网WN#`n'M1m
    T z{D_"f s50527了解了OCR之后,我们再来看看QTP对应的这个设置。如前面所说,通过QTP菜单的“Tools-->Options”选中到“General--Use text recognition mechanisms in this order”,这里的四个选项就是对应的不同设置。我们看看帮助的描述(我做了翻译):
    m(p+g hY50527=================================
    ] A` ?N50527使用文本识别机制51Testing软件测试网T0fW ?$IvK

    8] xlD*E0T50527指定QTP在采用 “文本”或者“文本区域” 的 检查点或输出值 的步骤时,捕获文本内容所使用的文本识别机制。51Testing软件测试网lUy$oC z
    以下有三种识别方式:51Testing软件测试网 Bl-J#cI5P:y*su
    1、先使用Windows API,再使用OCR(默认)。
    [G9[@E8i {50527    指示QTP首先尝试以基于Windows API的机制从对象上直接获取文本内容。如果未获取到文本(比如,文本属于图片的一部分),QTP就会使用OCR的机制尝试获取这段文本。
    ^6e6|)m l#v50527    强烈建议在使用中日韩(象形文字)、英的语言环境下采用这个设置。51Testing软件测试网 k~JT{v^y'U

    $e6O\-w dB?){*Y505272、先使用OCR,再使用Windows API。
    V'O#Mh.H sz9z50527    指示QTP首先尝试使用OCR机制从对象上去获取文本。如果未获取到文本,QTP就会以Windows API的机制去获取文本内容。51Testing软件测试网9w\2Hm4~RBY

    [0U p@(X1puL_.A505273、仅使用Windows API方式。
    5b DHcO;Ji)_50527    指示QTP仅采用基于Windows API的机制从对象上获取文本内容。
    B5[dF{s3Q0k UC50527
    8YLm6L/F&C;{:}505274、仅使用OCR的方式。51Testing软件测试网)]`"V$\6K)eT
        指示QTP仅采用基于OCR的机制从对象上获取文本内容。51Testing软件测试网Ny8f#?f)?S'EV
        在使用Windows Vista要使用这种方式。51Testing软件测试网8ZQA]zIP4G
    51Testing软件测试网 yq,fdE\ Eh4Qq
    =================================
    b.H{,YO j#Krl50527本文出自songfun的51Testing软件测试博客,转载请保留出处及链接:http://www.51testing.com/?songfun
    -Bdi/P+~ rA*x5052751Testing软件测试网WN#`n'M1m
    c g[:Ym%Bxf50527上面的内容已经解释的很明确了,接下来我们通过TextArea Output Value看看效果。
    x'yB3f6th5052751Testing软件测试网7] i$v\F-_-y
    如下图所示,QTP针对几张图片的识别效果:51Testing软件测试网Y1B H(h { E'K P'z[ r
    (一)、内容是51Testing的,QTP获取正确;内容是51Testing的G风格彩字,QTP获取错误(显示为IC_CHECK_PATTERN)
    b9l6g:X2i \ m50527
    Rz#c;Fj)o-U5052751Testing软件测试网w,Ty ARM
    51Testing软件测试网 g7oM"a B'}r
    (二)、内容是songfun的普通文本,QTP获取正确;内容是songfun的G风格彩字,QTP获取错误(也显示为IC_CHECK_PATTERN)
    -XLSMP'HeLZZ&k5052751Testing软件测试网a.N.HUm'M(M.z
    51Testing软件测试网2Uyh.y(ve%~J

    .uT T5q"y)@'r5052751Testing软件测试网+K(FtO6e1G
    有兴趣大家可以自己做一些图片,甚至可以用QQ的验证码图片来试验一下,看看OCR效果。51Testing软件测试网ttVgx T
    51Testing软件测试网)w5Ju FFP I n
    本文出自songfun的51Testing软件测试博客,转载请保留出处及链接:http://www.51testing.com/?songfun51Testing软件测试网-K)}$Jc+E9C)XGT wt
    51Testing软件测试网WN#`n'M1m
    jf$l:K B3PR E50527

  • 测试用例设计工具CTE XL 1.8下载地址

    2009-03-04 11:21:16

    http://www.systematic-testing.com/

    下载安装完成后点击cte图标进入选择iagree转到注册页面输入你的名称公司和信箱,注意信箱一定要是自己有权限打开的,必须选择下面的单选框,点击get lincense by link,然后到邮箱找到注册码,即可。选择第一中注册也可,通常防火墙会阻挡。

241/212>
Open Toolbar