熟的软件测试是确保软件质量的一种重要手段,自动化测试技术的出现,对于提高测试单位绩效比起了重要作用,被广泛应用于回归测试中,但是由于被测试系统的不确定性和复杂性,使得软件自动化测试变得异常困难。本文基于商业工具结合实际项目,分析自动化测试实施期间出现的各种问题,以提高大家对自动化测试项目的真正认识与理解。

现在自动化测试工具很多,商业的或者开源的,以对象识别为基础的或者以语言特性为基础的等等。在挑选的时候,首先我们要明确被操作软件的范畴和特性,可预知风险,培训潜在成本及是否具备被虚拟化等一系列问题,这些问题可制成标准检查列表,以便确定一个解决一个。在本次自动化测试实施中,首先可知的是被测试软件属于行业金融软件,使用Borland C++Builder语言开发,测试范畴锁定在软件前台需配对后台数据验证,前台由RedHat Linux服务端、自研发中间件和Oracle数据库支撑。一般来说,这种软件应用架构比较清晰,但是GUI层使用了大量的非标准第三方控件,有可能会导致部分对象无法捕获造成实施困难,所以在进入真正的实施前作充分、快速的实验性评估是非常重要的。

职业化的自动化测试团队,应当非常熟悉当前主流的商业或者开源测试工具,这种团队的定义是:技术让位与成本控制,快速实施且能快速递交,精确控制每12周为一周期,项目延时误差小于2天。考虑到脚本会被移交给其他团队执行,所以我们选择了目前在国内应用范围比较广、相关技术资料比较丰富的HP Winrunner和HP QuickTestPro。第一个被评估的是QuickTestPro 9.5版本不带任何插件,结果大量的GUI对象无法被捕捉,不能捕捉意味着不能被操作,所以团队快速转换到Winrunner 9.2版本不带任何插件,实验结果是基本可以正确识别和捕获我们所要操作的GUI对象,满足了对工具的需求。其实QuickTestPro 9.5版本带Delphi插件也可大大增加捕获率,但是使用插件违反了团队定义的工具应用管理规范,也不符合“有对象即可操作”的强硬编程作风。

在工具定义后,需要立刻选择2组典型业务进行试验性测试,这时需要业务专家和脚本专家一起工作。带GUI界面软件测试用例的设计核心问题是:需要精确区分正常测试用例和异常测试用例,按照先异常后正常的实际执行方式,组织最终的测试数据存放关系,一般合适的比例控制在异常75%—正常25%范围内。脚本专家需要快速处理对象识别库,如果涉及到重定义则需要在指定文件中加以注明,因为这部分工作可被复用到后续的项目实施中,避免造成人力成本重复投入。通常实验性阶段主要产生的问题是:




  该阶段是否会产生脚本框架?答案是否定的,首先自动化测试不一定要有框架,框架产生的唯一目的就是牺牲一部分脚本性能,而对测试数据进行高效、有序的管理。不过在试验性阶段可以考虑这个问题,如果框架是个平台,那么我们可以在这个平台上放置一些我们需要的单位脚本性能监视器或者其他一些东西。由于Winrunner的描述性编程机能不够,那么在后续正常项目实施中,框架更多被定位于为可测量、可伸缩、可动态、可智能解析测试数据的执行管理。


  该阶段是否需要考虑测试数据存放问题?答案是否定的,没有必要浪费太多的时间在这种地方,一个文本文件或者干脆不要文件的数据存放形式都可以,关键是成本。

  该阶段对于人员的要求是什么?答案是人员需要精干,一个业务专家,一个脚本专家,一个统计专家足够,自动化测试实施非常注重绩效比,绩效比不够根本没必要执行后续的项目,你必须通过实验性测试得出一个准确的结论,就是重复执行多少次脚本,总绩效才可以由负转正。

  该阶段是否需要考虑环境的问题?答案是的,在这之前就应该安装好虚拟系统了,如果脚本专家的一边开着即时通讯工具一边录制脚本,我们认为这是非常不专业的。系统环境的清洁程度如同医院的手术室,需要提前对各种必须的软件(例如杀毒软件,网管软件等)做好适应性选择,有干扰的,或者影响系统机能的坚决卸载掉。

  该阶段的硬件是怎么规划的?前端的测试主机需要有同时承受开2—3个虚拟系统的准备,不能产生明显的切换和操作停顿甚至系统假死。虽然32位的Windows XP系统不支持4G物理内存,但是经验告诉我们内存容量多多益善,至于CPU和显卡处于正常水平即可。后端使用的硬件需要稳定,因为不是性能测试所以不作太多要求,一切为了成本。

  该阶段的管理模式和输出是什么?答案是没有太复杂的管理模式,实验性评估一般都会在1周内被关闭,唯一重要的就是实施评估报告,报告内容大致包含:周期定义、工具定型描述、应用软件描述、系统框架描述、可能采用的框架描述、可能递交工件描述、可加入业务列表、预测脚本规模、可实施技术分析、评估人/时分析、预测实际人/时分析、评估脚本价值、预测实际脚本价值、可能遇到的问题警告等,这些条目都必须一一做出详实而且准确的描述。



