岁月静好,现世安稳!

发布新日志

  • 智能手机平台粗略概述

    2009-12-24 11:04:36

       

        已经许久没有关注过软件行业,更没有关注过智能手机开发平台这个领域了。为了不让自己的大脑退化抑或僵化,我还是抽出点时间有事没事的时候,关注一下智能手机平台的发展吧!

    【Kjava简介:】

        第一次认识Java好像是在2001年吧,旁边坐着一位搞开发的工程师,他的桌子上就放着厚厚的一本Java书籍。(当时的感觉就是:为什么计算机书籍都是那么厚,现在明白了,好象代码占了很多地方,^_^)记得,他告诉我说,要是精通了Java,月薪就能涨高很多。我说,是吗?

        后来,他真的跳槽了,想必薪水翻了很多翻吧!

        再后来,负责智能手机开发的时候,借了本Java的书籍来看,领导看到了,说我这样不好,什么都要懂一些,太累。

        书归正传,Java语言最初是为嵌入式系统设计的一项产品,在Java 2中为了区分各种不同的应用,又细分成了Java 2 Enterprise Edition(J2EE)、Java 2 Standard Edition(J2SE)和Java 2 Micro Edition(J2ME)三种版本,其中J2ME又称作KJava。

        J2EE早在2003或04年就接受过培训(其实是充数去了,到今天,也不知道J2EE是个什么东东)。前些天,才明白Kjava是J2ME的简称。

        下面是引用文字:

      在J2SE中,它定义了Java规范的核心类函数库(即Java.*)和扩展类函数库(即Javax.*),它主要定位在客户端的应用程序。J2EE主要定位于服务器端的应用程序,它除了支持J2SE所定义的核心类函数库之外,还增加了一些扩展函数类库,如支持Serverlet/JSP的Javax.servlet.*等。J2ME只支持J2SE所定义的核心函数类库的一部分,此外,在J2ME中还增加了一些支持嵌入式系统的扩展类函数库,如Javax.microedition.*等。

      同样是嵌入式设备,它们在运算能力、电力供应等方面还是有很大的差别。Connected Limited Device Configuration(CLDC)规范描述的就是那些运算能力有限、电力供应有限的嵌入式设备,如手机等;而Connected Device Configuration(CDC)规范则描述的是像电视机顶盒这样运算能力较强、电力供应充足的系统。J2ME分别支持这两种不同的配置。在同一种配置下,J2ME又通过Profile来定义与特定嵌入式设备相关的扩展类函数库。

      在传统的Java环境中,为了防止程序在传送途中被篡改以及其它一些安全上的考虑,当程序被类别载入器载入后,紧接着要进行Byte Code审核,审核通过以后才允许Java虚拟机执行它。这一操作在PC机上执行从速度上来看没有什么问题,但是在CLDC所描述的这类系统中,要想作完全相同的处理,从处理能力和速度上来看就显得有些力不从心了。为了解决这个问题,程序设计人员需要在程序设计结束之后额外再多做一件事:预先审核。通过预先审核,会在最终的类文件中加入一些特殊的符号,当该程序下载到目标平台上去执行时,可以以较快的速度完成审核操作。

    【MTK】

        这是一款适合山寨机的开发平台,呵呵。

        MTK是台湾的一个多媒体芯片提供商的简称,全称叫Media Tech,以前在DVDPlayer市场几乎一统天下。目前国内大部分的黑牌和杂牌手机都是用这个牌子的主芯片,而正规厂商(Nokia,Samsung,Moto)基本都是用TI等国外主流芯片厂商产品。目前市场上主流的平台有TI、摩托罗拉、飞利浦、MTK、ADI、展讯、英飞凌、凯明等。其中,TI平台占有率最高,而MTK平台开发最容易。目前市场上飞利浦平台在功耗上相对有优势,TI平台和MTK平台在手机成本上有着相对的优势。服务方面所有手机平台没有特别大的差别。 

        中国台湾MTK公司的产品因为集成较多的多媒体功能同时拥有较低的成本价格,在大陆手机公司和手机设计公司得到广泛的应用。更由于MTK的完工率较高,基本上在 60%以上,手机厂商拿到手机平台基本上就是一个半成品,只要稍稍的加工就可上架出货了。这也正是许多黑手机都使用MTK的最主要的原因。近一段时间山寨机特别受大家关注,山寨机所采用的MTK平台在普通民众面前的爆光率也大大增加了,也就成了大家的常见问题。

    【Window Mobile】

        毫无疑问,这是微软老大哥的手机平台之父了。

        Windows Mobile 6.5:北京时间2009年2月16日,在西班牙举行的世界移动大会上,微软联合宏达电、LG和Orange等主要手机合作伙伴,推出了基于微软新一代手机系统——Windows Mobile 6.5的数款手机。

        据悉,在用户有新邮件、短信、未接来电和日程安排时,Windows Mobile 6.5主屏将通过提供“仪表板”式体验实现用户的重要信息更新。此外,Windows Mobile 6.5还拥有新的触摸屏界面,可便捷进行单指操作,以及最新的IE手机浏览器。

      宏达电和LG此次发布的Windows Mobile 6.5手机分别是Touch Diamond 2、Touch Pro 2和LG-GM7300,已于2009年下半年推向市场。

      微软在09年2月的巴塞罗那大会上宣布,Windows mobile 6.5以后的名字不再使用,而是统一使用Windows phones。

    【Symbian】

        Symbian软件平台经历了3个不同时期。

        1)在Symbian公司成立之前,Symbian平台的前身是由Psion公司拥有的EPOC操作系统。之所以叫作“EPOC”这个词据说起源于世界将会进入“a new epoch of personal convenience”。Psion公司是欧洲当时主要的PDA厂商,但是推出的EPOC系统一开始就具备了外加应用程序的能力,以及在后期增加了无线通信的能力,使得这个32位操作系统具备实时性,多任务,多线程,低功耗,内存占用少的特点。

        2)1998年6月为了在将来的智能移动终端领域取得先机和市场地位。Psion公司联合手机业界巨头,诺基亚、爱立信、摩托罗拉和组建了Symbian公司。该公司继承了Psion公司EPOC操作系统软件的授权。到2008年Symbian的软件版本发展到9.5,同时可以支持S60,UIQ和MOAP三个UI界面。

        3)2008年6月24日Nokia宣布收购所剩Symbian公司的股份,同时诺基亚、索尼爱立信、摩托罗拉和NTT DOCOMO宣布将统一Symbian操作系统、S60、UIQ和 MOAP(S),共同创建一个开放移动软件平台。携手产业中其它成员共同建立Symbian Foundation组织,Symbian平台从此开始了开源时代。

        发展到今天Symbian平台给我们留下了什么?

        成熟:超过10年的开发经历,超过2.5亿台使用Symbian系统的手机

        统一:以后的Symbian平台将会是把Symbian操作系统,S60,UIQ和MOAP的精华集成在一个统一的平台中。

        透明开源:Foundation将以开源的形式继续维护Symbian平台,任何组织都可以成为会员

        从软件平台角度我们可以看到当前Symbian平台的规模

        4千万行代码(包括设备,工具和测试);45万个代码文件;4万5千个代码目录;100个以上的独立功能模块;3层软件结构设计(内核层,服务层和应用层),覆盖14个技术领域。

        这里需要指出的是,当前的Symbian平台不是仅仅包括OS内核和UI界面,它拥有的100多个独立的功能模块实现了安全,虚拟机,多媒体,连接等众多的功能,同时作为一个移动手机平台,它提供对通用移动规范的支持。

        在Symbian平台基础上,设备商可以更加专注设备的差异化开发,不同硬件模块的适配,不同的网络服务和应用。

    【新秀:三星Bada】

        近期,开放性智能手机平台Bada(韩文中代表海洋)作为一款新的开放手机平台,三星终于走向人们面前。在应用商店上,Bada更具开放性,与App Store等主流商店相比,Bada利用手机资费支付方式,无需注册即可实现购买。按照三星的时间表,Bada应用商店将会从明年上半年开始销售bada软件,并将会在全世界超过50个国家开放。

        分析指出Windows Mobile操作系统占三星电子智能型手机的出货比重将大幅下滑,由目前的80%降至2010年的50%,并于2012年进一步下滑至20%。 Google Android系统占三星智能型手机的出货比重将在明年升至30%。预计三星将在2011年全面停产搭载Symbian操作系统的手机。

        目前,公布的三星Bada手机仅有一款,随着2010年该平台正式上市,后续产品会随即推出,三星也承诺将规划不同定位的手机终端,满足不同层面消费人群的使用和行业应用。

        在IT行业里,女生真的很难有什么太大的发展。昨天跟师兄聊天,他帮我询问了熟悉的软件公司,好象都是要男生。我想,在我没有什么绝对优势的前提下,我可能会离这个行业越来越遥远。

        真的不知道路在何方了?前途未卜。

  • 重回“故里”,路在何方

    2009-12-14 15:38:24

     

     

    “出走”半年后又回来了。

    昨天看了《唐骏日记》,很钦佩这个家伙,创业——微软大中华区总裁——盛大——新华都。每一步都走得那样扎实,每一个拐点都那样的幸运,每一步都是更上了一个台阶。

    这就是高智商、高情商的典型凤毛麟角式人物。不愧为中国的职业经理人标杆。相比于创业,独自实现自我价值,我更欣赏他这样一个视“成就别人伟大”为己任的优秀人才。

    喜欢德才兼备又平易近人、性格和谐的人。从技术精英到管理运筹的高管人才,是能力,也是机遇。

    我相信有能力的人,永远都不会担心未来的样子。就像唐骏曾经说的,就算现在让他重新开始,他仍可以通过5年的时间坐到今天的位置。

    还很欣赏张亚勤,这个少年神通,也有着很高的情商,微软真是藏龙卧虎的地儿啊。。。

    继续谈谈我的失败经历:

    做了8个月的HR工作,鉴于种种主客观原因,我的第二份工作仅仅坚持了8个月,第一份工作是7年4个月,第二份是8个月,跨度和转变如此之大。

    不知道,下一步我将何去何从。测试之梦已然破灭,但依然还会继续关注这里,关注这个行业。

    北京又有面试了,我还没有决定是否要回到那里,这个冬天暂时想要继续冬眠蛰伏。蓄势待发,储存能力,快速充电。

    职位是:手机策划工程师。说实话,一点自信都没有,即便我搞了那么多年的掌上电脑,也依然是个一瓶子不满半瓶子咣当的非科班出身。

    windows ce还凑合,brew、mtk、symbian、kjava就望尘莫及了,唉。。。惭愧啊。

    也许我该试着挑战一下自己,可是我真没有底气和把握,还是索性放弃了吧!

    这是原单位附近的一条小路,我在那里工作和生活了7年多,前段时间回去,感觉依然那样熟悉与亲切。

    两座城市只有一步之遥,30分钟的车程却让我觉得像是两个世界,像是自己的前生和今世。

    回去抑或留下并不重要,重要的是,我的方向越来越模糊了,我想变成任何一个人,除了我自己。

    有时候,有所选择,也是一种痛苦。

  • 我离测试行业越来越遥远?

    2009-06-16 11:08:16

        很久、很久没有来这里了。记得我说过,一旦我离开这里,也许就彻底宣告我的测试人生之梦终结了。

        新的工作已经三个月了,与测试,甚至说与IT行业风马牛不相及,是教育培训机构。我是个教务主管,兼人力资源的一些工作。每天工作的时间被拉得很长、很长,再也没有再关注过以前从事或是憧憬从事的行业了。

        刚才的一个电话,又把我从现实中暂时拉了回来。又是一家猎头公司推荐我一家单位,搞软件测试的。我简单的问了问情况,偏向于产品的功能测试,这块我还比较能胜任。呵呵,只是,我真的懒得换工作了。而且已经答应这家机构最少干1、2年了,不过那家软件测试的公司也不一定适合和满意我。我婉转的拒绝了。

        这个当下也是我最近又非常迷茫的时候,现在的工作没有周末,赚的很少,每天早出晚归,邻居奶奶还以为赚很多钱呢?唉。有种非常想回北京的冲动。我不知道是不是自己的一时冲动,还是这个念头一直都没有彻底抛弃过。

        记得第一天在现在这家教育机构面试的那天,领导对我很满意,转天就去实习了,然后过了三天就上班了。后来她说,感觉我很英姿飒爽的,绝不逊于世界五百强企业的员工气质。我哗然一笑。太夸张了。有些奉承之嫌。于是每天开始了琐屑的工作。

        不想记述每天那些琐屑且太多的突发事件,也不想说有多少制度和规范不健全,我希望我可以帮着健全他们,也一直全身心的投入工作中。以前在北京,我5分钟就能从宿舍到单位,而在这里,我每天要乘坐将近一个小时的车才到单位,晚上9点多下班后,还有一个小时后到家,爸爸妈妈都休息了。每天就这样早出晚归,没有感受到回到家的温暖。

        这种累跟以前不一样。我知道,像我这样操心的命,不管到哪里估计都这样。这个教育机构本来就刚起步不健全,所以我总想很多事都帮着一起理顺了,但人的精力毕竟有限。

        唉,不多说了。一会就要上班去了。天气有些阴潮,但愿心情可以不再那么阴霾。很久没有看书学习了。我是不是应该再次把软件测试拾捡起来?未知数。

  • 测试行业的未来远景

    2009-02-27 16:34:07

        测试的春天到了,就是说这个行业开始由不正规转向正规,这是个过渡的时期,请大家一定要坚信自己所从事的行业,也许它还具有太多的瑕疵或是不规范的地方,但要相信这是一个很有发展前景的行业,也是锻炼我们能力和耐力的行业。

        1、方法创新。将有更系统化的、行之有效的方法对测试人员进行培训,有望改革软件产业。诸如可执行的说明书、基于模型的测试产生、BUG预防、系统模拟这样的技术将会在演变中扮演重要的角色。

        2、检测工具将成为主流。测试的目标已经由找到多少个BUG转移到放在产品交付的质量上来了,预防实践和静态分析仪这样的检测工具将成为主流。

        3、仿真测试。(有一定难度)仿真工具的出现使得计算机环境变得容易起来。在开发过程早期就刻意进行意外和错误流程的测试。代码稳定后,再用真实环境验证仿真是否准确无误。

        4、测试用例更新及时。庞大的测试用例管理系统将成为昔日黄花,大量的测试用例生成了却没有被适用。测试用例将不再像腐烂的存货一样被收藏搁置起来,因为,让测试用例保持最新变得更加容易。

        5、更加积极的规范测试方法。比如什么计算BUG的数量、计算测试用例的数量都将不复存在。有用的方法,比如需求覆盖、模型覆盖、代码覆盖将驱动项目开发。

        6、少而精的测试人员。对测试人员来说,这是比较残酷的一项。机器将代替测试人员做大部分他们以往创建测试所做的繁琐工作,测试小组需要比以往更少的测试人员,留下的将是经过更多高度培训及经验的测试精英们。竞争很激烈啊。不过待遇肯定高了又高。价值也会越大。

        7、测试工作的趣味性。测试工作将变得越来越有趣味性。因为测试中他们将致力于更大的问题,以优化和改善软件系统为乐趣,把工作变成享受性创造。而不是在抱怨中艰难的开展工作。

        8、测试工具及用例优先级。测试人员将在一天中进行成千上万的测试,工作量却没有多大,因为测试人员首先先运行最有用的测试。相关的测试工具将允许测试人员为他们的测试区分优先级,以及将测试目标放在哪些易出现重大BUG的地方。(难度好大啊。)

        9、测试人员的角色。测试人员的角色也越发的模糊了,在测试领域工作使得专职测试的人员和专职创建测试工具的人员界限模糊,一个既是“通过程序破坏事物的测试员”又是“创建程序用于破坏事物的程序员”的专业出现了。关于如何定义这个新的专业,暂没有定论。嘻嘻。大家可以集思广益啊,头脑风暴法。呵呵

        10、更大的挑战性。复杂和相互关联的计算机世界使得了测试安全这一类新问题让测试人员不断努力工作,考验大家精力的时候到了。呵呵

        11、测试人员获得尊重。测试人员将不再被冠名“挑错者”,他们将在整个软件开发过程中提供一个可见的、增值的、重要的金奥塞。测试是有意的、有价值的乃至有趣的。

        12、测试流行化。测试人员的地位不一样了,可以“扬眉吐气”了。而且破坏事物同样可以带来创建事物一样的乐趣,人们开始在开发与测试角色之间转换,所有的人将学到更多关于如何得到良好代码的知识。

        测试人员从现在开始如何做?

    •     不要接受测试现状,四处看看,思考“我们在做些毫无意义的事情吗?”
    •     领悟如何更好的测试,并且学会分享知识。
    •     行业受测试的创新思维激发。多关注前沿的一切。
    •     还要继续学习编程知识。即便你不打算编写允长的代码。   

        这是远大的美好且残酷的愿景,不知道我们这代人是否可以赶上,用PC先驱Alan Kay所言结束本位:“预测未来的最好方式就是开创未来。”共勉之!

  • SQL数据库管理系统知识复习

    2009-02-27 10:17:14

        数据库管理系统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。它建立在操作系统的基础上,是位于操作系统与用户之间的一层数据管理软件,负责对数据库进行统一的管理和控制。用户发出的或应用程序中的各种操作数据库中数据的命令,都要通过数据库管理系统来执行。数据库管理系统还承担着数据库的维护工作,能够按照数据库管理员所规定的要求,保证数据库的安全性和完整性。

        1、DBMS的功能
        由于不同DBMS要求的硬件资源、软件环境是不同的,因此其功能与性能也存在差异,但一般说来,DBMS的功能主要包括以下6个方面。
        1.1.数据定义
        数据定义包括定义构成数据库结构的外模式、模式和内模式,定义各个外模式与模式之间的映射,定义模式与内模式之间的映射,定义有关的约束条件(例如,为保证数据库中数据具有正确语义而定义的完整性规则,为保证数据库安全而定义的用户口令和存取权限等)。
        1.2.数据操纵
        数据操纵包括对数据库数据的检索、插入、修改和删除等基本操作。
        1.3.数据库运行管理
        对数据库的运行进行管理是DBMS运行时的核心部分,包括对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(如索引、数据字典的自动维护)等。所有访问数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用。
        1.4.数据组织、存储和管理
        数据库中需要存放多种数据,如数据字典、用户数据、存取路径等,DBMS负责分门别类地组织、存储和管理这些数据,确定以何种文件结构和存取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增、删、改等操作的时间效率。
        1.5.数据库的建立和维护
        建立数据库包括数据库初始数据的输入与数据转换等。维护数据库包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。
        1.6.数据通信接口
        DBMS需要提供与其他软件系统进行通信的功能。例如,提供与其他DBMS或文件系统的接口,从而能够将数据转换为另一个DBMS或文件系统能够接受的格式,或者接收其他DBMS或文件系统的数据。

        2、DBMS的组成
        为了提供上述6方面的功能,DBMS通常由以下4部分组成。
        2.1.数据定义语言及其翻译处理程序
        DBMS一般都提供数据定义语言(Data Definition Language,简称DDL)供用户定义数据库的外模式、模式、内模式、各级模式间的映射、有关的约束条件等。用DDL定义的外模式、模式和内模式分别称为源外模式、源模式和源内模式,各种模式翻译程序负责将它们翻译成相应的内部表示,即生成目标外模式、目标模式和目标内模式。
        2.2.数据操纵语言及其编译(或解释)程序
        DBMS提供了数据操纵语言(Data Manipulation Language,简称DML)实现对数据库的检索、插入、修改、删除等基本操作。DML分为宿主型DML和自主型DML两类。宿主型DML本身不能独立使用,必须嵌入主语言中,例如嵌入C、COBOL、FORTRAN等高级语言中。自主型DML又称为自含型DML,它们是交互式命令语言,语法简单,可以独立使用。
        2.3.数据库运行控制程序
        DBMS提供了一些负责数据库运行过程中的控制与管理的系统运行控制程序,包括系统初启程序、文件读写与维护程序、存取路径管理程序、缓冲区管理程序、安全性控制程序、完整性检查程序、并发控制程序、事务管理程序、运行日志管理程序等,它们在数据库运行过程中监视着对数据库的所有操作,控制管理数据库资源,处理多用户的并发操作等。
        2.4.实用程序
        DBMS通常还提供一些实用程序,包括数据初始装入程序、数据转储程序、数据库恢复程序、性能监测程序、数据库再组织程序、数据转换程序、通信程序等。数据库用户可以利用这些实用程序完成数据库的建立与维护,以及数据格式的转换与通信。

  • 嵌入式系统设计师之嵌入式系统基础知识

    2009-02-17 10:35:46

    1、嵌入式系统的定义

        (1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

        (2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。

        (3)知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。

        (4)IP核模块有行为、结构和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。

    2、嵌入式系统的组成:硬件层、中间层、系统软件层和应用软件层

        (1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。

        嵌入式核心模块=微处理器+电源电路+时钟电路+存储器

        Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。

        (2)中间层(也称为硬件抽象层HAL或者板级支持包BSP):它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。

        BSP有两个特点:硬件相关性和操作系统相关性。

        设计一个完整的BSP需要完成两部分工作:

        A、 嵌入式系统的硬件初始化和BSP功能。

        片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。

        板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。

        系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。

        B、 设计硬件相关的设备驱动。

        (3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。

         RTOS是嵌入式应用软件的基础和开发平台。

        (4)应用软件:由基于实时系统开发的应用程序组成。

    3、实时系统

    (1)定义:能在指定或确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统。

    (2)区别:通用系统一般追求的是系统的平均响应时间和用户的使用方便;而实时系统主要考虑的是在最坏情况下的系统行为。

    (3)特点:时间约束性、可预测性、可靠性、与外部环境的交互性。

    (4)硬实时(强实时):指应用的时间需求应能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如:航天、军事。

    (5)软实时(弱实时):指某些应用虽然提出了时间的要求,但实时任务偶尔违反这种需求对系统运行及环境不会造成严重影响,如:监控系统、实时信息采集系统。

    (6)任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。

    4、实时系统的调度

    (1)调度:给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程。

    (2)抢占式调度:通常是优先级驱动的调度,如uCOS。优点是实时性好、反应快,调度算法相对简单,可以保证高优先级任务的时间约束;缺点是上下文切换多。

    (3)非抢占式调度:通常是按时间片分配的调度,不允许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃,如WinCE。优点是上下文切换少;缺点是处理器有效资源利用率低,可调度性不好。

    (4)静态表驱动策略:系统在运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表,指明各任务的起始运行时刻及运行时间。

    (5)优先级驱动策略:按照任务优先级的高低确定任务的执行顺序。

    (6)实时任务分类:周期任务、偶发任务、非周期任务。

    (7)实时系统的通用结构模型:数据采集任务实现传感器数据的采集,数据处理任务处理采集的数据、并将加工后的数据送到执行机构管理任务控制机构执行。

    5、嵌入式微处理器体系结构

        (1)冯诺依曼结构:程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,采用单一的地址及数据总线,程序和数据的宽度相同。例如:8086、ARM7、MIPS…

        (2)哈佛结构:程序和数据是两个相互独立的存储器,每个存储器独立编址、独立访问,是一种将程序存储和数据存储分开的存储器结构。例如:AVR、ARM9、ARM10.

        (3)CISC与RISC的特点比较。

        计算机执行程序所需要的时间P可以用下面公式计算:

        P=I×CPI×T

        I:高级语言程序编译后在机器上运行的指令数。

        CPI:为执行每条指令所需要的平均周期数。

        T:每个机器周期的时间。

        (4)流水线的思想:在CPU中把一条指令的串行执行过程变为若干指令的子过程在CPU中重叠执行。

        (5)流水线的指标:

         吞吐率:单位时间里流水线处理机流出的结果数。如果流水线的子过程所用时间不一样长,则吞吐率应为最长子过程的倒数。

         建立时间:流水线开始工作到达最大吞吐率的时间。若m个子过程所用时间一样,均为t,则建立时间T=mt。

        (6)信息存储的字节顺序

        A、存储器单位:字节(8位)

        B、字长决定了微处理器的寻址能力,即虚拟地址空间的大小。

        C、32位微处理器的虚拟地址空间位232,即4GB。

        D、小端字节顺序:低字节在内存低地址处,高字节在内存高地址处。

        E、大端字节顺序:高字节在内存低地址处,低字节在内存高地址处。

        F、网络设备的存储顺序问题取决于OSI模型底层中的数据链路层。

    6、逻辑电路基础

    (1)根据电路是否具有存储功能,将逻辑电路划分为:组合逻辑电路和时序逻辑电路。

    (2)组合逻辑电路:电路在任一时刻的输出,仅取决于该时刻的输入信号,而与输入信号作用前电路的状态无关。常用的逻辑电路有译码器和多路选择器等。

    (3)时序逻辑电路:电路任一时刻的输出不仅与该时刻的输入有关,而且还与该时刻电路的状态有关。因此,时序电路中必须包含记忆元件。触发器是构成时序逻辑电路的基础。常用的时序逻辑电路有寄存器和计数器等。

    (4)真值表、布尔代数、摩根定律、门电路的概念。

    (5)NOR(或非)和NAND(与非)的门电路称为全能门电路,可以实现任何一种逻辑函数。

    (6)译码器:多输入多输出的组合逻辑网络。

        每输入一个n位的二进制代码,在m个输出端中最多有一个有效。

        当m=2n是,为全译码;当m<2n时,为部分译码。

    (7)由于集成电路的高电平输出电流小,而低电平输出电流相对比较大,采用集成门电路直接驱动LED时,较多采用低电平驱动方式。液晶七段字符显示器LCD利用液晶有外加电场和无外加电场时不同的光学特性来显示字符。

    (8)时钟信号是时序逻辑的基础,它用于决定逻辑单元中的状态合适更新。同步是时钟控制系统中的主要制约条件。

    (9)在选用触发器的时候,触发方式是必须考虑的因素。触发方式有两种:

        电平触发方式:具有结构简单的有点,常用来组成暂存器。

        边沿触发方式:具有很强的抗数据端干扰能力,常用来组成寄存器、计数器等。

    7、总线电路及信号驱动

    (1)总线是各种信号线的集合,是嵌入式系统中各部件之间传送数据、地址和控制信息的公共通路。在同一时刻,每条通路线路上能够传输一位二进制信号。按照总线所传送的信息类型,可以分为:数据总线(DB)、地址总线(AB)和控制总线(CB)。

    (2)总线的主要参数:

        总线带宽:一定时间内总线上可以传送的数据量,一般用MByte/s表示。

        总线宽度:总线能同时传送的数据位数(bit),即人们常说的32位、64位等总线宽度的概念,也叫总线位宽。总线的位宽越宽,总线每秒数据传输率越大,也就是总线带宽越宽。

        总线频率:工作时钟频率以MHz为单位,工作频率越高,则总线工作速度越快,也即总线带宽越宽。

        总线带宽 = 总线位宽×总线频率/8, 单位是MBps。

        常用总线:ISA总线、PCI总线、IIC总线、SPI总线、PC104总线和CAN总线等。

    (3)只有具有三态输出的设备才能够连接到数据总线上,常用的三态门为输出缓冲器。

    (4)当总线上所接的负载超过总线的负载能力时,必须在总线和负载之间加接缓冲器或驱动器,最常用的是三态缓冲器,其作用是驱动和隔离。

    (5)采用总线复用技术可以实现数据总线和地址总线的共用。但会带来两个问题:

        A、需要增加外部电路对总线信号进行复用解耦,例如:地址锁存器。

        B、总线速度相对非复用总线系统低。

    (6)两类总线通信协议:同步方式、异步方式。

    (7)对总线仲裁问题的解决是以优先级(优先权)的概念为基础。

    8、电平转换电路

    (1)数字集成电路可以分为两大类:双极型集成电路(TTL)、金属氧化物半导体(MOS)。

    (2)CMOS电路由于其静态功耗极低,工作速度较高,抗干扰能力较强,被广泛使用。

    (3)解决TTL与CMOS电路接口困难的办法是在TTL电路输出端与电源之间接一上拉电阻R,上拉电阻R的取值由TTL的高电平输出漏电流IOH来决定,不同系列的TTL应选用不同的R值。

    9、可编程逻辑器件基础

         这方面的内容,从总体上有个概念性的认识应该就可以了。

    10、嵌入式系统中信息表示与运算基础

    (1)进位计数制与转换:这样比较简单,也应该掌握怎么样进行换算,有出题的可能。

    (2)计算机中数的表示:源码、反码与补码。

        正数的反码与源码相同,负数的反码为该数的源码除符号位外按位取反。

        正数的补码与源码相同,负数的补码为该数的反码加一。

        例如-98的源码:11100010B

                   反码:10011101B

                   补码:10011110B

    (3)定点表示法:数的小数点的位置人为约定固定不变。

         浮点表示法:数的小数点位置是浮动的,它由尾数部分和阶数部分组成。

         任意一个二进制N总可以写成:N=2P×S。S为尾数,P为阶数。

    (4)汉字表示法,搞清楚GB2318-80中国标码和机内码的变换。

    (5)语音编码中波形量化参数(可能会出简单的计算题目哦)

        采样频率:一秒内采样的次数,反映了采样点之间的间隔大小。

        人耳的听觉上限是20kHz,因此40kHz以上的采样频率足以使人满意。

        CD唱片采用的采样频率是44.1kHz。

        测量精度:样本的量化等级,目前标准采样量级有8位和16位两种。

        声道数:单声道和立体声双道。立体声需要两倍的存储空间。

    11、差错控制编码

        (1)根据码组的功能,可以分为检错码和纠错码两类。检错码是指能自动发现差错的码,例如奇偶检验码;纠错码是指不仅能发现差错而且能自动纠正差错的码,例如循环冗余校验码。

        (2)奇偶检验码、海明码、循环冗余校验码(CRC)。

    12、嵌入式系统的度量项目

    (1)性能指标:分为部件性能指标和综合性能指标,主要包括:吞吐率、实时性和各种利用率。

    (2)可靠性与安全性

        可靠性是嵌入式系统最重要、最突出的基本要求,是一个嵌入式系统能正常工作的保证,一般用平均故障间隔时间MTBF来度量。

    (3)可维护性:一般用平均修复时间MTTR表示。

    (4)可用性

    (5)功耗

    (6)环境适应性

    (7)通用性

    (8)安全性

    (9)保密性

    (10)可扩展性

        性价比中的价格,除了直接购买嵌入式系统的价格外,还应包含安装费用、若干年的运行维修费用和软件租用费。

    13、嵌入式系统的评价方法:测量法和模型法

    (1)测量法是最直接最基本的方法,需要解决两个问题:

            A、根据研究的目的,确定要测量的系统参数。

            B、选择测量的工具和方式。

    (2)测量的方式有两种:采样方式和事件跟踪方式。

    (3)模型法分为分析模型法和模拟模型法。分析模型法是用一些数学方程去刻画系统的模型,而模拟模型法是用模拟程序的运行去动态表达嵌入式系统的状态,而进行系统统计分析,得出性能指标。

    (4)分析模型法中使用最多的是排队模型,它包括三个部分:输入流、排队规则和服务机构。

    (5)使用模型对系统进行评价需要解决3个问题:设计模型、解模型、校准和证实模型。

  • 零基础学习软件测试之困惑

    2009-01-13 12:16:36

        如果把人生当作一个进阶的过程,这个过程似乎是不可逆的,那么把软件测试的学习也当作一个进阶的过程,似乎也会得出一个不可颠覆的结论:没有编程的基础,就不能真正走进测试。

        首先,编程基础不是指非要能够熟练的写出漂亮的代码,而是你要对编程的基础知识和思考模式有深入的了解。否则,测试工作只是空中楼阁,可远望而不可触及并应用之。

        测试只是程序员所走的另一条方向,而不适合零基础的人去涉足的,除非你先把编程理论小小吃透,否则测试之路是不可能走长远的。

        其次,对于工具的使用。工具的使用也是基于对于程序的理解基础上的,如果不了解程序又如何应用工具解决程序的问题呢?

        工具的学习方法有两种:一是先熟悉工具的主要应用领域、适用范围和使用步骤,再进行实践应用。二是直接应用工具,然后边实践边学习,这样效率更高。不仅能通过自身的实践参悟工具的使用范围和精髓,还能加深对工具的灵活应用。

        一个没有编程基础的人是不可能学好和做好测试的,所以学习软件测试,不能是零起点,而是需要具备的一定的编程理论和实践经验的人。

        程序员与测试员的关系就好比记者与改稿编辑的关系一样,后者都必须要掌握前者所拥有的知识储备和应用过程,才能真的实践其自身工作的价值。

        总之,一个好的测试人员也一定首先是一个好的程序员,而一个优秀的程序员并不一定是一个出色的测试人员。

  • 自动化测试适应领域

    2009-01-11 20:18:49

        自动测试与手工测试相比,可以大大提高测试效率。适用于以下领域:

    对新版本软件执行回归测试

        这是最显而易见的可以使用自动化的工作,尤其是在软件经常进行版本更新的环境中。当新版本测试时,只需要几分钟时间启动已有的 测试用例即可自动完成对新版本的回归测试。

        执行手工很难达到或手工无法完成的测试。企图使用手工执行大规模的多用户并发测试是很难实现的,但是使用自动测试工具模拟多用户就是很容易的事情了,用户场景测试随时都可以运行,测试执行人员不需要了解应用程序的复杂业务逻辑。

        手工测试时,期望的输出通常包含明显的标志,可以让测试人员识别。但是,有很多属性是很难由人工来确认的。例如:图形界面测试中,界面操作经常会触发一些事件,但是并没有立刻输出结果。在这种情况下,测试工具可以检测到事件被触发,并执行相应的操作。性能测试和压力测试通常使用自动测试的方式才能进行。

    枯燥乏味的重复性工作

        自动测试枯燥乏味的工作,例如:重复进行相同的测试输入数据,自动化工具比手工输入准确性高,还可以将测试人员从重复性劳动中 解脱出来,将精力专注于如何设计好的测试用例。自动化测试还可以安排在夜间或周末进行,更好的利用时间。

    一致的,可重复的测试

        自动测试可以在任何时间正确的重复进行。测试可以保持完全一致的进行,这是手工测试所无法达到的。在进行平台兼容性测试时,使用自动测试方法可以保证测试执行的一致性,同样的测试可以执行在不同的硬件配置,不同的操作系统,不同的数据库平台上。

    摘自《自动测试》

  • 闲暇之余,品读《诗经》

    2009-01-10 19:27:02

        朝吟风雅颂,暮唱赋比兴;秋看鱼虫乐,春观草木情。——《诗经》

        手捧《诗经》,穿越千年的历史长河,领略西周至春秋年代的岁月风尘。诗三百,一言以蔽之,思无邪。

        隔岸远望,古典诗词里的轻柔女子,或明眸善睐,或娴静柔美,或大胆执著,或活泼顽皮,蕴涵着古典情怀的女子,仿佛仙乐悠悠,让人们在沉静中重返时光隧道,去回味那一份雅致与美好。

        喜欢安安静静的品位每一个古典女子的美丽与哀愁,喜欢古典女子的柔弱与娴静,隐忍与付出,勤劳与善良,含蓄与多情。。。

        她们就像一幅画,贴在历史的每一卷篇章中,静静的闪动着属于她们特有的灵光,等待着懂得人将她们描绘,也许是太过喧闹与浮华的现世,才让我向往古典女子的世界,也许是我太过沉默,才幻想着回到古代社会,也许是我太过无能,才想象着也许千年以前的那个时代更适合我。。。

        走了许多年,一个人经历了很多人和事,从来不敢怠慢生活,从来不肯向生活俯首,从来不敢减缓生活的节奏,从来都毫不示弱的坚持着一些东西,而今却在彻底抽身的刹那,将自己完全的收容,撇开世俗的生活,回归那最为原始的生存状态。

        古人隐居或是深居简出,大凡都是旷世奇才或才情横溢,或罢官遁世,或看透了俗世的功名利禄,于是归隐之。而我的暂时蛰伏与归隐,则是不能与时俱进的一种无能与疲惫。不能与古人相提并论之。

        我的平淡生活,除却学习的时间,间或一杯清茶、一杯咖啡,一些矫情的文字,再有便是陪伴婴儿的成长,去感受她的喜怒哀乐,我喜欢婴儿的哭声,那是一种与生俱来的哭诉,也属天籁之音吧!还有那张天真无邪的baby face,看着就让人感到安心。能够安然度过这段倦怠期,也是一种过渡或是心境的升华。

        如果这一生便到此嘎然而止,就是一种幸福。不能说现在的我不幸福,我很幸福,但我却一点都不快乐。因为快乐是一种付出与分享的瞬间感知,而现实却活生生的剥夺了我快乐的源泉。

        如果能一生这样的幸福下去,并能再次邂逅自己快乐的源泉,那将是生命最美丽的归宿。。。 

  • 测试之路,走得有些“消极”

    2009-01-10 18:25:49

        越学习,越发现自己的无知;越钻研,就越发现自己的迟钝;越坚持,就越倾向疲惫。。。

        足不出户的我,竟然也会感冒?^_^!已经有很多年的冬天没有感过冒了,他们都说我的免疫力很好,最近待在温暖舒服的家里,却患了病,真是无法享受这种福气啊!

        没有工作的日子,像是断了线的风筝一般,也不知道往哪里飘,似乎辞职前所做的种种准备与憧憬,全然是自我宽解和安慰的借口罢了。

        很容易对某种事物产生兴趣,但又很容易厌倦。有时候压力是需要自己给的,朋友说,我的过于追求完美会让我痛苦不堪的,我不置可否。

        如果工作了这么多年,我还没找到自己的方向,这就是我做人最大的失败,在我的潜意识里,宁可放弃所有,把自己彻底打回原形,也不要从零开始。

        我是这样的无能与自负。那些在外人看来的优势在我身上却变成了最致命的劣势,我忽然察觉到,原来,我真的一无是处。

        测试也许是我抱有的最后一线希望与信心,而此时此刻,我却开始怀疑自己是否可以走完这条路,当初那个坚定的决心似乎已经被现实的无奈所磨损了,我是觉得更无望和无助了。

        请允许我开始慢慢的放弃这条路,请原谅自己的暂时消极情绪,虽然我依然不甘心就此终结,当现实一次又一次的向我泼来冷水的时候,我还是固执的不肯放手。

        或许,我的前半生已然是一个将错就错的故事了,而这一次,我再也不敢继续错下去了!

        明天的太阳依然升起,我也会依然看书、学习。。。而这颗不安定的带着消沉的心似乎很难淡定。


    视频: you can trust in me(点击后有很好听的音乐哦)

  • 软件测试工具分类概述

    2009-01-10 10:17:52

        人类的进步是从会制造工具和使用工具开始的,作为IT行业,亦不例外。针对测试这个近几年来风靡的新兴的“工种”,其测试工具的发展和应用已然进入相对“成熟化”。

        标准化和流程化的系统可以采用现有的工具,而最好的测试工具就是自己编写的工具,针对性强,效率高,又体现了自我价值和能力。只是认可度和回报率很难得到验证。但随着技术的发展,我相信会有更多的测试工具应运而生。

        现在当务之急是如何选择对企业或是项目最有效、有切实可行、针对性强的测试工具,这是通过经验和学习得来的,学而时习之,不亦悦乎哉!

        现就近两年来使用率较高的几类测试工具简介介绍如下:

    【单元测试工具】

        目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnit(java),CppUnit(C++),DUnit (Delphi),NUnit(.net),PhpUnit(Php )等等。该测试框架的第一个和最杰出的应用就是由Erich Gamma (《设计模式》的作者)和Kent Beck(XP(Extreme Programming)的创始人)提供的开放源代码的JUnit。

        Jtest:Jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。parasoft同时出品的还有C++ test,是一款C/C++白盒测试工具。

    【功能测试工具】

        Rational Robot:功能测试工具。IBM Rational Robot 是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面 IBM Rational TestManager 上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。

        SilkTest:是Borland公司所提出软件质量管理解决方案的套件之一。这个工具采用精灵设定与自动化执行测试,无论是程序设计新手或资深的专家都能快速建立功能测试,并分析功能错误。

        JMeter:JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。

    【性能测试工具】

        首推LoadRrunner,工业标准级负载测试工具。也是现在搞性能测试不可或缺的必备工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

        WebLoad:webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。

    【测试管理工具】

        TestDirector。全球测试管理系统。TestDirector 是业界第一个基于Web的测试管理系统,一个用于规范和管理日常测试项目工作的平台。它将管理不同开发人员,测试人员和管理人员之间的沟通调度,项目内容管理和进度追踪。而且,Mercury的测试管理软件TestDirector,是一个集中实施、分布式使用的专业的测试项目管理平台软件。

        SilkCentral Test Manager(SilkPlan Pro):一个完整的测试管理软件,用于测试的计划、文档和各种测试行为的管理。它提供对人工测试和自动测试的基于过程的分析、设计和管理功能,此外,还提供了基于web的自动测试功能。这使得SilkPlan Pro成为Segue Silk测试家族中的重要成员和用于监测的解决方案。在软件开发的过程中,SilkPlan Pro可以使测试过程自动化,节省时间,同时帮助你回答重要的业务应用面临的关键问题。

        QA Director:分布式的测试能力和多平台支持,能够使开发和测试团队跨越多个环境控制测试活动,QADirector允许开发人员、测试人员和QA管理人员共享测试资产,测试过程和测试结果、当前的和历史的信息。从而为客户提供了最完全彻底的、一致的测试。

     

     

    测试管理
    GUI录制回
    压力测试
    白盒测试
    Compuware
    QADirector
    QARun
    TestPartner
    QALoad
    DevPartner
    MI
    TestDirector
    WinRunner
    LoadRunner
    --
    Rational
    TestManager
    Robot
    LoadTest
    Purify
    Purecoverage
    Quantify
    其他
    --
    --
    WAS
    JUnit
    CppUnit

  • 人工智能,究竟该何去何从?

    2009-01-08 15:14:57

        “人工智能”这个起源于20世纪50年代,兴盛于20世纪80年代,专家系统的研究与发展使其达到了一个“顶峰”,而今已“日薄西山”了。

        它的发展似乎有些“停滞不前”了,人工智能是一门极富挑战性的科学,因为它不仅涵盖计算机知识,更主要的是它联系了心理学和哲学。计算机,也称为“电脑”,它毕竟不同于“人脑”,所以要将人脑中感性的因素以一定的规则或模型通过电脑来表达或是表述,这其中的难度应该是不言而喻的,同样,也是它遭到了发展瓶颈的关键点。

        从医学、交通到农业领域,专家系统作为人工智能的一个重要分支,似乎已经达到了成熟期,它们的研发或是发展空间就是与知识挖掘相结合,使系统具有自动获取一定规则或规范的能力。而今似乎并没有太成熟的进展或是突破。

        毕竟,这是一个多变的时代,这也是一个规则、标准和规范“泛滥”的年代。而电脑永远知识按照一定的规则或是规范进行物理机械运动,它不会自动生成程序,更不可能模拟人类心理或是大脑的思考过程而得出所谓的结论。

        有人说,所有的计算机程序都具有智能化,这一点也说得过去,但人工智能作为一个新的领域被独立出来,必然与其它电脑程序相区别,关键就是智能,智能就是能制造规则,但是电脑怎么能选择规则而制定规则或程序呢?这或许是永远无法实现的。选择规则需要智能,但执行规则是不需要智能的。选择规则是一种模糊过程,而规则本身是精确的。这是规则的悖论问题。

        以我这个非专业的人的视角看人工智能的发展,我真是看不到它的光明的未来在哪里?同样的,它的生命力又将以何种方式结束或是转化?当真有一天人工智能能够模仿人类的大脑进行思维和推理,那么我们人类的大脑就实现了其终极目标。。。呵呵。 

  • 选择测试,你的比较优势在哪里?

    2009-01-08 14:15:46

        何谓“比较优势”?经济学上:和他人相比,有能力以较低的成本生产某种东西。

        关键点为:1、和他人相比;2、较低的成本。对于从事IT的人来说,比方说,对于都是写代码的程序员,如果你的性格比其它人的性格外向且喜欢与人沟通,亲和力强,那么这个就是你在这个群体里的比较优势,售前工程师和售后工程师都更适合你,可以让自己在工作中得到更有快感和充实的精神状态。

        作为测试人员,你的比较优势在哪里?抛开测试技术和流程方面,还有其它的几个方面,可以成为你的比较优势。

        1、细心和耐心。测试工作是一个相对比较乏味的工作,对于一些中小型IT企业来说,它没有太多的技术含量,也就没什么成就感。耐得住枯燥的工作,并能从中找到乐趣和意义,这就是最基本的测试人员素质。所以很多人,认为女孩子比较适合。也许吧,不过就像大多数行业一样,做到最顶端的一般都是男性,连服装和美容这个适合女性的行业都不例外,何况IT行业了,^_^!

        2、发散性思维。世界是普遍联系的,而对于测试这个职业,如果具有较为灵活的发散思维,则是对工作一个比较有利的补充。但前提是这种发散思维必须以软件工程为基础,不能脱离这个圈子而过度发散。

        3、喜欢接受新事物。对于不同的行业系统或软件,都有着其特殊的标准或是规范,这就需要测试人员平时能广泛的涉猎相关行业的业务知识,对特定行业的特殊背景或服务目标有个大致的了解与熟悉,这样在接受任何一个项目的时候都能相对容易的进入测试角色。

        4、擅于积累和总结。测试这门从软件工程中独立划分出来的行业,毕竟有着它举足轻重的作用,打个不太恰当的比方,就好比医生诊断病情一样,对于医生这个行业,经验是最重要的,谁都喜欢找个老中医或老西医看病,这就是因为经验丰富。

        经验从哪里来?对于这个朝阳产业来说,经验就是擅于积累与发现,对于每完成一个项目,都能将测试发现的所有问题记录,并归类,按照各种归类方式进行分析,然后统计其共性和个性的地方,这就是经验,也是资本。

        总之,我个人认为一个优秀的测试人员就是一个通才,一个复合型人才,他能在保证在项目生命周期内,平衡技术、时间和质量三者的关系。作为一名测试人员,你的比较优势是什么呢?

  • 智能手机操作系统的未来,谁主沉浮?

    2009-01-07 13:42:44

        看了将近一个上午的书,眼睛有些吃累,来这里小憩一下。随便侃侃智能手机操作系统的未来,谁将是独占鳌头的黑马?

        细数智能手机的操作系统,Symbian,Windows mobile,IPhone, Linux,Android,Brew,Palm,MTK。似乎已有8种之多了吧!随着人们生活水平的提高,智能手机的用户在明显的增多,但目前这一群体还是仅限于东部沿海的发达城市。

        Brew,Palm似乎已经退出了竞争。

        手机业的翘楚——诺基亚,智能手机清一色采用了Symbian系统,虽然Symbian开源了,但其存在不少的问题,难以上手,系统性能也不是很强大,尤其当你使用或是对Window moblie有所了解的话,Symbian着实不是一个很适合开发的操作系统。况且,诺基亚的销售市场份额也不是因为它的Symbian操作系统,而是由它手机的功能和价格定位决定的。

        Windows mobile似乎秉承了微软桌面操作系统的传统风格,比较容易开发。但微软似乎对这个系统并没有投入很多精力,从window CE 2.1一直到今天的window mobile7.0,从底层上,似乎没有什么太大的改观,在应用开发的时候,似乎多了一个独立的数据库系统。而且,一直都是高端手机,譬如多普达等占据着这个操作系统的市场,前景似乎也不会很乐观。

        如今盛行一时的山寨似乎应用的MTK,好象这个也不算是个完全的操作系统,在中国这个市场经济庞杂且混乱的时候,它能占有一席之地,也是顺势而为,其生命力不会有持续的顽强下去。能保有2、3年的寿命就已经很厉害了。不是吗?

        LINUX似乎是一个相对来讲成本比较低的智能手机操作系统,虽然免费开源,但标准不规范,Android的出现无疑是Linux的一次机会。不过,目前的Android还太不稳定,Bug还比较多。毕竟它还在初生阶段,一出生就将和各大已经颇为成熟的系统竞争,所以Android的起步会有一些不平坦。好象也得3、5年以后了吧!一个完善且具有生命力产品的诞生总是需要一个漫长而曲折的过程。不知道是否能够有个精彩的未来?

        至于IPhone吗,虽然在国外已经很风靡,但在中国还是比较昂贵,鉴于苹果的运营模式,它也无法做到开源。不过未来是不可预知的,让我们拭目以待是否它能在智能手机的市场占有一席之地。

        正如崔健所唱到的:不是我不明白,这世界变化快。在未来的中国市场、乃至国际市场,智能手机这个朝阳般的产品究竟会何去何从,将来的智能手机的未来,谁主沉浮呢?

  • C语言初学者必读

    2009-01-07 11:13:37

        C语言,好象是一个很遥远的语言了,对于当下时髦的C++、C#、java来说,它像是个老古董了,不过对于初学者,还是以C语言为根基,一旦掌握了C语言,也许一切语言学起来就都得心应手了。很多人都说,掌握了任何一门语言,其它语言都是触类旁通,这一点都不假。

        C语言的优势在于:它是与硬件结合的最好的语言,它的核心思想就是指针。此外,随着软件行业的快速发展以及3G时代的到来,与硬件结合的开发会越来越多,所以,C语言绝对是优势,占有相当份量的根基。

        10年前我考级的时候,利用了一个暑假的时间自学了那本对于初学者来说最好的教材——《C语言程序设计》谭浩强主编,第二版,清华大学出版社。不过以后没有搞开发,所以现在几乎忘光了。^_^!

        开发工具:Visual C++,虽然这个东西比较大,但是一旦安装好了,用起来其实也挺方便的。

        学习语言的最好方法便是:读程序。理解书中或其它途径获得的例程,然后读懂并消化,随后再找来类似的题目去做,上机运行,起初可能会出现很多小问题,经验就是在不断的编译与修改中积累起来的。善于思考,反复实践,是最有效的学习方法。

        写程序的最高境界,其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。

        如何精通一个程序的设计呢?举个例子来说,“你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。”

  • 微软公司的测试职能及面试考题

    2009-01-06 20:05:29

    第一:微软公司软件测试简介

        微软的软件测试人员分为两类:测试工具软件开发工程师软件测试工程师。测试工具软件开发工程师主要负责编写测试工具代码,并利用测试工具对软件进行测试;或者开发测试工具为软件测试工程师服务。软件测试工程师主要负责理解产品的功能要求,然后对其进行测试,检查软件有没有错误,决定软件是否具有稳定性,并写出相应的测试规范和测试案例。

        在微软内部,软件测试人员与软件开发人员的比率一般为1.5~2.5左右,微软软件开发的实践过程已经证明这种人员结构的合理性。

        微软认为,测试人员的任务就是站在使用者的角度上,通过不断地使用和攻击刚开发出来的软件产品,尽量多地找出产品中存在的问题。 微软在测试时主要考虑以下几个问题:
      (1) 测试要考虑到所有的出错可能性。同时要做一些不是按常规做的、非常奇怪的事。
      (2) 除了漏洞之外,测试还应考虑性能问题,保证软件运行良好,非常快,没有内存泄露,不会出现软件运行越来越慢的情形。
      (3) 测试要考虑软件的兼容性。
    微软测试中使用的测试文档主要包括以下几种:

    (1) 测试计划。测试计划和产品开发紧密相关,由多个部分组成。所有大型的商业软件都需要完整的测试计划,需要具体到每一个步骤,并且每一个部分都要符合规范要求。

        测试计划包括内容: 1) 概述 2) 测试目标和发布标准 3) 计划将测试的领域 4) 测试方法描述 5) 测试进度表 6) 测试资源 7) 配置范围和测试工具

    (2) 测试规范。测试规范是指微每一个在测试计划中确定的产品领域所写的文档,用来描述该领域的测试需求。编写测试规范,需要参照项目经理写的产品规范,开发人员写的开发计划。每个领域都应该有一份详细的测试规范,所以还需要参照测试计划。 测试规范包括的内容: 1) 背景信息 2) 被测试的特性 3) 功能考虑 4) 测试考虑。 5) 测试想定

    (3) 测试案例。测试案例是指描述如何测试某一个领域的文档,这些文档符合测试规范中的需求说明。根据测试规范的测试想定(scenario)开发,根据测试反馈信息,对于没有考虑到的新问题,不断添加测试案例。 测试案例没有固定格式,只要清楚表明了测试步骤和需要验证的事实,使得任何一位测试人员都可以根据测试案例的描述完成测试

    (4) 测试报告。测试管理人员以测试报告的形式向整个产品开发部门报告测试结果及发现的缺陷或错误。撰写测试报告的目的是为了让整个产品开发部门了解产品开发的进展情况,以使缺陷或错误能够迅速得到修复。 测试报告的格式并无定式,要求能够完整、清楚地反映当前的测试进展情况,要易懂,不要使人迷惑或产生误解。

    (5) 缺陷或错误报告。测试人员以缺陷或错误报告的形式向开发人员报告所发现的缺陷或错误。撰写缺陷或错误报告的目的是为了使缺陷或错误能够得到修复,测试人员的缺陷或错误报告撰写的好坏会直接影响到开发人员对缺陷或错误的修复。 一份缺陷或错误报告应该包括的几个要点: 1) 缺陷或错误名称 2) 被测试软件的版本 3) 优先度与严重性 4) 报告测试的步骤 5) 缺陷或错误造成的后果 6) 预计的操作结果 7) 其他信息

    第二:面试试题分析

        考官从办公室(面试现场)随意选取一个简单物品,假定是一个喝水的带广告图案的花纸杯,让应聘人对它设计出尽可能多的测试用例。

        这个题目考察你的经验、想象力和思维的敏捷性。所以考官希望你源源不断地说出各种各样的测试用例,一直不停顿,直到他(她)满意为止。通常要十到十五分钟。选择简单物品其实增加了问题的难度。

        一般有测试经验的应试者可以从“基本功能测试”、“可用性测试”、“安全测试”、“压力测试”、“性能测试”等等角度思考,想出足够的测试用例并不难。

        从考察你思维的超常性的角度,这题要考你是否能发现常人想象不到的用例。以上的回答中有不少好的例子,比如muse21的“3 带广告的图案沾水后是否掉色、模糊”;bottle的“f.装水,并且放入汤匙,看杯子是否能平稳放置而不会倾倒在桌上”...我还听说过其他一些好的答案,比如“杯子设计是否上大下小,在运输过程中可以套在一起有效利用空间,在使用时也容易拿开”,“为国际化和本地化的需要,广告图案和文字是否在政治、宗教和文化方面具有广泛的适用性”...有必要指出,超常的想象力只有同现实性相结合才能显其高妙,胡思乱想到无理取闹反会弄巧成拙。

        还要考察你捕捉关键问题的能力,看你是否答出了一些关键的测试用例。比如安全性问题。杯子所用的材料(包括纸基、涂层和广告颜料)是否符合食品卫生标准,在内外温度等环境因素下是否会与所盛各种饮料反应,而产生对人体有害的物质。所有与人的饮食有关的产品,这一条应该是头等重要的。

        zhgliu提到“规格说明书”也是非常好的。我们都知道测试是从设计阶段就开始。所以做为测试不仅要确保设计的规格明确,并按规格设计测试,还有责任对杯子的设计提出建议,对不合理的设计提出更该。Mslgn的“如果是一次性杯子,能否标示已使用(比如变色)”和“杯子是否有使用者标贴(多人使用时防止混淆)”就是非常好的设计建议(我在美国市场还没见过有这种功能的纸杯,不知国内现在是否有)。另外还有人建议杯子上不要印广告,或至少要有没有广告的品种,因为团体消费者可能不能接受。

        还有人提出用户试用测试用例,比如由公司组织一个晚会,晚会上提供各种免费的饮料,让大家试用这种纸杯。测试人员在晚会中观察并向来宾收集意见。

        这个问题显然没有标准答案。但要想用你的答案打动考官则需要一定的经验和素质。

    参考整理答案
    1、容量(冰,凉水,开水)
    2、抗摔能力(空杯,半杯水,满杯水,以及不同的温度下)
    3、一杯开水(假定100摄氏度)保温的时间(多久后变到室温),自然还有冰块在室温下多长时间融化
    4、残疾人士用此杯去喝水的容易程度
    5、广告的图案是否容易剥落?
    6、纸质。
    7、带广告的图案与广告的切合程度。

    一、GUI测试:
    1 看其形状、大小设计是否适合人方便拿起;
    2 外观是否吸引人(广告嘛),赏心悦目;
    3 带广告的图案沾水后是否掉色、模糊。

    二、功能、压力测试:
    A 考量其装载能力:
    在杯子内分别装入少量的、半杯的、满杯的:
    1 热水;
    2 冷水;
    3 冰水;
    4 咖啡;
    看其装载量和装载时间以及纸杯拿在手中的硬度是否达到设计标准
    B 装入热水后,纸杯是否有异味。

    三、24*7测试:
    装入液体后记录其多久以后漏水。

    摘自:《测试新手学习宝典》

  • 测试基础之软件错误类型分析

    2009-01-06 19:55:22

        通用的软件测试错误划分大致可以分为程序错误和软件错误两大类,现分述如下:

    【程序错误】
    1、程序编写。程序的编写是否有语法错误。这是程序运行的最起码条件,具有语法错误的程序根本无法编译,更谈不上运行了。一般不会出现该类错误。

    2、程序运行。是否有数据溢出或死循环等;

    3、语句描述。程序在编写时候是否出现不适当的语句等,主要是对于变量的赋值和引用而言。

    4、测试数据。对于需求说明书或设计说明书的要求,对典型的有效、无效或任何可能输入的数据,是否能得出相应的预期结果,包括正确的输出结果和非正确的输出结果。是否做了无效数据输入的报错处理等。

    【软件错误】
    1、需求错误。主要是针对需求文档进行分析,是否存在需求不合理或是逻辑错误等。

    *2、功能错误。包括功能是否遗漏、冗余,或是出现意外情况的异常处理等。

    *3、性能错误。包括处理时间、运行速度或其它性能指标。(参照需求规格说明书),不做额外的逾越测试。

    *4、软件结构错误。程序控制流或控制顺序及处理过程是否有误等。

    *5、数据错误。包括数据的定义、存取或操作等错误。

    6、软件实现和编码错误。是否按照代码的相关编写标准进行的。

    7、软件集成错误。接口和数据的吞吐量是否不协调等。

    8、软件系统结构错误。包括引用环境是否正确等。

    9、测试定义与测试执行错误。包括测试方案及实施、测试文档的一些问题,还有测试用例不够充分等。

        其中,最为常见或是容易出现错误的环节则为2、3、4、5四个环节。

    参考《计算机软件测试技术》 郑人杰。

  • 测试人员与技术人员沟通之我见

    2009-01-06 11:47:46

        从我们降生的那一刻开始,我们就与我们生存的环境中的其它人产生了联系,这颗纽带将伴随我们的一生,我们不同脱离群体而独自生存,与人沟通,是我们一生都要学习的功课,他帮助我们成长。

        工作上的与人沟通更是每天都要面临的沟通关系。现代社会不允许单枪匹马的个人英雄主义,团队思想与沟通技巧贯穿着所有的行业和工作。

        在这里,我只简单的剖析一下软件行业领域里,作为测试和开发人员的沟通问题。只是工作期间的一些愚见,随便写来,供大家褒贬。

        单讲沟通工具:本人建议即时通讯工具和面对面沟通相结合的方式。QQ、MSN、飞鸽、其它一些公司的内部局域网沟通工具等等,不胜枚举,对于传文件或是简单的需要沟通的事宜通过工具可以省时间,提高效率,但是对于一些技术上或是其它方面的问题,我建议还是需要面对面沟通。

        程序员整天对着代码,与人沟通的机会相对比较少,喜欢闷头研究,出了问题就在msn等工具上提出来,有时候表达不完全时候,两个人针对一个很简单的问题会一直争执不下,或是因为一两句不带任何语气的话而影响情绪,这都无形给工作带来了弊端,影响了效率和感情。有时候当面一句话能解决的问题,在网上要说上好几句也未必能真的解决。

        一个优秀的测试人员,应该知道哪些问题是应该给开发人员提出来的(毕竟,它也是从开发走过来的),对于一些不是很重要的bug,测试人员应该予以补充或作为备注,并提出个人的一些想法,尤其是这个bug有可能发生的潜在隐患。开发人员呢,对于举手之劳能改的地方尽量满足测试人员提出的需要修改的地方。毕竟,作为一个团队,每个人都是为了更好的完成项目或是工作。开发人员要不断的从测试人员那里吸取经验,测试人员也要考虑开发人员的工作量和难度,这样的话,沟通工作就相对容易些。

        其实,每一个开发人员都是对自己所做的软件认真负责,这个不容置疑,但对于测试人员提出的问题,本能上一般的人都会有抵触心理,测试人员说白了就是挑刺的,把找出多少个系统bug为己任,这两者表面上看充满了对立与矛盾,有矛盾就会有统一,当开发人员和测试人员都把自己看成这个软件或系统的创造者之一的时候,它们在共同完成一件作品,只是分工不同罢了。有矛盾才会有进步,在测试与开发之间,同样适用。

        工作易做,沟通难做。当我们尝试着用换位思考的角度面对任何问题时,一切就不会总那么针尖对麦芒了。工作是一门技术,沟通是一门技巧,以扎实的技术作为根基,灵活友善的运用沟通的技巧,也许所有的工作看起来就不那么难进展,人与人之间就不那么难沟通了。 

  • 自学之路:好的计划是成功的一半

    2009-01-06 11:08:31

        方法+坚持+机遇=成功。

        一个好的计划是成功的一半。如何做一个行之有效的自学测试的方法,并坚持下去,是我这几日苦思冥想后想要立即付诸执行的计划之一。

        学习需要克服的障碍:几乎未写过代码;C语言在10年前自学过;数据库只对SQL有所熟悉;测试经验只鉴于手工简单测试,少之甚少。。。。。。

        学习时间:每天抽出4个小时学习软件测试。

        学习内容:

        第一阶段,继续翻开C语言书籍,回顾C语言,其实就等于重新学习。熟悉数据库ORACLE等。熟悉软件测试的一些基础概念及内容,书籍《测试新手学习宝典》、郑人杰《计算机软件技术》(鉴于以前在做项目管理期间,一直在读这本书,继续看完它)。

        第二阶段:熟悉各类测试工具的使用。(鉴于本人对工具的了解和掌握应该算比较容易)

        第三阶段:尝试编写测试小工具,为白盒测试做准备。  

        第四阶段:测试相关文档的编制等。这一工作偶以前都做过,对于文档的编写流程和规范、格式比较熟悉,这一阶段主要是将学习的内容融入到文档的编写过程中,这对于今后若有可能参与软件测试工作提供了标准化、专业化的基础。

        预期完成时间:2个月。

        难度颇大!希望各位过来的前辈们给予指正和提出建议,并能提出不足之处和其它需要克服的困难,小女子不胜感激。

        自勉之:鉴于平时还有其它学习计划,譬如英语翻译资格证考级,信息分析学习,为此,学习任务任重而道远,真的不想半途而废,顶住压力,勇往直前,路慢慢其修远兮,吾将上下而求索。

        加油ing!先喝杯咖啡,休息一下!然后投入战斗。  

  • 解读2008年新成语

    2009-01-06 10:41:42

    【正龙拍虎】

    典出

    2007年10月12日,陕西省林业厅宣布陕西发现华南虎,并公布据称为陕西省安康市镇坪县城关镇文采村村民周正龙拍摄到的华南虎照片。周正龙获奖赏。这一轰动性的消息随即引来广大网友的质疑,指可能是他(们)用纸老虎造假。一网友称“华老虎”的原型实为自家墙上年画。同时,义乌年画厂证实确曾生产过老虎年画。周正龙拍虎事件因此被揭露,周成为天下人耻笑的对象。

    释义

    ① 意指某人或某集团为利益驱动做假,被揭穿后还抵死不认;

    ② 讽刺社会公信力缺失;

    ③ 比喻无中生有;

    近义词:无中生有、指鹿为马、欲盖弥彰

    反义词:实事求是

    语法:连动式;作谓语、宾语、定语、状语;含贬义

    例句

    ① 汉芯造假者正龙拍虎,最终咎由自取。

    ② 中国彩票正龙拍虎,再次告诉国民双色球再创彩市中奖纪录 一名彩民独中1.02亿元,使彩民趋之若鹜。

    【秋雨含泪】

    典出

    余秋雨2008年6月5日在其博客发表的博文《含泪劝告请愿灾民》。余在文中含泪劝告要求惩处豆腐渣校舍责任人的请愿灾民,说他们在地震中死亡的孩子全都成了菩萨,已经安宁,不要因为请愿而横生枝节,被反华媒体利用来进行反华宣传。余秋雨的含泪劝告被许多网民批评为腐败的政治帮闲和谄媚的文化口红,余秋雨含泪也被形容为鳄鱼的眼泪。

    释义

    秋雨含泪是主(秋雨)谓(含)宾(泪)结构。被引申为假惺惺的鳄鱼眼泪。

    例句

    我是真想帮灾民做点事,不然,岂不成了秋雨含泪了。

    【兆山羡鬼】

    典出

    山东省作协副主席王兆山2008年6月6日在《齐鲁晚报》发表的词《江城子-废墟下的自述》:“天灾难避死何诉,主席唤,总理呼,党疼国爱,声声入废墟。十三亿人共一哭,纵做鬼,也幸福。银鹰战车救雏犊,左军叔,右警姑,民族大爱,亲历死也足。只盼坟前有屏幕,看奥运,同欢呼。”。

    释义

    兆山羡鬼,面对6万多死难者竟作诗道:“纵做鬼,也幸福”,被引申为冷血动物的代名词。

    例句

    人家家中出了人命,如果你都不去看一下,你这不就是兆山羡鬼了吗?

    【林貌杨音】

    典出

    在万人瞩目的第二十九届奥林匹克运动会开幕式上,当林小朋友高高地站在台上对口型时,我就诧异怎么是录音的。后来才知道问题比我想象的更为严重,原来是另一个杨小朋友的配音。

    释义

    指为了某种原因和目的有意犯下冒名顶替的错误,没有代人受过的意思。

    “林貌杨音”这个新成语还揭示了两个新的含义。一个是为了追求完美无缺而以假乱真,另一个是以所谓的“国家利益”的名义就可以干任何违背常理常情的缺德事。

    例句

    中国文化中武侠文化长兴不衰,无非折射了林貌杨音式的极度自私的文化价值体系中所产生的一种强烈寻求社会公正的愿望。

    【聚打酱油】

    典出

    起源艳照门街头采访广州电视台在街头采访一个过路市民对“艳照门”有什么看法时。那个有趣的市民回答道:“关我叼事,我是出来打酱油的。”之后成为了网友集体的表达方式。 “(聚)打酱油”原指一些人对新事物漠不关心,甚至无知。

    释义

    言外之意,只是过路而已,所以没有什么意见。这跟“路过”“飘过”的意思是一样的。

    典故

    其实打酱油是有典故的,那个接受采访的猥琐男其实还是比较有文化的。

    说以前,夫妻二人想要干点那事,就得想办法把孩子支开,所以就让孩子拿个碗出去打酱油。这样孩子不会走的太远,相对比较安全,而且用碗去打酱油,又不能走的太快,这给了夫妻两足够的时间。所以呢,打酱油是比较隐晦的,也就是非礼勿视的意思。

    例句

    对于谁谁谁移民了、谁谁谁整容了、谁谁谁能上春晚了这些事情,大部分人其实都抱着聚打酱油的态度。

    【月球挖坑 (欧阳挖坑)】

    典出

    2007年11月26日,中国国家航天局正式公布嫦娥一号卫星传回的第一幅月面图像。由于有人置疑这幅图是抄袭美国的.中国探月工程首席科学家欧阳自远在对此作出澄清时,提供了首张嫦娥一号卫星所摄月面图像,图像上某个地方有两个小坑,而美国2005年最新确认的月面图像上,同样的地方只有一个小坑。并以此表明中国的图片是自主的。

    欧阳自远院士说,多出来一个小坑,或许是美国图像的分辨率还不够高,或许是在2005年至2007年间月球遭受新的小天体撞击而形成的。但还有一种可能性: 据说有人对照片进行了对比分析后,找到了图片完整的错位拼接线,长约一百多公里,错位约3公里半。网友似乎倾向于认为两个坑是拚图人员的无心之失.欧阳院士一不小心,坑挖到了月球上去了。“多出来的那个坑很可能”,不过,这个结论与探月工程首席科学家的身份很不符合。

    释义

    网上多用来形容拥有一定身份的人说话不严谨,下结论极不负责任。

    例句

    你真的认为这台电脑的Windows是因为房间不够热才蓝屏的吗?小心月球挖坑噢。

    【范跑郭跳】

    典出

    在2008年6月7日凤凰卫视《一虎一席谈》节目中,范美忠就自己“先跑事件”与节目嘉宾展开辩论,作为观点对立方的郭松民几次暴跳如雷,并用“无耻”、“畜牲”、 “杂种”之类的字眼对范美忠进行了辱骂,情绪异常激动,中途甚至一度愤怒离场。结果,郭松民被人视为道德伪卫士,受到普遍嘲弄;而范美忠则颇受拥戴,甚至有人称之为“中国教育的希望”。

    释义

    范跑郭跳意喻一丘之貉,五十步笑百步。

    例句

    你不要这么容易激动,搞得范跑郭跳一般,不好看。

    【黔驴三撑】

    典出

    2008年7月1日晚,贵州省省公安厅对“瓮安6.28严重打砸抢烧突发性事件新闻发布会”上的说明。其中在说明“关于李树芬溺水死亡事件的事实”时,有这样的描述:“约十分钟后,陈某提出要先离开,当陈走后,刘见李树芬心情平静下来,便开始在桥上做俯卧撑。当刘做到第三个俯卧撑的时候,听到李树芬大声说‘我走了 ’,便跳下河中……”很快,描述的这一细节中的三个俯卧撑就成为极具娱乐精神的互联网上网民关注的热点,在网民恶搞之下,“三个俯卧撑”很快火了起来。

    释义

    比喻有强大的本领可以自由发挥。赞美很好很强大。含贬义。

    近义词:神通广大、力大无穷

    反义词:无计可施、束手无策、黔驴技尽、江郎才尽

    例句

    ① 他现在表面上好像黔驴技穷了,但实际依然黔驴三撑。

    ② 他们队凭体力占了上风,真是黔驴三撑呀。

    【谁死鹿手】

    典出

    自2008年3月以来,我国很多婴儿食用了以三鹿为代表的含三聚氰胺的婴幼儿奶粉后,出现尿液变色或尿液中有颗粒现象。造成多名婴儿肾结石死亡

    三鹿奶粉事件,造成不少婴幼儿身体出现问题,民众对食品安全事件再度紧张。传统成语的“鹿死谁手”被网友改成“谁死鹿手”以表达对食品安全的无奈以及焦虑,隐约表达的还有个体在无良商业面前的一种脆弱感。

    释义

    始料未及的祸端。

    【猪涂口红】

    典出

    2008年9月9日,奥巴马在弗吉尼亚州莱巴嫩的竞选集会上说,麦凯恩开口谈变革,声称要改变华盛顿,但他根本和布什没有两样。奥巴马说:“你可以为猪涂上口红,但它仍然是一只猪。你可以拿一张纸包装一条旧鱼,然后称之为变革。但经过八年后,它仍然发出恶臭。我们已受够了。”

    释义

    原为英语俚语,Putting lipstick on a pig。意指为了欺骗或者诱惑他人而把某件事物粉饰得更有吸引力,但实际上是换汤不换药,类似“别以为穿了马甲,我就不认得你”。在美国总统候选人的用法中是指某项政策、措施、行动,并不能改变事情的本质,甚至更为糟糕。

    例句

    ① 卖原味内衣的姑娘说,所得款项将会用于赈灾。我们想起一句话,那就是猪涂口红。

    ② 旧车涂新漆,当好车卖,那还是猪涂口红。

    作者: 闹博  网络收集

    来源:http://www.bobopo.com/article/1003/50.htm

311/212>
Open Toolbar