实验性评估结束后,需要确定自动化测试实施项目的时间及周期里程碑,我们采用12周为一个周期里程碑,快速发布快速递交的方式以确保整个测试项目的实施成功。在开始的1周内,管理专家需要快速定义对象控制表、项目跟踪表、需求跟踪表、周/发布项目进度、日/问题跟踪表、配置管理须知,脚本专家需要快速定义代码规范、脚本设计维护手册、数据作用说明及填写规范,环境专家需要快速定义虚拟环境配置手册、维护与复制手册,培训专家需要制定实施阶段课程培训体系等,专家都是角色可复用,工作都是实打实的,需要认真对待,缺一不可。

我们通常将项目在快要接近380个可操作对象或者脚本代码接近25000行的时候称之为一个“混乱点”,之所以称为“混乱点”完全是这种项目执行过程中的必然现象,如同飞机速度超过音速时产生的音障一样,正确的对待和处理有助于后续项目实施的健康成长,否则后果不堪设想。




  经典问题一、文档混乱了。这里的文档混乱并非指文档丢失、残缺或者缺少维护这些低级错误,事实上这里的文档混乱是多个文档内产生了部分内容相同的冗余数据,且这些冗余数据在可控制范围内。“冗余即懒惰”,所以对应的解决方案就是将所有文档转交EPG团队,由专人看管做日终处理,只要不增加本团队的成本我们是非常乐于这么做的。

  经典问题二、培训热度过高。为了确保脚本周递交转移速度,我们在每周末需要对接应团队做一定培训,很多人(非合作团队)都想增加自己在这方面的知识,所以原来的2小时培训时间被延长到4小时,原来一场25人小团队培训被扩展为二场各180人的培训,很累。直接造成的后果就是很多人要内部转岗来我们团队,这也违背了“简单既是美”。

  经典问题三、脚本的增加突出了性能的缺失。一旦对象突破380个(不包含描述性对象),脚本突破25000行(不包含注释及空行),不优化,那么在一台机器上的综合运行时间超过了4个小时,所以对代码优化的工作在后续几周的实施中急待解决。对于脚本性能调优,需要综合考虑语言特性、数据结构、外调和对象识别处理,这里需要对TestPackage – TestSuite – TestCase的组合模式进行事务级的时间分析,精确到毫秒。调优的处理有多种,每个团队的方法各不一样,经过综合处理,现在我们能做到35532行脚本、451个对象、37个虚拟对象,合计78个综合处理包全部一台机器上运行,时间可控制在2小时之内。继续压缩时间的资源投入大于产出,这不符合成本控制团队的初衷,所以最终放弃。


  经典问题四、原来工具的函数有BUG。实际上大规模的代码运用对测试工具本身也是一种考验,一切软件皆有问题,随着时间的推移会逐渐暴露出来。我们发现了测试工具部分函数的会在某些特定环境下出现问题,所以替换这些函数是非常必要的。替换的方法是,使用第三方开发工具(例如VC)开发出可被脚本直接调用的函数(例如各种动态库技术),以替换原自带问题函数,这样既增加了整体代码的稳定性,又提升了团队的研发能力。例如Winrunner偶尔出现的菜单丢失的问题,都可用自研发函数给予解决。另外测试工具本身提供的语言也可能存在某些局限性,所以测试团队具备自我开发能力也关系着项目是否能被顺利实施。

  经典问题五、脚本不动了。实际上这是最让人讨厌的问题,可能涉及的方面非常多,例如系统交互、网络环境、本机环境、软件冲突等等,我们总结了一条处理该类型事件的方法,先排除系统本身,排除干扰软件,再分析比和对卡死位置数据,最后分析脚本本身,例如我们发现部分问题跟字符处理函数有关,这对提高脚本本身的健壮,提出了很高的要求。



项目进行到距离里程碑最后一周,大部分的问题列表需要被提前被关闭,相关递交工件需要被整理评审,脚本经过验证被最终集成转交,这里都需要配置管理来提供良好的控制环境。必须指明的是,日脚本构建和测试是贯穿整个项目周期的,这种做法能使脚本的开发状态得到频繁的更新,以及尽早发现设计和集成的缺陷。为了充分利用时间与设备资源,夜晚21点后,脚本的自动执行测试(这里多数指的是系统测试或回归测试)是一个非常行之有效的方法。一切都顺利的话,等到第二天上班时,测试结果就已经在相关人员的邮箱里面了,通过这份报告,你可以知道那些脚本是必须修改的,如果不太清楚还有一份更详细的截图列表辅助定位,准确告诉你当时软件究竟出现了什么现象导致了问题的产生。

最终该项目第一阶段在12周且延长6个小时后被准确的关闭,并且通过了严格的部门验收,6人参与到这个项目中,合计2916个有效工作时。经过计算每行代码价值为1.77元,总的来说还算是成功的,那么接下来第二个阶段里面,我们能否将每行代码价值控制在1元以下,请各位拭目以待。




后记:本来这篇文章是打算放到杂志社发表的,未果,所以发到Blog上来,聊胜于无。
[/size]
Tags:

我做的SilkTest扫雷

[不指定 2008/12/28 14:44 | by Fastpoint ]


打开有点慢,直接 http://www.tudou.com/programs/view/dYsGGX9YfQA/
昨天问班上的几个学生,问他们以后的人生规划是怎么样的?有什么样的想法和计划?大部分学生都显得很迷茫,反正差不多都说走一步看一步云云,基本上属于比较正常的、典型的绵羊心理。有一个学生说他要花2年的时间全心全意的扑在技术上,准备吃大苦的精神。对于这样的话,10年前我是非常认同的,而现在我会非常的愤怒,选择可能是对的,道路绝对是崎岖、黑暗的。我作为一个学院老师,除了教授学生正常的技术技能避免他们还没走上社会就被淘汰之外,必须还要转变他们部分不正常的人生观,以免当他们绝望的时候出现意外。

大部分的IT人加入职场前的良好意愿都是错误的,你贫穷、你被轻视都是自找的,只要你还保有那一种顽固的思想:只要技术练好了,我也就出头的。我先锻炼几年技术,等出师了岂不是海天任我游。我要好好学好英语,争取有机会去海外部工作等等。大部分人总是天真的以为技术是拯救自己脱离苦海的稻草,大错特错。

成为我,就要讲讲我。

2000年8月我来到杭州,下了东站,一个包,全部身家1000多点,等在蒋村安顿好,手里就剩下不到20元,那时举目无亲。所以找到一份合适的,能立刻上手的工作是最迫切的,所以我开始漫天撒网的联系杭城IT单位。第一天接到3个offer,第二天接到2个offer,第3天睡觉休息,第4天开始上班。从第一天开始我觉认为,口才和流利的推销技术才是人生必须具备的第一要素,一双诚实的眼睛则是人生必须具备的第二要素,因为来之前我只是一个PB的程序员,这个单位需要Java程序员,但是我说服他我不存在任何转型障碍,他也很自然的给了我这个offer,事实证明在后续的一周内我飞快的敲键盘写Java代码的时候,唯一浪费的钱财就是买了一本《think in java》。当时月薪4750元,差不多了。

快速的暗道学习能力是人生必须具备的第三要素,我的学生经常会问我一些简单的、复杂的问题,我也许会选择回答或者直接把他骂一顿,我总是跟他们说:Google上面都有,当你什么时候学会使用它的时候,我才会把你放入危险地社会中。他们很乖,慢慢的开始不再问我了,当我看到他们通过网络越来越娴熟的解决一个又一个的问题的时候,我觉得这是成功的。不过碰到一些确实很难得问题,我们会在一起开个座谈,省的到时候学生投诉我,哈。节省下来的时间,我可以依靠在窗栏上,看那些幽雅漂亮的艺术系女生。

好的,这下你知道你需要锻炼什么了,此外这也是我为什么特别不喜欢别人叫我技术专家的原因。回过来说,积累技术是愚蠢的,积累独立的财务运作和后续个人发展绑定才是正确的。原因在于,中国首先就是不是一个尊重技术的国家,本质上我们现在对技术人员得承认还不如清朝末期,再加上国内技术人员喜欢相互斗法的历史原因,积累技术就是积累自杀。

财务是每个人的生命线,特别是现在这个非常时期,我所知道的认识的人大多数都是房奴,这让我想到2003年,我也是标准房奴的一份子,每月的工资70%上缴银行。当时过于贪婪,房子买大了,所以...。后面在单位出了一件非常有趣的时候,有个同事那天突然要借钱总数大概2000多,当时我想都没想就把钱包中唯一的一张100元借给了她。不过后面的事情很有趣,很多同事盛传我是全公司唯一一个出门在外钱包中只有100元的男人。第二天早上,一张100元默默地夹在我桌上的书本里,奶奶的,那个同事都不说声谢谢我,哈。当天我独自在公司天台上抽烟,抽了3根后我找到了为什么会这样的原因,我当时挺难过的,为什么发现这条真理晚了3年,唉唉哎。

学会自省是是人生必须具备的第四要素,健康良好的独立财务能力是人生必须具备的第五要素,所以从那以后我基本上经常请假出去上课,企业的、培训机构的,最夸张的一次是应峰的要求去上海上课,在单位连续请假1个月半,工资照发,也没开除我,这里我就不写什么原因了,隐含的第五条人生必须具备的要素,结果是一年内还完30万按揭贷款,总算轻松了。当年唯一赔本的就是写了那本书,没赚到银子,花的时间还挺长,回报率是负数。

人生必须具备的第六要素就是蟑螂精神,那年赚钱是快,但是环境也异常恶劣。晚上上线到凌晨3点,回家拿上行李直蹦火车站坐4:20的过路车去上海,也是那个时候我学会了如何站着睡觉,另睡觉得时候换能保持敏锐的触觉保护我的行李,学会了如何和各个层面的人打交道,包括骗子、小偷、吸毒的,总的来说过路车就是个大学也未尝不是。早上6:30到上海站,打个黑车到机构,然后开始站着上课一直到下午5点,回宾馆直挺挺的倒在床上睡觉,反复N次。所以这也造成了一个副作用,我对自己的时间计算的很精确,这也是为什么我可以允许自己浪费别人的青春,但是绝对不允许别人浪费我的青春,曾经有此有个但耽误了我5分钟的时间,我就永远的跟他说:滚!!!哈,偏执不是一日养成的。

当这些over的时候,我永远跟单位beybey了。

其他的就是永远保持幽默的心理,适当的讲黄色笑话,和谐的捉弄别人,如同你们看到我那样。不过前段时间有朋友说我比较色情,这个有待考证。没觉得自己有多色情啊!!!这是污蔑!!!!!


Tags:
最近经济危机,原来开大奔,现在开QQ。原来大办工作,现在到旧货市场淘旧货。原来顶级商务写字楼,现在到民居凑合,苦啊。为此,本着再苦不能苦精神这一说,我将我们公司最近发生的一些言论暴露出来,请大家一定要往坏的地方想,出场人物介绍:

卡卡、标标、达达和FP

----------------------------------------------------------------------------------------------------------------------------
近日够寒冷,据说标标中标,午饭后抵达公司,顺带着一盒泻立停,晚饭前夕,标标表示强烈的上厕所意愿,于是乎:

FP:马桶不太通畅,不要来硬的
标标:我这绝对是稀的
卡卡:来硬的,自己吸出来
达达:......

FP:等下晚饭研究一下为什么公司马桶最近老是发出奇怪的声音问题
标标:老大,不是我干的
达达:老大,我怀疑有人早上喝三路奶粉
卡卡:标标,你今天喝了没有
标标:我只喝雀巢

(哗啦,冲水)

标标:老大,冲不下去了
卡卡:自己吸吧
达达:......
FP:自己想办法解决,给你5分钟时间,不管你用什么方法,再不破坏马桶外形的前提下处理完毕,现在倒计时

(折腾,折腾)
卡卡:估计使用了很多卫生纸
FP:这个......明天规定,每个员工只能用1张卫生纸如厕
达达:老大,我......
FP:准你两张,跪安吧
卡卡:你可以把一张搓大的嘛
达达:搓大?
卡卡:晚上来我家,我教给你
达达:......

(折腾,通畅了,大家去吃饭)
FP:晚上,咱们讨论什么?
卡卡:(脸都绿了......)
达达:(脸都绿了......)
标标:(脸都绿了......)

Tags:
特别从网络上下载了坏爸爸花妈妈语录行为手册:

家长毁掉自己孩子的7个方法

首先应该做的是摧毁孩子的自尊,将孩子贬到卑微的地位上.具体方法有这样几条:

1,让孩子觉得自己什么都不行,没人赏识他.例如学习不行,长相不行,交际不行,干家务不行,马虎,粗心,让家人为他受累……总之,他没有行的地方.

2,经常拿比他\"行\"的人刺激他.例如这种话要时常挂在嘴边:\"看人家××,从不让父母操心!\"这类话最具打击力和摧毁力,是毁孩子的王牌语录.

3,父母把自己塑造成为家庭牺牲者的形象,这样会使孩子产生罪恶感.而一个有罪恶感的人往往采用自暴自弃的方法度过一生.具体方法举例如下:经常告诉孩子,自从有了他,你连电影也没看过,你为他操碎了心,都累出病来了,最好再具体说出你身上的哪种病是由于他造成的.或者说,如果不是为了照顾他,自己早就在事业上有大发展了.

4,和孩子说话时口气决不能和蔼,切不可使用商量的口吻,一定要使音量达到70分贝以上,一定要使用命令式的口吻.如果还能配合一些挖苦讽刺的汉语词组,则效果更佳.如\"你真蠢\"\"你混\"\"没见过你这么傻的\"\"怎么生了你这么个东西\"等等.

5,孩子的一切要由你来决定,切不可给他一点儿自由,他的行踪你要密切注视.他如果有日记,一定要设法查看;他如果有信件,一定要审查.这样做能在他心里造成他不是人的感觉,造成他是一个受人操纵的木偶的感觉.一个怀疑自己不是人的人是绝不可能奋发上进的.

6,要学会迁怒的本事.单位上遇到不顺心的事,回来后要想方设法找理由给孩子泼狗血.无论什么事都归功于孩子的过错然后教训他,并制止他流眼泪.这样做可以有效地打击孩子的自尊心,增强孩子的自卑感,同样可以造成他不是人的感觉.

7,当众出孩子的丑.前6条都是在家庭里的\"单练\".真正要彻底毁掉他,这第7条才是杀手锏.你一定要当着外人(或同学或亲友或邻居)损他,贬他,让他无地自容.从心理学角度讲,这样做能使一个人产生惧怕社会的心理,产生自惭形秽的念头.而一个惧怕社会和自惭形秽的人是很难立足於社会的.
    
您掌握了以上7条,就基本上可以毁掉自己的孩子了.当然,还得在实践中不断总结经验,做到运用自如,这样才能将你的孩子彻底毁掉,使他终身一事无成.

ByW,我发现当年我爸我妈这些招都用上了,嗯......果然是“粗暴爱”一代啊,所以,对付我们家“小豆人”可不能这么干,要热情洋溢的赞美他,喜欢他,拥抱他,即使他拆了我的电脑、我的手机、我的PSP,我依然要面带笑容的鼓励他,哎,小的时候被父母“虐待”,自己成了父母了被小人“虐待”,我们这代人啊,感慨。

另,附上我兄弟的一些语录:

咱们这代人,没被打残废的各个都是精英。
咱们这代人,当时那个苦啊,看个《少女之心》都被关到局子里去了,你看现在,弄张AV跟玩似的,你再看那些女的,整个一动物世界,羡慕啊。
咱们这代人......啥都别说了,干了啊,不干是孙子。
咱们这代人,碰上的都是极品,结了婚发现还有更极品的。
咱们这代人,哎,那天去性保健商店全身围得严严实实的,买个套跟做贼一样。一回头来了个中学生模样的,“老板,来盒杜蕾斯,要螺旋型的”,惊啊。
咱们这代人,还没摸清楚80后思想情况,90都出来了,落后啊。
咱们这代人,你说小学学的什么乱七八糟的,思想品德,我Cao,当时我还真信2000年都能做会飞的汽车了。
咱们这代人,就业没有章法、失业没有套路,做了老板了,税还交的不少,白活了。
咱们这代人,看到美女,你要说心里没想法那是不可能的,但是咱们说不出那赤裸裸的“干”,毕竟党教育多年啊。
咱们这代人,啥都不说了,DG啊,借我点钱,200,等攒足了私房钱就还给你,昨天被媳妇抄家了。
咱们这代人,全都是扯淡。

全当一乐,我最喜欢的兄弟,我的室友兼XX公司小买办同志的语录,一个高尚生活低俗精神的人,就从着我们两大学的时候爬女生宿舍墙头,人品就不咋样。
Tags:
分页: 1/24 第一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下页 最后页 [ 显示模式: 摘要 | 列表 ]