SOG

SOG

日历

« 2008-10-07  
   1234
567891011
12131415161718
19202122232425
262728293031 

最新来客

最新评论

统计信息

  • 访问量: 2188
  • 日志数: 18
  • 书签数: 2
  • 建立时间: 2006-12-25
  • 更新时间: 2007-06-23

RSS订阅

我的最新日志

  • 【转帖】手机自动测试方案

    2007-6-23

    TestQuest CountDown手机自动测试方案

    2007-05-08 15:28:36 / 个人分类:手机测试

    一、全球无线和移动设备制造商所面临的挑战

    随着GSMCDMAWCDMACDMA2000及中国自主研发的TD-SCDMA等手机新技术的不断涌现基于业务应用层面开发和测试比重的增加,复杂度的不断提高以及手机和传统上基于PC的应用服务的快速融合,使得手机测试的难度和工作量大大增加同时,由于市场的竞争越来越激烈,每款手机的生命周期越来越短,手机厂商都希望领先于竞争对手将自己的新款手机投放市场以获得更多的利润,这就意味着留给手机研发和测试的时间将大大的减少. 在全球化市场中,设备制造商除按照地域性要求对终端功能进行定制外,还要满足国际移动运营商的入网测试需求,这对于国内终端设备制造商来说又是一个挑战。因此,如何在最短的时间内,最大限度地测试手机的各项功能和应用,有效的面对手机测试过程中日益增加的复杂性,并满国际移动运营商的需要,同时大幅降低手机测试的成本就成了摆在每一个手机厂商面前的一个重大课题。

    二、全球无线和移动设备制造商的测试需求

    为了提高最终用户体验,增加用户的忠诚度,移动运营商及移动设备制造商随着用户要求的不断提高以及通过不断的积累,都要求对移动设备在推向市场之前进行以下的测试:

    功能性测试、压力测试、性能测试和回归测试

    不同操作系统和硬件平台之间的兼容性测试

    不同网络环境下的交互性测试

    与其它厂商制造的设备之间的一致性测试

    应用程序之间并发性测试

    其它Non-UI测试

    从此可以看出,测试工作非常复杂,并且工作量巨大。而现在很多国内的移动设备制造商还在采用手工测试,而手工测试是存在着很大的局限性的:

    可靠性低:测试工程师在很小的手机屏幕上操作太久则容易疲倦,造成测试可靠性下降。比如,测试工程师可能会混淆‘O’‘o’,或无意中跳过测试规范中的一页。
    准确性差:比如,测试工程师难以发现包含100个字符的文本信息中的一个错误,或由于一步操作失误而不得不重新开始一个测试用例

    覆盖率小:手工测试难以发现出现概率较小的错误,或难以重现之前发现的错误。

    一致性差:当测试并发事件时,需要同时操作多个终端或同时运行多个应用程序。手工操作很难控制。

    测试过程的不可重现性。

    测试速度较慢,无法进行7*24的工作。

    因此,采用手工测试是不可能很好的在产品投向市场前的最后一关保证优良的产品质量的。

    三、现有的自动化测试工具已难以适应无线和移动行业日益增长的测试需求

    由于手工测试的一些弊端,很多移动终端制造商大都早已开始了自动化测试工具的开发及使用,然而传统的自动化测试工具对人员要求很高,而且还存在着操作系统,手机型号不同而导致测试用例的不可重用性。

    需要用户具有很强的编程技巧,需要编写大量脚本(C/Tcl/Tk…)来创建测试用例。

    QA部门(组织)熟悉行业测试规范,但是一般没有自己的技术开发团队,难以完成大量的编程工作。

    传统的自动化测试工具大多专门为某个手机平台或操作系统设计,很难应用于其它手机平台或操作系统。

    市场上终端采用的硬件平台、操作系统以及网络制式各不相同。在传统的自动化测试工具中开发的测试用例很难在不同的终端之间进行移植。

    四、TestQuest自动化测试平台 – CountDown

    美国TestQuest公司作为在全球手机及移动应用测试领域的领先厂商,基于近10年来和Verizon等全球知名的移动运营商,NokiaMotorolaSamsungZTE等手机厂商的合作过程中所积累的丰富经验,2006年正式推出了第四代自动化测试平台CountDown,从而真正解决了对任何手机制式,任何操作系统以及任何硬件平台的手机进行自动化测试的难题.

    专门为无线和移动行业设计的自动化测试平台。集成了测试开发、测试管理与测试执行功能;支持分布式研发团队之间测试资源的开发与共享。我们提供7*24的自动化测试解决方案,以帮助无线和移动设备制造商缩短产品在市场上推出的时间。

    适用于所有类型(Windows Mobile/Symbian/Linux/Brew等开放式操作系统和专用/私有操作系统,所有硬件平台 GSM/GPRS/WCDMA/CDMA/CDMA2000/TD-SCDM等制式)的手机和手持终端设备,提供完整端到端的自动化测试解决方案。

    自动测试过程基于UI(用户接口)/MMI(人机接口)实现:通过控制终端的键盘、旋钮和触摸屏来模拟测试工程师的双手操作;通过抓取LCD屏幕显示图像进行智能OCR识别来模拟测试工程师的双眼辨识文字或图像信息。真正实现独立于任何操作系统、任何硬件平台或任何网络制式的自动测试。

    全图形化的开发环境,使得用户无需编写任何代码即可完成测试用例的开发、调试及运行。并且,开发完成的测试用例,无需改动或稍微改动,即可移植应用到其它类型的手机或手持终端设备。

    CountDown自动化平台由TestDesigner, TestManager, TestRunner and AssetManager组成:

    TestDesigner 是一个全图形化的开发环境。用户无需编写任何代码即可实现Test Case的开发、调试及运行。

    TestDesigner

    TestManager 是基于 IE 浏览器开发的测试资源管理工具。帮 助用户进行测试规划、测试执行并对测试结果进行分析。

    TestRunner / DAS(Device Access Software) 控制本地或远程终端运行测试任务,并将测试过程中产生的日志 (Log) 文件传送到TestManager 以生成测试报告。

    AssetManager 使用 MS SQL Server 数据库统一存贮和管理测试资源,以方便各个分布式开发团队之间的资源共享。

    CountDown的各个模块不但功能上相互独立,还可以根据用户的具体需求布置在不同的地理位置;真正实现了全球范围内团队间的协作开发。

    可以真正实现:

    测试任何类型的手机或手持终端设备

    同时连接多个终端设备进行端到端的系统测试

    测试资源跨平台的移植和重复使用

    实现整个移动产业链上不同测试团队之间的开发协作


    全部脚印 不留脚印 留下脚印:
  • [转帖】无限通信术语介绍

    2007-6-23

    无线通讯名词解释

    字体:        | 上一篇 下一篇 | 打印  | 我要投稿

    OTA(Over-the-Air Technology)空中下载技术:是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。空中接口可以采用WAP、GPRS、CDMA1X及短消息技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。这样,应用及内容服务商可以不受平台的局限,不断开发出更具个性化的贴近用户需求的服务,如信息点播、互动娱乐、位置服务以及银行交易等。通过OTA空中下载技术,手机用户只要进行简单操作,就可以按照个人喜好把网络所提供的各种业务菜单利用OTA机制下载到手机中,并且还可以根据自己的意愿定制具体业务。

    2.5G:是基于2G与3G之间的过渡类型。代表为GPRS。比2G在速度、带宽上有所提高 。可使现有GSM网络轻易地实现与高速数据分组的简便接入。

    3G:(third generation)表示第三代移动通讯技术。面向高速、宽带数据传输。 国际电信联盟(ITU)称其为IMT-2000(International Mobile Telecom-munication)。最高可提供2Mbp/s的数据传输速率。主流技术为CDMA技术代表有WCDMA(欧,日)、CDMA2000(美)和TD-SCDMA(中)。

    GSM:(Global system for Mobile communications)全球移动通讯系统。2G的主流技术,数据速率为9.6kb/s。

    GPRS:(General Packet Radio Service)通用分组无线业务。是一种基于GSM系统的无线分组交换技术。2.5G的主流技术。理论最高数据速率为171.2kb/s 。

    WAP:(Wireless Application Protocol)无线应用协议。它是无线互联网上的一系列协议的组合。面向移动电话等小型、窄带的移动设备。WAP能够运行于各种无线网络之上,如GSM、GPRS、CDMA等。

    J2ME: Java 2 Platform micro Edition 1999年6月诞生是JAVA2的一个组成部分,一种以广泛的消费品为目标的高度优化的JAVA的运行环境。现主要应用为掌上终端(PDA、手机)、电视机顶盒。

    CLDC:Connected Limited Device Configuration 连接限制设备配置。配置的作用是决定环境所使用的JVM J2ME使用的是KVM

    MIDP:Mobile Information Devices Profile 移动信息设备简表。J2ME有两种简表MIDP和KJava 手机上的开发使用的是MIDP。

    J2ME相关词汇FAQ

    1. J2ME是Java 2 Platform micro Edition的缩写。1999年6月诞生是JAVA2的一个组成部分,一种以广泛的消费品为目标的高度优化的JAVA的运行环境。现主要应用为掌上终端(PDA、手机)、电视机顶盒。

    2. MIDP:移动信息设备简表。J2ME有两种简表MIDP和KJava 手机上的开发使用的是MIDP。

    3. CLDC:连接限制设备配置。配置的作用是决定环境所使用的JVM J2ME使用的是KVM。

    4. J2SE SDK:支持J2ME的JDK 建议使用1.3版本。

    5. Palm:Palm是Palm公司生产的掌上电脑的名称,也是其*作系统的名称。经常使用的型号如Palm M505

    6. POSE :Palm*作系统在PC上的模拟器。

    常见的wireless名词整理
    -----------

    什么是1G/2G/2.5G/3G

    1G(first generation)表示第一代移动通讯技术。如现在以淘汰的模拟移动网。

    2G(second generation)表示第二代移动通讯技术。代表为GSM。以数字语音传 输技术为核心。

    2.5G是基于2G与3G之间的过渡类型。代表为GPRS。比2G在速度、带宽上有所提高 。可使现有GSM网络轻易地实现与高速数据分组的简便接入。

    3G(third generation)表示第三代移动通讯技术。面向高速、宽带数据传输。 国际电信联盟(ITU)称其为IMT-2000(International Mobile Telecom- munication)。最高可提供2Mbp/s的数据传输速率。主流技术为CDMA技术代表有WCDMA(欧,日)、CDMA2000(美)和TD-SCDMA(中)。

    -----------
    什么是GSM

    全球移动通讯系统(Global system for Mobile communications)的英文缩写。2G的主流技术,数据速率为9.6kb/s。

    -----------
    什么是GPRS

    通用分组无线业务(General Packet Radio Service)的英文缩写。是一种基于GSM系统的无线分组交换技术。是2.5G的主流技术。理论最高数据速率为171.2kb/s 。

    -----------
    什么是UMTS

    UMTS(Universal Mobile Telecommunication System)通用移动通信系统的英文缩写。由欧洲电信标准协会(ETSI)负责UMTS的标准化工作。并与ITU负责的IMT-2000协调一致。它是ITU IMT-2000的重要组成部分。UMTS使用ITU分配的、用于陆地和卫星无线通信的频带。它可通过移动或固定、公用或专用网络接入,与GSM和IP兼容。可支持2Mb/s的数据速率。
    -----------
    什么是CDMA(注:这里指3G的CDMA)码分多址的英文缩写,是目前公认的3G主流技术。目前存在3种3G的主流CDMA标准,分别是WCDMA、CDMA2000和TD-SCDMA。前两者分别由欧洲和美国提出,TD-SCDMA由中国提出(大唐电信),已被ITU和3GPP所接受。其中,WCDMA和CDMA2000是FDD模式,而TD-SCDMA是TDD模式(注:FDD-频分双工,需用两个频段进行收发;TDD-时分双工,采用同一个频段,但以不同的时隙进行。)

    -----------
    WAP和WML

    WAP是无线应用协议(Wireless Application Protocal)的英文缩写。它是无线互联网上的一系列协议的组合。面向移动电话等小型、窄带的移动设备。WAP能够运行于各种无线网络之上,如GSM、GPRS、CDMA等。

    WML是无线注标语言(Wireless Makeup language)的英文缩写。支持WAP技术的手

    机能浏览由WML描述的Internet内容。

    -----------
    I-mode 和 CHTML

    i-mode是日本电信(NTT)的子公司DoCoMo在日本市场推出的无线通讯服务。是目

    前世界上使用人数最多(都在日本)的无线互联网服务。I-mode 和 WAP 的主要

    区别在于:I-mode 的内容是用CHTML写成的,因此现行的大部分网络内容只要稍做修改可以使用;而WAP使用的是WML,现有的网络内容必须转化为WML才能被WAP所使用。CHTML(Compact HTML)HTML的一种变体。与HTML大部分兼容。

    -----------
    蓝牙(BlueTooth)

    蓝牙是一种支持设备短距离通信(一般是10m之内)的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。它的标准是IEEE802.15。工作在 2.4GHz 频带。带宽为1Mb/s(注:蓝牙这名字很有意思,来自公元10世纪统一丹麦和瑞典的斯堪的纳维亚国王的名字。)

    -----------
    Wireless LAN

    无线局域网,是由局域网发展而来,标准是IEEE802.11、IEEE802.11b 和IEEE802.11a。其中802.11b 工作在2.4GHz频带,带宽可达11Mbps。而802.11a定义在5GHz频带,带宽有望达到54Mb/s 。但相应地,Wireless LAN成本较高,使用昂贵。

    -----------
    HomeRF

    HomeRF主要为家庭网络设计的无线射频技术,是IEEE802.11与DECT的结合,旨在降低成本。HomeRF也采用了扩频技术,工作在2.4GHz频带,目前HomeRF的带宽为1~2Mb/s,未来会增到10Mb/s。
    -----------
    SyncML

    SyncML是一种行业通用的移动数据同步化协议。利用SyncML可使移动设备上的数据与远程数据保持同步状态。由Ericsson、 IBM、 Lotus、 Matsushita、Motorola、 Nokia、 Palm、 Psion和Starfish Software等公司组成的协会所开发。


    -----------
    VoiceXML

    VoiceXML(Voice eXtensible Markup Language)是W3C定义的可扩展标记语言(XML)的一种扩展,根据播放的提示信息、口述的命令、语音或按键音输入,实现人机交互。VoiceXML的标准化将简化Web上具有语音响应服务的个性化界面的创建,使人们能够通过语音和电话访问网站上的信息和服务。

  • 【转帖】我在软件公司成长的三年

    2007-6-23

    在论坛上看到一篇很好的帖子,初始看时觉得并没有什么价值,看到后来才真的是很受震撼。其实每个人的工作也都是这样子的,从刚开始的逐步适应到后来的重复性劳动,职业发展的道路就是这样,不同的人对待工作的态度是导致后期发展差异的主要原因。自己工作也有三年了,三年来也没有认认真真总结过自己的职业发展之路。迄今为止这是第三份工作了,前两份工作因为专业或者公司的原因,一直是虽然认真的去做,可是仅限于完成分内之事,自己并没有去积极的学习提高。现在第三份工作已经工作了尽一个月了,对工作也大概比较熟悉了,因为平时加班很多,所以晚上总是想着看看电视,看看新闻,休息一下,总是不想去学习新的东西。人都是有惰性的,不过不能因为一时的惰性而将目前学习充电、发展提高的时间而浪费过去。将这篇文章贴下来,平时看看也许能够多多督促自己,呵呵。

    【转贴】我在软件公司成长的三年

    我在软件公司成长的三年

    谨以此文与所有在琐碎、繁杂、平凡中日复一日地做着重复工作的人们共勉。
    writen by Swallow Xia,转载请注明出处。

    1前言
    写完2004年的工作总结以后,再翻了翻2002年和2003年的工作总结,真是“一年更比一年长”。看着总结,回顾着这将近三年来在SK工作的点点滴滴,感悟:原来,这就是成长的历程。于是,决定将三年的总结一起整理出来,对我在SK工作的三年作一个回顾,和大家一起分享,感谢一路上伴我走来的所有同事的关心、支持和帮助。

    2 2002年个人工作总结
    回顾2002年,难免感慨。
    在管理部从事前台文员半年多以来,工作主要可以归纳总结如下:

    2.1 例行工作
    认真做好来电的接听、访客的接待工作,做好订饭、订水工作;
    做好文具的购买计划和消耗总结工作;
    做好每月的考勤工作;
    做好长途电话的管理工作;
    将公司内的图书、杂志编号、分类整理,形成电子文档,使图书、杂志的管理规范化;
    协助做好招聘工作;
    做好办公室内务管理工作。这其间,因为排气扇导致电源跳闸多次与装修公司、物业管理处协调;注意植物的保养、更换及办公室内的清洁、保洁;注意复印机、打印机、热熔装订机等办公设备的保养。

    2.2 临时安排的工作
    组织每个月的团队活动。先后组织到暨南大学打球、天河公司游泳、天河公司烧烤、员村文化宫打球、从化温泉度假,都取得了较好的效果,加强了同事之间的交流,活跃了公司气氛。另外,9月底曾策划员工欢送大会,欢送吴涛等离职员工。

    办好公司的内刊。从七月到十二月,一共办了五期内刊。经调查,普遍认为水平尚可。但因为大多数人工作较忙或其他原因无法投稿,造成每一期内刊的都存在稿源不足的问题。未能想方设法调动员工的写稿积极性,除了自身原因之外,也与管理层等其他因素有关。

    公司网站的建设。由于没有制作网页的经验,所以存在很多技术问题不知如何实现。在不断学习的过程中,修改了主页,实现了公司产品等部分链接。因为公司形象需要重新策划,此项工作暂时告一段落。

    2.3 协助其他部门工作
    销售部成立后,曾参与销售部的销售例会,整理会议记录及销售部一些常用资料、表格;
    协助开发部制作国资、灯饰ERP等项目的部分图片;
    协助市场部进行国资宣传资料的排版、整理;
    另外还参与了公有物业产品化的测试及《授权管理》等几次幻灯片的制作。

    总的来看,2002年的工作是尽职的,但也有不少的遗憾。考勤的管理一开始并不规范;长途电话也因为疏于管理存在一些不良现象;没有投入全心的精力去办内刊;网站的建设太过于缓慢而且效果不够好;工作的确不够饱和,时有不知该干什么的感觉;个人能力的提升不够……在管理部的遗憾,可惜因为岗位的调换已无机会弥补。

    调到开发部,这是上级对我工作的肯定,对我个人而言是新的开始,也是新的挑战。除了要努力扮演好开发部“文档管理员”这一角色以外,希望我能在开发部掌握更多的技术知识,不断提升自我。

    2003年,我希望做得更好!
    2003年个人工作总结

    犹记得我的2002年工作总结是以“2003年,我希望做得更好!”为结尾的,时间如此匆匆,2003年的个人工作总结转眼间提到了案前。
    2003年,怀着这种希望做得更好的心态,我不断学习、不断追求、不断进取。

    3.1 前台文员→文档管理员→配置管理员
    年初,刚开始得知要调来开发部的时候,我是喜忧兼半。喜的是我去年的工作得到了公司的肯定,给了我一个更好地发挥自己和学习的机会;喜悦过后,更多的却是迷茫,不知道将会面临什么,能不能胜任新的岗位是个未知数。那个时候,开发部的软件过程也刚刚开始建立,还没有配置管理员这一说法,只说是把我调职过去做文档管理员,负责管理开发部的技术文档,协助部门一些内务。

    最初的学习过程是比较苦涩的,不懂软件工程;不懂VSS;不懂ROSE;不懂UML建模;更是从来没有听过配置管理……对于工作有关的一切都是问号,开会的时候更是经常当愣头鸟。工作中,学习成了首要的主题,不学习,就不可能做好工作。将近三个月的时间里,从VSS到配置管理;从ROSE建模到UML语言;从面向对象的了解到对软件过程认识……在不断地学习过程中,对工作,有了一个基本的概念。5月的时候,我的工作表现得到了领导的肯定,受到了表彰。

    虽然如此,但我并不满足于只是做文档管理员,只做简单的文档管理工作,我希望学习更多的配置管理和软件工程方面的知识,将项目中简单的版本管理融入配置管理的思想。最早的时候,公司的开发文档资料处于一片混乱之中,每个开发人员的电脑里都存有一份自己开发的工作版本,找不到哪一份是最新的。收集整理了国资一期、二期、产品化项目、南海国资升级项目、公有物业等一堆残留资料以后,也对东进ERP、财务异常警示系统项目中进行了初步的版本控制。再接着,到了企业转制与处置项目、三水项目的时候,开始制订了配置管理计划,项目的配置管理能够按照计划较为有序地进行,开发资料也能够定期进行备份,确保公司宝贵资源不会丢失。

    SAM一期项目是公司最大的一个项目,也是涉及人数最多的一个项目。能否按照以前的方法进行配置管理,是否能够考虑用其他更好的配置管理工具?这个项目该怎么管理,我思索良久。经过对另一个免费的版本管理工具CVS的一番摸索之后,对两个工具的优缺点进行了比较,最终还是选择了VSS作为项目的配置管理工具,但在目录结构、权限分配和流程方面作了不少的调整。就这样,在工作中不断学习,不断地改进,使我,使开发部的大家都对配置管理工作有了较为完整的认识。

    现在,无论是三水项目、SAM一期项目,还是接下来要做的天津项目、新疆项目、肇庆项目……无论是谁,都会深深地意识到配置管理在项目中的重要性,主动地希望用工具来进行版本管理。而公司各个系统的资料也在我的“仓库”里完好地存放着,作好了备份。回想起一年前在还没有配置管理员这一角色前开发资料混乱的管理,仿佛已是半个世纪前的事情!

    3.2 项目组成员→“自由人”→质量与进度监督小组成员
    调入开发部伊始,我被纳入财务异常警示系统项目组,并且说明,我所扮演的角色比较特殊,凡属开发项目我都需要参与其中。于是,我先后加入了财务异常警示系统项目组、东进ERP项目组、南海国有资产管理系统项目组。那段时间,让我感觉开会、作会议记录成了工作中不可缺少的一部分。开发部大大小小的会议要参加,作会议记录;项目组内部的会议要参加,了解进度;各个项目组的评审会议要参加,要准备好评审的制品,作会议记录……
         
    接着,我的岗位结构作了调整,我成了一个不属于任何项目组自由人,反而要对各个项目的制品、进度进行管理。工作的内容没有多大的改变,在结构上却开始发生了变化。

    成为“自由人”的时间并不久,开发部很快地成立了质量与进度监督小组。我成为了其中的一员,从此,我又变成了一个“有组织”的人了。我们的小组成员不断增加,队伍不断壮大,成员由一开始的两个人发展到了现在的四个人。工作范畴包括对各个项目组制品质量监督、进度监督、测试、配置管理、里程碑评审……成立了小组以后,开始想到了制订规范和制度。这段时间,我更加积极地学习软件质量管理和CMM体系的知识。经过学习,再加上对工作的不断总结,我先后在开发部制订、颁发了开发资料管理办法、服务器数据库管理规定、个人工作管理表格填写说明、测试流程;草拟了配置管理规范、里程碑评审规范、需求管理规范,规范了软件过程的各种文档的模板。

    3.3 写用户手册生手→“专家”
    第一次写用户手册是在财务异常警示系统的时候。财务异常警示系统是公司第一个完全按照软件过程规范并且运用J2EE进行开发的项目,对于公司来说,是在技术上、开发制度上的一个里程碑的飞跃。我有幸地加入了项目组,除了负责配置管理工作以外,还负责系统用户手册的编写。

    万事开头难,从来没有写过用户手册的我,接到任务的时候忐忑了好久,不知道要怎么写。财务异常警示系统面向的用户是具有丰富财务知识的财务总监,涉及了大量的财务知识,面对取数运算元、标准运算元、异常、方法……这一大堆陌生的术语,不仅要学会怎么使用它,还要写成文档,教会别人怎么使用。我只好尽量多学多问,问巫锦新,问林戈,抓住机会让他们教我怎么使用,怎么表述。终于,第一份用户手册出炉了,图文并茂,自我感觉比公司以前系统的用户手册好多了。因为如此,这份用户手册经过多次COPY,作为指导,被接下来一个又一个的项目在写用户手册时所引用。也就是在那个时候,我学会了怎样看ROSE模型了解用例,怎样通过需求规格说明书了解系统功能,怎样在什么也不懂的情况下问人……

    自始之后,写用户手册和帮助的工作似乎变成了我的专利。东进ERP系统、企业转制与资产处置系统、三水公有资产管理中心系统、SAM事项审批系统、SAM行政事业版,每一个开发项目的用户手册或帮助似乎都和我脱不了关系,虽然这期间也有派其他部门、其他人员参与协助。而我,不知什么时候起,竟然成了写用户手册的“专家”。要负责指导、教会别人怎么应该怎么写,甚至挑剔着别人写的内容过于简单不够充分,不能说明系统的功能;排版不符合规范;截图随便,没有反映真实内容……

    3.4 2003年获奖次数最多的SK员工
    2003年,对我而言,在公司可以算是光荣的一年。
    5月,因为调职开发部以后工作表现突出,我获得了公司的表彰和奖金;
    6月,我获得了财务异常警示系统项目奖;
    7月,在半年总结中,经过全体员工投票,我获得了进步奖;
    8月,我获得了企业处置与资产转制系统的项目奖;
    11月,对于工作的情况向唐总提了一些个人的看法,意外获得了合理化建议奖。
    虽然奖金微薄,但我深知这其中饱含公司对我工作的种种肯定,而这些小小的荣耀也在一步一步地激励着我前进!

    3.5 不足和遗憾
    总觉得还有太多太多的工作需要完善,有太多太多的东西需要学习。
    在配置管理方面现在只是进行了比较简单的版本控制,初步实行了需求管理,虽然写了这方面的规范,但还没有颁布执行,配置的审核、产品的发布管理……还有很多的东西需要规范,需要完善。

    质量与进度小组需要规范的制度很多,目前还没有一个质量体系指导工作;测试方面没有制度;项目的进度监督需要有制度……方方面面的规范,都来不及在2003年做好。

    个人的技术能力提高不大,不懂系统分析、不懂设计、不懂开发,在工作中时常感到力不从心。另外,到目前为止,只能熟练地运用VSS进行版本管理,对于其他版本管理工具如CVS、ClearCase的掌握不够,还没办法根据不同项目的情况自如地使用不同的版本管理工具进行管理。学习编程知识,能够看懂源代码,看懂分析设计模型,掌握更多的配置管理工具……这些都是我2004年工作所向往的。

    写用户手册是一个工作量大、时间甚长的工作,除了做好本身的配置管理、质量与进度监督的专职工作以外,其他的时间几乎都花在了 “兼职”写用户手册上。现在,SAM行政事业版用户手册的编写正在紧张地进行着。这一次,我在总结以往经验的基础上,对其风格作了不少修改,比以前更加清晰、明朗、详细。我希望写成一个模板,一个值得不断借鉴、引用的模板,这样以后的系统都不必再烦恼用户手册该怎么写,每个人只要看到这个模板,照着里面的内容、格式直接引用就可以了。能够在公司培养成更多写用户手册的专家,我也可以功成身退,分配一点时间去学习新的东西!

    3.6 完结
    写着,写着,总结,再总结……不断地回想着2003年,可以总结的东西竟然如此之多。无论如何,我想我是进步很多的。计划着2004年我该怎样秉承SK“诚信、和睦、实干”的文化,百尺竿头、更进一步提升自己;盘问着今年的努力够不够,年度的加工资会不会有我的份?憧憬着,努力着……
    革命尚未成功,同志仍须努力!迎向2004之时,我对自己如是说。

    2004年个人工作总结
    从踏入12月以后,就开始思付要写2004年的年度工作总结。一直没有动手,除了忙碌可以作为理由以外,更重要的是,不知道该怎么把这一年做过的许多零乱而繁杂的工作总结成文。

    有人把工作总结当成一种形式,作为应付上级领导的苦差,我却发自内心地想写总结,通过总结,可以清楚、明晰地知道自己一年来做过什么,欠缺什么。好的,需要继续发扬的;不好的,需要加以改进的,都会在总结中一一罗列,鞭策自己。

    2004年,我都做了哪些工作?还得从头回顾,娓娓道来。

    作为质控部一员,我的工作却囊括了质控、研发、营销三大部门,随着公司的机构调整、人员变化不断调整和变化。按照部门分类,可以把我2004年的工作总结如下:

    4.1 质控部门工作
    质控部门的主要职责是负责监督和控制研发中心内产品和项目开发的工作进度与质量,包括质量保证、软件测试、过程监督、配置管理、技术评审。我在质控部门的工作也围绕着这几项来开展。

    4.1.1 配置管理工作
    配置管理工作是我的主要职责,在这一年内,我负责了研发中心所开展的十二个项目(包括三水项目、SAM行政事业版、天津项目、南海项目、SAM经营版、新疆项目、资产运营管理系统项目、江西国资委产权管理系统项目、河北省国资委业绩考核项目、技术准备项目、茂名项目、技术支持性项目,下文所提的十二个项目均指上述十二个项目,不再重要提及)的配置管理工作。

    (1)根据项目的规模、性质、简繁,视情况针对各个项目开展常规的配置管理工作。包括:
    制定配置管理相关制度和流程(有相关文档,但未遵照执行)
    配置管理计划的制定(当项目规模较大时)
    配置库的建立(按照项目编号,每个项目建立一个配置库)
    对项目内各成员的用户帐号和权限的分配
    定期检查配置库的使用情况,督促开发人员定期提交、更新相关的代码、文档,有需要时设置Label,记录重要基线
    定期对配置库进行备份,设置对配置库进行日自动备份,每半年进行一次资料刻录。

    (2)对研发中心内所有成员的配置管理培训,使受训人员了解公司配置管理流程及VSS使用情况,从而更好地开展项目过程中的配置管理工作。
    包括:
    4月份针对软件产品与项目的配置管理过程、配置管理工具VSS的使用等方面的知识,对研发中心全体成员进行了一次总体培训。
    对4月份后研发中心新招聘的员工分别进行公司配置管理过程及配置管理工具VSS的使用培训。
    注:个人编写、准备的培训材料包括:配置管理基本知识(见附件一:配置管理培训.ppt)和VSS使用说明(见附件二:VSS使用说明.doc)。

    4.1.2 制度编写及流程改进工作
    为了更好地提高工作效率,规范部门工作、个人工作,方便部门与部门之间的交互,这一年,在工作过程中结合领导要求、个人想法、同事意见,经过思考,在工作过程中制定、颁发了一些制度、整理了一些文档,对质控和研发工作的改进提供了一些帮助。包括:

    (1)年初,研发中心设立产品、项目、质控三个部门伊始,各个部门之间独立开展工作,信息比较闭塞,而各个部门之间工作关联性大,需要不断沟通和交互。为了减少沟通成本,使部门与部门之间的信息交互、沟通能够更方便、更快捷,提议建立了项目部、产品部、质控部各个部门的部门配置库,将各个部门的制度及规范、会议、培训、计划与总结、个人周报等各种信息统一集中管理,大大方便了公司高层领导了解各个部门的工作开展情况;部门与部门之间相互了解彼此工作开展情况;部门成员之间了解彼此的工作开展情况。(见附件三:部门配置库管理办法.doc)
    注:后面由于公司机构设置,将产品部、项目部合并为研发中心,也将配置库进行了合并。

    (2)为了规范SAM行政事业版及后续产品序列号管理,编写了SAM行政事业版系统系列号管理办法(见附件四:SAM行政事业版系统系列号管理办法.doc)。
    注:因产品的销售没有如计划般覆盖全国,该办法没有产生作用,如果尘封硬盘。

    (3)为了规范公司内部产品的发布,将公司内部所有已经定版的产品、项目安装到SS服务器统一发布,并将各个系统的访问地址整理成文(见附件五:公司系统访问地址.doc)供公司内部开发人员、技术支持人员、市场人员访问系统,了解各个系统功能。
    注:因为后期SS服务器中毒瘫痪,部分系统不再采用BS浏览器访问模式,采用需要到各台机安装才能使用的CS模式,没有再将此项工作持续进行下去。目前上面公布公司的网址因为SS服务器中毒后瘫痪未恢复无法再访问,系统的发布需要另觅它处。

    (4)为了方便公司新老员工对公司所有项目情况有一个整体的了解,对公司历年来开展的项目信息进行了整理(见附件六:公司历年项目信息列表.doc)。

    (5)由于前期质控部在了解各项目进度进展时需要分别与每个项目的具体负责人交互,当涉及的项目、人员较多时比较费时,且无法及时了解每个项目的进度情况,建议由项目负责人每周填写项目进度周报(见附件七:项目进度周报.doc),再统一将每个项目的进度信息汇总到“项目进度综合报告”(见附件八:项目进度综合报告.xls),以方便公司领导、质控人员及时了解各个项目的进度,开展后续的测试等工作。
    注:后期部门合并,人员减少,质控部门纳入研发中心一起开会后,可以通过会议了解各个项目每周所开展的工作汇总项目进度信息,取消了项目进度周报。

    (6)针对开发人员在开发过程中使用VSS出现不及时提交、更新代码、使用VSS时出现的普遍错误,编写了配置库管理规范(见附件九:配置库管理规范.doc)和使用VSS常见错误(见附件十:使用VSS常见错误.doc)。

    (7)针对开发人员在项目开发过程中,对个人代码没有较好地把关,出现较多常见的低级性错误,对测试的依赖较强,造成测试人员工作量大且繁琐。部门内决定对项目测试过程中出现的Bug定期进行统计,并将统计结果公布到公告栏中(见附件十一:项目缺陷统计表.xls)。

    (8)针对各个项目发布版本混乱,经手人过多且没有对项目过程中重要的版本进行label记录,造成有些重要版本无法追溯的情况,制定了项目重要版本记录表(见附件十二:项目重要版本记录表.xls),对十二个项目可以追溯的重要版本进行了整理,记录在表中,并在研发中心部门内推广、执行。

    (9)以质控部的角度对研发中心2004年所开展的所有项目,从质量、进度、成本等各个方面进行总结、分析,为公司后续要开展的项目提供经验、指导,方便公司领导、研发中心所有成员回顾、了解2004年的项目质量情况(见附件十三:2004年项目质量总结.doc)。

    4.1.3 软件过程监督工作
    软件过程监督工作包括:
    对项目的软件过程执行情况进行监控,定期向上级反馈各个项目的软件过程执行情况。
    对项目开展的计划进度与实际进度进行跟踪,每周定期更新项目进度综合报告(见附件八:项目进度综合报告.xls)记录各个项目每周的进展。

    4.1.4 软件测试工作
    由于质控部人手少,负责测试的只有一人,测试任务繁重,在测试工作紧张的情况下有时也协助测试人员做一些简单的测试工作,包括:
    协助进行SAM经营版的简单测试工作(主要针对财务异常警示子系统和决策支持子系统)
    对北京机关事务管理局演示版本的测试
    对资本管理系统的测试(拿到新疆去的第一版)
    协助进行三水产品化项目的测试
    协助产权关系管理系统客户端的测试
    测试工作主要针对上述各个系统的功能、界面提出完善性建议及分担部分Bug的查找工作。

    4.1.5 评审工作
    评审工作也是质控部门的工作之一,在质控部门参与的评审工作包括:
    前期协助组织了SAM经营版项目各个阶段的评审工作,包括会前发布相关评审通知、评审制品;会中进行评审意见记录;会后对评审结果进行跟踪。
    中期由于公司部门机构调整、管理人员变化,取消了公司层面的评审,直接由项目内部进行评审,未参与其中工作。
    后期参加了茂名项目的评审会议。
    注:目前评审工作开展得比较薄弱,主要因为旧的软件过程制度不满足目前各个项目的需要,新的软件过程没有明确颁布,故没有明确应该以何种形式开展评审工作。这类工作参与得不多。

    4.2 研发中心工作
    4.2.1 文档编写工作   
    除了负责质控部门的工作以外,本人还担任了研发中心大部分项目的文档编写工作,一年中,写过的文档不下千页,实在是一项很考验耐心的工作。总结起来,2004年写过的文档包括:
    SAM行政事业版用户手册(包括Word文档版和CoreDraw印刷版)
    SAM经营版用户手册、安装手册
    资本管理系统用户手册(拿到新疆用的版本)
    三水项目(用户手册、安装手册)
    江西国资委产权管理系统的软件功能列表、系统功能流程图、用户手册、产品白皮书
    河北省国资委业绩考核管理系统的产品白皮书、用户手册、安装手册、演示PPT
    茂名项目用户手册(正在进行中)

    4.2.2 软件使用培训工作
    因为负责研发中心内各个项目用户手册编写工作的缘故,对各个系统的功能、操作流程、注意事项均比较熟悉,可谓除了负责测试的小曾以外最熟悉公司所有系统的人。所以也担负了部分对公司内部成员使用系统的培训工作。包括:
    在公司级内组织开展对技术支持人员、营销人员使用SAM行政事业版的培训
    在公司级内组织开展对技术支持人员、营销人员使用SAM经营版的培训
    根据需要对公司内各部门的人员单独培训单个系统的使用

    4.2.3 演示数据准备工作
    为了使公司系统在给客户演示的时候能够达到较好的效果,帮助商务攻单,先后配合进行了两次较为大型的演示数据准备工作,包括:
    江西国资委产权管理系统一千多家企业数据的整理、导入数据库,形成产权关系树;
    重庆客户业绩考核系统几百个Excel表的演示数据准备。
    另外,平常还不定时的视情况配合商务人员准备其它系统的演示数据。

    4.3 营销中心工作
    8月份,负责营销中心文职工作的小曹离职以后,我开始接替她先前的部分工作。包括:

    4.3.1 奥汀软件的管理工作
    奥汀软件的管理工作量不多,无非就是拥有管理员的权限,每次营销人员负责的区域、客户发生调整、变化的时候;有新员工入职的时候;有老员工离职的时候给相关人员重新分配权限,帮助新员工学会安装、使用该软件。就是这么一件看似简单的工作,有时却令我扼腕。在使用奥汀软件的过程中,最痛苦的事情莫过于公司调整营销人员负责的客户,需要对各地客户进行经手人变更的时候。奥汀软件的经手人变更功能没有批量选择、批量修改功能,每次只能一个客户一个客户地选中——点击右键——经手人变更——选择变更后的经手人和变更原因,有时一调整就是几百个客户,连续不断地上千次鼠标点击,点到手酸。

    由此,我深深体会到,在编程的过程中,考虑到用户操作的方便性是多么的重要,就是这样一个简单的批量选择、批量修改功能,开发人员在编码的时候花不了几个小时,但由于没有考虑到用户这方面的需求,导致成百上千个客户增加几十倍的工作量!这一点,会不会给开发人员一点启示呢?

    曾经找负责奥汀软件客服的人员抱怨过这个问题,他给我的回复是,在我们的新产品中已经增加了这个功能。换言之,要用,付钱吧。多么令人讨厌的事情,我们总不能为了那个批量功能特意再掏钱买个新版本吧?

    前段时间由于DS服务器硬盘突然无端端损坏,造成存放所有客户资料、联系记录的奥汀数据库丢失。而因为我先前不了解服务器的安装等原理,也没有人跟我交接数据库的备份工作,只找到了以前的管理员7月份的备份版本,造成7月份以后登记的全部客户资料和联系记录丢失,造成销售人员大大的不便,这其中的损失,没有估量。自此之后,我意识到备份工作的重要性,现在无论是营销方面存放客户资料的奥汀数据库还是研发方面用的项目配置库,都会作好几手的备份,保证万一有意外,也不致造成数据丢失。可见,简单的工作,如果没有人做,有时也能带来不可意料的后果。

    4.3.2 建立配置库整理资料
    一直以来,营销中心的各种资料都是放在公司的OS服务器或个人电脑上,这当中包括部门内的各种规章制度;各个产品的资料,包括宣传单页、产品白皮书;各地客户的资料,包括针对某个客户做的方案、演示用的PPT、相关客户的反馈意见表;各个产品的培训资料、公司领域知识的相关资料,零乱而分散地放在各个不同部门的目录,各个不同负责人的文件夹中。文件的命名有的以日期为后缀,有的以Vx.y版为后缀,有的以new或old为后缀,要找一份文件,真不知道哪里下手,找出来的,还不知道是不是最新的。

    目睹此情,我把整个OS服务器翻了一遍,把分布在各个角落的文档一一翻阅,有用的,拿出来,按照部门规范、部门会议、产品资料、客户资料、系统安装、培训资料、行业知识七大分类对各种资料进行整理,用VSS建立了一个配置库,像所有项目的文档、代码那样,纳入版本控制,把文档都集中管理起来。

    可惜宣传做得不够,营销人员也没有体会到这样做的好处,现在我整理出来的营销中心配置库,除了有新员工进来,我可以比较自豪地叫他通过这个配置库,系统而完整地找到很多公司以往客户、产品、行业知识的相关资料以外,平常营销人员写的方案、PPT等资料还是习惯各自放到自己电脑上,共享给别人的时候发邮件,用一个个的日期或者new、old的标记标示着版本的新旧,不习惯用配置库保存、管理自己的资料。一个人若想一下子找到另一个人负责的东西,比较难……

    4.3.3 会议记录
    在公司内,我还有另外一份兼职工作,就是整理会议记录。无论是营销部门、研发部门还是质控部门的会议,经常都会充当会议记录的角色。经常会在开完会,整理完会议记录发送到相关人员的邮箱后听到有同事对我说:“会议纪要整理得不错”之类的话语,有了这些鼓励,使我在参加每一次会议时用心聆听,不怠动笔。

    4.3.4 协助其他人员的文档工作
    小xia,帮我把这份标书排一下版吧,你排版比较熟;小xia,能不能替我整理一下各个系统的功能模块,你对各个系统的功能了解比较多…… 每当听到有人要我帮忙协助这样那样工作的时候,如果不是手头有事安排不过来,只要力所能及,我一般都来者不拒。这些工作不再一一细数,只记得某同事对我说,我要向唐总提议,年底设立“最佳协助奖”,设立了,就投你一票时,我会心一笑,其实,那都是举手之劳。

    4.4 个人收获与体会
    不知不觉中,一年的工作总结竟然写了有五页之多。看着一行行打出来的字,才知道我做的工作比我想象中还要多、还要琐碎、还要杂;不知不觉中,我也发现,在这貌似没有长进的一年中,其实也有不少的收获。

    4.4.1 关于改进工作
    这一年,我最大的收获就是,在工作过程中能够不断地发现问题,用心思考怎样采用更好的工作方法解决问题。于是,这便有了上面的“见附件一”到“见附件十三”。这些看起来很平常的文档,有的却是我困扰良久、茅塞顿开忽然想出来的办法。我想我不会忘记,当我建议项目部建立部门配置库,用VSS对部门事务进行管理,得到杨经理认可,再得到唐总好评时那种藏在内心的自豪感;也不会忘记,当我听到罗经理在研发会议上说:“小xia在工作的过程中总是能够提出很多自己的想法,给我们带来意外惊喜”时的成就感。虽然很多东西在推行、实施的时候,效果并不如自己意想中的好;有的甚至只开了个头就再也开展不下去;有的根本没有人知道、关心我在做什么……毕竟我对工作曾经那样用心良苦地思考过,我想,这会是我得益一辈子的东西。

    4.4.2 关于身兼数职
    不看内容、光看目录就知道,我做的工作横跨质控、研发、营销各个部门,各种类型都有,实在是杂、杂、杂。虽然如此,我还是很不情愿地用“打杂”两个字来形容我的工作。张瑞敏不是说了么:“把每一件简单的事做好就是不简单,把每一件平凡的事做好就是不平凡”。汪中求也有言:“对于敬业者来说,凡事无小事,简单不等于容易。大量的工作,都是一些琐碎的、繁杂的、细小的事务的重复。”我深有体会,能够把这些平凡而又简单的事情都做好,绝非易事,更会在参与这各种所谓的杂事的时候得到或多或少的收获。未来的日子,让我继续努力,达到把“简单的招式练到极致就是绝招”。

    4.4.3 关于写文档
    当我看到打印出来的行政事业版的400多页的用户手册有枕头那么高的时候,我惊叹:这些,都是我写的吗,都是我一个字一个字从键盘里敲出来的吗;
    当我看到写出来的产权管理系统用户手册印刷成册、精美包装的时候,我自豪:成就感徒然而生,我的文字竟然通过这种方式变成铅字了;
    当我看到售前人员、实施人员、营销人员看着我写的用户手册、安装手册学习系统的操作、使用、安装的时候,我高兴:我写的东西能够给别人提供帮助。

    尽管如此,现在动笔写一个庞大系统的用户手册之前,想到日复一日对着键盘敲字;对着系统界面截图;对着没有成熟稳定操作起来bug连连的功能;对着甚至没有任何文档参考的系统冥思苦想怎样表述它的功能时,再想到写完以后还要根据客户的需求发生变更,修改相应的系统功能再修改相关用户手册功能操作时,还是会禁不住汗颜。半是恐惧之中,可喜地发现,在写用户手册等文档的过程中,也能得到不少提高呢。

    经过这样一个接一个项目文档编写的千锤百炼,我的写作能力大大提高。现在,无论叫我写什么文档,不管是用户手册、安装手册、会议记录还是产品白皮书,不管是用Word、Excel、Powerpoint还是要用上Visio、Project、Photoshop,虽然谈不上信手掂来,但是以前那种“纵有千言万语不知如何下笔”的心情却不会再有。某次当我苦恼着跟罗经理说不知道某文档要怎么写的时候,他开玩笑地对我说:“还有什么文档你不会写的吗?”,禁不住一乐,对写文档的恐惧也开始淡化。

    因为对每个项目都有写用户手册的任务在身,所以不单会从宏观角度跟踪项目的进度,了解项目情况,而且会从细节着手,小到了解每一个功能、每一个按钮的作用,有意见可以及时反馈,帮助改进软件功能、优化界面。也因为这样,我比公司大多数人都了解各个系统的功能、操作,了解公司的产品。这些,何尝不是一种收获呢?

    4.4.4 关于坚持
    以前,如果别人说我:“做事只有三分钟热情,心血来潮过后就无声无息”的时候,我会无言以对,没有理据反驳。因为,在我过去二十几年的人生中,除了每天例行的吃饭睡觉,实在是没有什么东西称得上坚持过的。记得曾经兴致勃勃地想过早上要起床背单词,周末要坚持运动,每周要坚持练听力……最后都因为这样那样的理由和借口而搁浅,没有一样事情能坚持哪怕一个月。

    现在,虽然我还是有很多事情想过要做之后不能坚持,但却有一两件事情让我可以骄傲地说:我也是一个可以坚持的人。

    生活中,我坚持每天自己做饭、带饭到公司来吃,这中间的理由有很多,不过最终发现,热爱做饭、并且爱吃自己做的饭是最大的理由:);坚持写网络日记,虽谈不上日日更新,却会隔三差五地去记录自己平凡生活的一点一滴,一年多下来也收获良多。

    工作中,我坚持写个人工作管理表格,做到对工作日计划、周计划,日总结、周总结,不管上级领导有没有要求,主动自发地坚持;每周坚持在项目进度综合报告中记录这一周哪些项目做了哪些事情,进度如何,虽然也没人要求甚至没人关心那份文档。

    因为这两样坚持,使我在一年结束的时候,可以把自己做过的工作回顾得这么清楚,把总结写得如此详细;可以有根有据地写出一份长达上万字的04年项目质量总结报告;可以有这么多的感触和收获……想起那句听过无数遍的“贵在坚持”。

    4.5 结语
    职场中很流行一句话:衡量一个人工作的好坏,不在于这个人做了多少工作;而在于你的工作有没有为公司创造价值。我没有站在销售一线冲锋陷阵签过单;也不曾轰轰烈烈地能够在短期内开发出一个软件来占领市场的能力,甚至不会写代码,不能直接解决客户的需求;更没有通霄达旦地加班加点,超乎常人地付出自己的劳动。我所做的,都是自己职责所在、力所能及的工作,这些工作,能为公司创造多少价值?不曾衡量过。

    有位前辈在给我提意见的时候这样建议道:“以后信心要强,希望你能有发展,每天提高自己,有计划的学习。建议加强:文档管理、日常事务处理能力、人际关系(表达),书写能力。培养职业女性的气质,比如:穿着,站的肢势,说话的方式,果断大方的说话风格,从细节入手。不要像小女孩,一两句打击的话就让你心里不高兴,要懂得自己控制自己的情绪……”,这些话,我一直铭记在心,在此谢谢为我如此中恳地提过意见的他。我知道,自己还有很多很多需要学习的地方,也一直在努力,希望可以“每天前进一步”。
    2005年了,前方的路要怎么走?我追求什么,希望得到什么?我轻轻地问自己的心,带着一连串的疑问,思索,再思索……

    4.6 附录说明
    附件一:配置管理培训.ppt
    附件二:VSS使用说明.doc
    附件三:部门配置库管理办法.doc
    附件四:SAM行政事业版系统系列号管理办法.doc
    附件五:公司系统访问地址.doc
    附件六:公司历年项目信息列表.doc
    附件七:项目进度周报.doc
    附件八:项目进度综合报告.xls
    附件九:配置库管理规范.doc
    附件十:使用VSS常见错误.doc
    附件十一:项目缺陷统计表.xls
    附件十二:项目重要版本记录表.xls
    附件十三:2004年项目质量总结.doc




  • 【手机测试自动化实现】

    2007-5-13

    测试
  • 【转帖】手机相关

    2007-5-13

     

  • 手机操作系统和平台

    2007-5-13

    智能手机:操作系统 开发平台一一细盘算 
     
        一、手机操作系统(OS)
        手机操作系统(OS)作为连接硬件、承载应用的关键平台,扮演着举足轻重的角色。 目前市场上的手机操作系统主要有四个:Symbian、Smartphone、Palm OS、Linux。
         由诺基亚、摩托罗拉和爱立信等几家电信巨头联手组建的Symbian平台,是智能手机市场中的实力派,安装Symbian的手机占全球智能手机出货量的70%,其得到了大多数传统手机制造厂商的支持。不过,今年8月,摩托罗拉宣布放弃 Symbian股权。
        Symbian分两个主要的智能平台,一个是适于单手操作的S60,代表产品是诺基亚7650、3650;另一个是双手操作的S80,代表产品是诺基亚的9210,主要针对商务用户。此外Symbian上还有另一个平台UIQ,以笔操作为主,代表产品是索尼爱立信的P802。
        在Symbian上的这几个平台以S60最为核心,目前,市场中已经有1000万台S60手机。诺基亚、索尼爱立信、西门子、三星等企业都在应用S60平台进行开发。相比较于其它几个智能手机平台, Symbian由于是从手机的使用特点出发,在手机用户的接受程度、手机软件的易用性、运营商的合作习惯等方面,都有优势。
    Palm则是凭借在掌上电脑市场上的优势地位进入智能手机领域的,目前的市场排名仅次于 Symbian 。
        Smartphone 是软件巨头微软针对移动智能终端基于Intel手机芯片开发的操作系统,代表机型是多普达Dopod686。今年微软推出了Smartphone 2003中文版。得到了越来越多手机制造商的支持,对 Symbian 和Palm产生不小的冲击。
    嵌入式 Linux 系统的典型代表是摩托罗拉在智能手机A760。基于Linux的只能手机可能会在将来成为 Smartphone 及其他手机操作系统的强大对手。

        二、智能手机开发平台:
        目前,智能手机的开发平台主要有:JAVA、BREW和 .NET。
        1、JAVA
        目前在在移动领域广泛使用开发平台是Sun开发的J2ME(Java 2 Micro Edition),即用于嵌入式系统的Java。J2ME技术由一个虚拟机KVM(K Virtual Machine)和一组API组成,这组API适合于为消费和嵌入式电子设备提供经过剪裁的运行环境。
        KVM(K Virtual Machine)虚拟机本身仅仅需要40-80KB内存、20-40KB动态内存(堆),能够运行在16位25MHz处理器上。经典手机6688I由于支持K-JAVA,功能可以无限扩展,从而成为手机发烧友的最爱,其在友人网的手机论坛至今仍是热闹非凡。
        J2ME为移动互联引入了一种新的模型,即允许手机可以从互联网上下载各种应用程序,并在手机创造可执行环境离线运行这些程序。作为Java技术在移动电话等小型设备的版本,它针对屏幕、电能和内存等资源有限的移动设备进行了优化和定义,为了解决无线设备多样化的矛盾,Sun依照各种设备的资源特性将J2ME技术架构分为Java Virtual Machine(JVM)、配置(configuration)和说明(profile)三层,然后再进一步细分,这使J2ME能够在每一类设备的限制下工作,而同时提供最低限度的Java语言功能性。
        由于定义了可执行程序下载的标准,并在手机上创立了可执行环境和程序开发语言,由此,在移动通信业第一次为软件开发商创造了巨大的商业机会,手机用户在得到丰富应用体验的同时,也大大提高了运营商的网络流量。
        Java有句名言:“编写一次,随处运行”(Write Once,Run Anywhere),也有人戏称为"Write Once,Debug Anywhere"。从实际情况来看,二者都有一定的道理。
        缺点:目前支持J2ME的移动设备处理速度还比较慢,Java服务应用软件相对较少。
        2、BREW
        美国高通公司的BREW(Binary Runtime Environment for Wireless)平台是一种为无线设备提供开放式标准平台的瘦应用程序执行环境,是无线应用程序开发、设备配置、应用程序发布以及计费和支付的完整端到端解决方案的一部分。完整的BREW解决方案包括面向开发者的BREW SDK (tm)(软件开发包)、面向设备制造商的BREW应用程序平台和移植工具以及由运营商控制和管理的BREW分发系统(BDS)。利用该系统,他们可以轻松地将开发者开发的应用程序投入市场并协调计费和支付过程。利用运营商基于BREW的服务,用户可以通过从运营商的应用程序下载服务器上无线下载应用程序来自定义手持设备。
        BREW平台是独立于空中接口的技术,所以BREW与任何网络的结合都非常平滑。在CDMA2000 1X网络中可以充分利用其高速的数据传输速率,为最终用户带来极具冲击力的用户体验。
        到目前为止,中国联通已经有了基于BREW平台所开发的商用程序,如: Adventure(环球历险记)、Any Flash (安凯软件)、 City Online(都市在线)、 E4E Stock(股票)、 Hit Submarine(决战四大洋)、 Instant Weather(天气快报)、 Mobi Escape(莫比大逃亡)、 Suc Esc(星际生存)、Yao Ming Basketball(姚明篮球)等。
        缺点:BREW目前开发工具还不成熟,主要用c语言来开发。另外,全球有34家运营商采用了Java,而只有8家运营商采用BREW,它的应用范围相对较小。
        3、.NET
        .NET 是Microsoft XML Web services平台,是一组开发工具和操作系统集,用来生成、公开和消费XML Web服务,通过智能设备实现个性化的集成Web。它由四部分组成:.NET框架和 Visual Studio.NET ,服务器结构,构造块服务,智能设备软件。
        XML Web services允许应用程序通过Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。 Microsoft.NET平台提供创建XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。
        .NET框架是一个用于生成、部署和运行XML Web服务及其他应用程序的环境。它包含三个主要部分:公共语言运行库、框架类和ASP.NET。.NET框架压缩版是伴侣结构,它有一套编程接口,以供开发人员开发面向智能电话和PDA等移动设备的软件。
        从根本上讲,.NET是关于使技术为人们所用,而不是强制个人适应其计算机的限制。利用.NET,无论何时何地,您总能连接到您首选设备上的信息。利用.NET,您可以保护您的个人信息和企业数据,同时允许有您的授权的他人连接到这些信息。
        .NET的缺点:该平台的一些设计太过理想,不保证能达得到(至少短期内是如此)。

  • 手机企业

    2007-5-13

      附:获得“最具全球竞争力深圳手机企业”名单:

    “金都奖”

    企业名称

    •  最具全球竞争力手机终端企业

    华为技术有限公司
    中兴通讯股份有限公司
    宇龙计算机通信科技(深圳)有限公司
    深圳市金立通信设备有限公司

    •  最具全球竞争力手机芯片企业

    深圳联发科技有限公司
    深圳安凯微电子技术有限公司
    深圳市中兴集成电路设计有限公司

    •  最具全球竞争力手机渠道企业

    深圳市天音通信发展有限公司

    •  最具全球竞争力手机生产企业

    深圳富士康科技集团

    •  最具全球竞争力手机集成企业

    深圳市朗杰电子有限公司

    •  最具全球竞争力手机蓝牙企业

    深圳市浦诺菲电讯有限公司

    •  最具全球竞争力手机电池企业

    比亚迪股份有限公司

    •  最具全球竞争力手机电芯企业

    深圳市比克电池有限公司

    •  最具全球竞争力手机外壳企业

    耐普罗塑胶五金制品(深圳)有限公司

    •  最具全球竞争力手机显示屏企业

    深圳天马微电子股份有限公司

    •  最具全球竞争力手机连接器企业

    安费诺东亚科技(深圳)有限公司
    深圳市商立科技有限公司

    •  最具全球竞争力手机电声企业

    AAC瑞声声学科技(深圳)有限公司

    •  最具全球竞争力手机PCB企业

    联能科技( 深圳 )有限公司

    •  最具全球竞争力手机摄像头企业

    深圳青鸟光电有限公司

    •  最具全球竞争力手机增值企业

    腾讯科技(深圳)有限公司

    •  最具全球竞争力手机工业设计企业

    深圳市嘉兰图产品设计有限公司


     

    诺基亚的S60之类的是操作系统的型号,是Symbian操作系统,不仅仅是Nokia,索爱的高端智能机P系列也用的是Symbian系统,现在最常用的是S60系统,

    Moto一般使用Linux系统,C/E/V这个东西,根本不和上面是一回事,而是手机的型号

    附表:
    摩托罗拉


    A系列:总是领先潮流的、令人期待的、外观迷人的、技术领先的款式,例如:A768、3G智能手机A1000;


    T系列:总是处于流行前沿,实用的、功能丰富的款式,例如:T720i、T750(CDMA);


    V系列:价格公道的翻盖手机,样式比较流行,功能合理的款式,例如:V600、V171;


    C系列:样式比较酷,价格低的款式,例如:C650、C381;


    E系列:注重影音娱乐功能,面向年轻群体的款式,例如:E680、E398;


    另外,MOTO还将在今年推出两个系列的新品,它们分别是R系列和S系列:


    R系列:流行的功能,革新的设计思维,非同寻常的设计就像以前的V70一样,例如:未来的R800;


    S系列:智能手机,技术先进的手机,可能是MOTO转投微软的第一代产品的代号。

     


    诺基亚


    3开头的:有独特的外观和特别的功能的款式,比如3310、3300;


    5410:独特的运动型手机,具有三防功能;


    8开头的:时尚外观,功能新颖,例如:早期的8310、最近出现的8800;


    6开头的:商务手机,传统样式,例如:6600、6681;


    7开头的:注重图片应用功能,例如:7610、7270、早期的7650;


    9开头的:注重信息互动的高端智能手机,例如:9500。


    索爱


    索爱是目前市场上最受欢迎的品牌之一,由于这个品牌的年龄不大所以型号划分也相当好记,基本上是T、P 、S、Z四大家族。


    T系列:基本型手机,现在价格主要涉及中低端,是索爱主要的型号,例如:T290c、T628;


    P系列:智能手机,采用了先进技术的款式,例如:P910c(资料 文章 价格 评论);


    S系列:这个系列到目前为止只发布过一款手机,那就是S700c,它是面向青年人的时尚款式;


    Z系列:流行的样式,功能时尚的翻盖手机,例如:Z608;


    K系列:娱乐机型,这个系列应该是大家最为熟悉的,例如:K700c、K508c(资料 文章 价格 评论);


    加上05年推出的W系列和J系列,例如:W800c(资料 文章 价格 评论)、J300c。


    西门子


    虽然现在西门子手机被明基收购了,但是还是有不少用户在使用西门子的机器,西门子的型号划分也是相对


    固定的,它们最近的多款新手机的热卖也让西门子又一次成为了热点,我们非常有必要了解一下它的型号划分原则,看看究竟哪一种才是适合自己的。


    A系列:低价手机,例如:A65;


    CX系列:中端手机,例如:CX65;


    M系列:适合户外的手机,设计特别,价格中端,当然也有时尚因素加入其中,例如:M55;


    S系列:商务手机,例如:S65;


    SL系列:绝对时尚手机,例如:SL65;


    SX系列:智能手机,例如:SX1。


    C系列:C75 西门子下市的绝唱


    三星


    重点说下三星手机,三星手机在中国市场上一直都有不错的销售业绩,三星手机在中国的拥有率在各大品牌中已位居前三,在水货市场,三星手机更被人们戏称为“水货之王”,足以说明三星这一品牌在人们心目中的地位不低。三星手机无论是外观还是性能都很不错,从一开始的600C到现在最新的D608,几乎每一款手机都受到了广大消费者的青睐和认可。三星手机除早期型号用数开头外,其它都以英文字母系列划分归类。


    A系列:A188 A308等


    C系列:目前三星的低端直板机,如C218


    D系列:定位于高端娱乐影音功能,如现在最火热的D508,D608


    E系列:中高端的商务机 E728,E568,E818等


    S系列:高级商务功能系列,早期的S308,S508等


    M系列:三星早期的MP3手机系列,如SGH--M188


    T系列:早期的GSM彩屏折叠系列,也上大家最熟悉的系列,如T108、SGH--T208、SGH--T408、SGH--T508


    X系列:基于CDMA 1X网络的手机系列,也有个别的机型,如X108,X608等


    三星系列手机的型号前面都有前缀,包括SGH、SCH、SPH、STH等,它们的区别在于网络制式,带有SGH的为GSM手机,带有SCH的为CDMA手机,其它前缀的为其它网络类型,在中国没有出现

    黄页
    芯片企业
      ·英特尔   
    ·ADI
    ·飞利浦
    ·高通
    ·瑞萨科技
    ·德州仪器
    ·微控科技
    ·意法半导体
     
    配件企业
      ·KINGMAX
    ·NanoFocus
    ·仙宇电子
    ·无锡凯尔
    ·友元通訊
    ·loyal-battery
    ·澳柯玛新能源
    ·宝明光电子
     
    软件企业
      ·汉王科技
    ·南京移软
    ·Openwave
    ·凯思昊鹏
    ·爱可信
    ·数位红
    ·奇趣科技
    ·天津猛犸
     
    设计企业
      ·德信无线
    ·中电赛龙
    ·宇龙通信
    ·Mobicom
    ·禹华通信
    ·经纬科技
    ·上海毅仁
    ·宇梦通信
     
    手机分销商
    ·中域电讯
    ·中邮普泰
    ·协亨通讯
    ·天音通信
    ·中复电讯
    ·苏宁电器
    ·大中电器
    ·国美电器
     
    整机厂商
      ·诺基亚
    ·明基
    ·波导
    ·海尔通信
    ·多普达通讯
    ·三星电子
    ·夏新电子
    ·摩托罗拉

  • 【转帖】MTK]平台相关资料

    2007-5-13

    MTK平台入门资料

    编译工具和辅助工具:
    ADS1.2
    ADS12_update_842.exe
    MSYS-1.0.10.exe
    MinGW-3.1.0-1.exe
    ImageMagick-6.2.5-5-Q16-windows-dll.exe
    7z313.exe

    开始编译:
    切换到项目根目录,然后在命令行下面执行命令:
    make custom=proj gprs new
    其中,命令可以为 clean,     update,    remake

    目标文件:
    生成的目标文件为.bin文件, 位于 MTK\build\proj 目录下面,build 目录为生成的一个目录。

    Log文件:
    Log文件同.bin文件一样,也是位于 build 目录下,如果编译出错,可以在命令行中看到出错的模块, 然后到build 目录下找对应的log文件。

    仿真环境:
    工程文件 PixtelMMI.dsw 位于目录     MTK\plutommi\mmi 下面,由此可进入仿真环境。

    烧写程序:
    工具  Flash_tool.exe 可烧写程序。
    该工具的主要设置是 COM口 和目标文件位置。
    Download argent 和 scatter file 用自带的就可以了,选中这两项后,会出现ROM的选择项,点击后可选择.bin文件。

    设置好上面的参数后,连接上手机,将手机断电,然后按开机键就可以烧写程序了。

    Trace 工具
    在手机上往往要做一些trace,这就要用到trace工具---Catcher.exe。
    手机上打 trace 接口为kal_prompt_trace,如同agere平台的GSMprinf.
    使用 Catcher.exe,
    要先要设置 DataBase,这个文件是在编译的时候生成的,是个没有扩展名的二进制文件,该文件位于 \MTK\tst\database_classb,例如, BPLGU..。
    在 Catcher.exe 中,设置 DataBase 的方式是 configà set database path
    其次, 要设置模式为logging,这样才能进行下面的设置。
    该设置位于  controlà modeà logging
    第三,要设置好COM口。
    第四, 打开连接开关,表示 Catcher.exe处于待命状态。
    第五, 设置filter。这个可以过滤一些自己不需要的log。有时半天不出现log, 这时候重新选择一下filter一般就会解决问题。
    Filter设置路径为  controlà set filter

    Catcher.exe 使用的连接线给烧写程序用的线是同一条。
    保存log:
    在log区域选中想要保存的log  (可用shift+ 鼠标),鼠标右键选save as…
    有时为了方便测试,会设置trace默认关闭, 需要的时候可以打开。
    该设置在工程模式下。
    设备à set UARTàTST Config, 设置合适的UART 口。比如,UART1是可以trace的。

    编译出错:
    有时编译会出现莫名其妙的错误,比如一刚刚可以编译通过,现在却不行,.


    以上为项目开发的基本环境和基本过程
    接下来的内容,则是具体的开发细节
    ―――――――――――――――――――――――――――――
    添加文件:
    开发过程中,少不了加减文件, 删除文件实际上是添加文件的相反过程,因此略过。
    MTK设置了很多lst 和 pth 文件供用户添加文件,这些都在make文件夹下。用户可以自己添加模块,也可利用原有的lst 和 pth 文件添加。以下以添加在 MTK\make\plutommi 为例。
    添加头文件路径:
    plutommi.inc
    添加本模块路径:
    plutommi.pth
    添加源文件路径:
    plutommi.lis
    添加完毕,这些文件就可参与编译了。

    添加开关:
    开关真是个好东西。依靠它,可以将没有价值的功能瞬间屏蔽,又可以将我们需要但又搁置的功能瞬间启用。能者上,不能者下,多么类似于社会法则。
    添加开关 在make文件夹下面的 .mak文件里面。
    注意事项:
    有人喜欢模仿MTK原做法,在 .mak文件里面使用一个开关管住另外一个开关。那么两个开关不要同名,否则开关起不了关闭的作用。

    添加string资源:
    1. GlobalDefs.h 中增加ID
    2. population.c 中将ID和 string关联
    3. plutommi\Customer\CustResource\PLUTO_MMI\ref_list.txt 中增加ID 和各种语言的文本
    有了以上3个步骤,即可使用该文本资源了。

    编译后,在 plutommi\Customer\CustResource下面 会生成新的
    CustStrMap.c 和
    CustStrRes.c
    这两个文件中就包含了新增的string资源

    添加图片:
    1. GlobalDefs.h 中增加ID
    2. population.c 中将ID和 string关联
    3. 增加图片到解压后的包里,增加完毕,应打包。plutommi\Customer\Images\PLUTO176X220
       里面的文件夹是生成的,可以在cc上看到为private。
    4. 添加进去后,要打包,如果仅添加在文件夹里面会被清除。

    如果没有找到图片文件,手机显示的时候是一个红色的*
    添加图片时,注意路径用4杠

    在NVRam中增加成员:
    需要增加ID,指出每块大小,以及总的块数 和缺省值。
    每块大小最好为偶数。
    修改下面的文件:
    Nvram_user_defs.h:  ID, 大小,个数
    NVRAMEnum.h
    Nvram_user_config.c
    custom_nvram_editor_data_item.h

  • [转帖]基于Agere平台的手机自动化测试实现

    2007-5-12

    基于Agere开发平台的GSM手机自动化测试解决方案

    发布时间: 2007-4-16 11:12    作者: 楚才    来源: 51testing无忧测试电子杂志第二期

     

    【摘要】本文就杰尔系统( Agere system )平台基础上开发的 GSM 手机自动化测试提供一些技术介绍,并结合实际例子讲解一些应用经验,来说明自动化测试在手机功能测试一级中所带来的效率。

    【关键词】手机平台,杰尔系统, Trace , PTE 命令,手机软件功能测试,自动化测试

    •  国内手机功能测试现状:

    当前国内手机厂商和设计公司据统计已达到 300 多家,但至今所有的设计开发都是基于国外技术平台基础上的二次开发,即通常所说的 MMI 开发, 提供开发的手机平台目前主要有德州仪器( TI ),英特尔( Intel ),飞思卡特( freescale ),杰尔系统( Agere system ),英飞凌( infineon ),瑞萨科技( renesas ),菲利普半导体( philips ),意法半导体( ST ),美国博通( broadcom ),美国模拟器件( ADI ),微控科技( wavecom )。通常这些平台供应商的核心技术都不对外开放,只为购买其开发平台的用户提供一个可二次开发的环境,比如本文所要介绍的自动测试所基于的平台 ——Agere system , 它在其软件架构的上层为开发用户做了一层 UI ( User Interface ) , 并做了最基本的 AL 开发,通常方案提供后可以直接作为国内厂商用于 FTA 测试,这即是国内众多手机厂商和 design house 开发和测试的母体。

    曾听一位从事手机功能测试的同仁说 “ 做手机功能测试只要有手就可以了 ” ,确实手机功能测试很容易给人一种是简单而重复按键操作的感觉。但手机功能众多,并且回归测试工作量大,如果单个测试工程师靠手动按键来执行所有测试用例,花费的时间少则几小时,多则需要几天的时间,这样耗费大量测试时间的同时也容易让测试工程师产生疲倦甚至是厌倦心里,很容易造成测试的遗漏。手机测试中常碰到很多重复性高的工作,如发送数条 SMS 或者 MMS 以验证其收发成功率以及稳定性、连续进行多次呼叫、多次对文件系统进行添加删除操作、多任务多进程情况下的冲突测试以及极限测试等等,都是重复性高的工作,手动执行的话费时费力,如果能有一套自动执行的机制,将能大大提高测试的效率。

    由于手机平台的特殊性,国内通常都没有自动化测试工具支持手机功能测试,纷繁复杂的功能测试大多只能通过文本化测试用例的指导,由广大测试员手工来完成。手机这种板机的 MMI 功能测试不同于基于 PC 上的 MMI 测试,后者借助 PC 平台,目前市场上已有非常多功能强大且通用的自动测试工具支持其测试,如比较典型的有 Winrunner , Robot , Loadrunner 等等,但这些工具通常不能兼容到象手机这种嵌入式系统中来。当然平台供应商对他们底层 lay1 , lay2 , lay3 的测试都有自己开发的测试工具来自动执行,但这些工具暂时都不提供给国内的开发厂家。

    为了解决上述手机测试工作中的困难,笔者所在的测试团队经过不断的总结实践,目前已在基于杰尔系统( Agere system )平台上建立了一套实用的自动测试机制,通过该机制的建立,不但调动了测试工程师的工作积极性和热情,同时也大大提高了测试的效率。下面将围绕 Agere 平台上自动测试机制给大家做个总体介绍。在讲述该方案前,将先对 Agere 平台的窗体和消息,以及手机同 PC 的数据交互原理做个简单介绍。

    •  手机中的窗体和消息:

    功能测试时,在手机上每按下一按键,都是在特定的窗口下完成其功能,窗口处理函数接收到窗口所用键盘中定义的按键消息后执行相应的处理,完成指定的工作。这里所谈的窗口系统本质上是一个链表,主要是响应手机中常用的三类消息:用户的按键操作、 GSM 网络消息、以及计时器消息。

    手机中窗体处理函数结构通常如下:

    static UINT32 TestWindowProc( UIWINDOW * win, UINT16 cmd, UINT16 wParam, UINT32 lParam )
    {
    switch ( wParam )
    {
    case EV_KEYSEND: /*按发送键*/
    CALL(MAOTelNumber);
    return TRUE;

    case EV_KEYEND: /*按挂机键*/
    ENDCALL(MAOTelNumber);
    return TRUE;
    ......
    default:
    break;
    }
    }

    在窗体中除了对消息的实时处理外,还有通过具体的消息传递函数对本窗口中消息进行派发和定向流动,通常有 GSM 消息的流动和键盘消息的流动,派发 GSM 消息时,依据窗口建立的逆向顺序逐层往上流动,而键盘消息只向上传递一层,即子窗口向父窗口传送。 在系统功能测试过程中,窗口中的消息执行情况是看不到摸不着的东西,但是各个窗口中这三类消息的处理以及消息的派发流动都是测试所必须了解和测试的重点,怎样才能直观的看到,跟踪并了解这些消息的执行情况呢?测试工程师可以通过在跟踪点加测试桩或者跟踪语句来实现追踪,利用杰尔系统的 trace 工具( optitrace )以文本的形式输出所需要了解的信息,根据这些信息的输出流程和实际数据,以达到测试跟踪和分析的目的,如上面这一简单例子中所列举的两个事件 EV_KEYSEND 和 EV_KEYEND ,最简单的跟踪是通过在这两类事件触发前增加类似于 print 跟踪语句,判断 “ 发送键 ” 按下后是否在指定的窗口里执行到 EV_KEYSEND 事件并调用呼叫函数 CALL 执行呼叫请求 , 实际运行时,根据 optitrace 工具所显示的 print 信息观察程序的运行及消息的执行情况,跟踪的手段很多,在此就不详细列举。下面介绍 PC 怎样通过 Optitrace 工具实现同手机板机的数据交互。

    •  手机与 PC 的数据交互

    通常每个平台为软件开发提供一系列的开发套件,常用的有仿真软件、 Trace 跟踪分析软件、 Download 目标代码的装载软件等等,通过这些软件实现手机同 PC 的数据交互,实现软件的开发仿真,问题的跟踪分析,以及程序的灌写等。这些软件大多采用串口通讯的方式,通过特定的数据线连接手机串口通讯端与 PC 的串口或者 USB 端( USB 转串口)。下面将要介绍的是杰尔系统( Agere system )的开发套件之一 optitrace 。

    该工具可以运行于 win9X/2000/NT 系统中,是 Agere 参考设计平台的辅助诊断工具,它为软硬件开发人员提供 Protocol Stack and MMI 的跟踪分析以及模拟用户硬件如串口显示和按键,为 field Test 人员提供 Trace Logs 和 Vital signs ,为产品测试工程师提供 Product Test environment ( PTE ) 窗口和脚本的定制以及播放。

    该工具的运行界面如下: 
     

    以上运行界面中通过 optitrace 工具捕捉的用户按键消息,如 Key Code 4 ,表示用户在手机上按下数字键 4 , key code 后面的数字是按键所定义的编码值,手机中每个按键都有唯一的按键编码值。从中可以看出,用户所有的按键动作都以 “AL got key AL_KeyDown event , key code X” 的形式被记录下来。这些按键信息的捕捉只是该工具 trace 信息的一部分,该工具提供非常多的 trace 选项,实际应用中,可以根据所要跟踪的信息来选择显示。

    该工具一个最重要的功能是可以在 PC 端通过 PTE 命令模拟用户来操作数据线另外一端的手机,该工具本身定义了 11 类的 PTE 命令,下面重点介绍两个重要的 PTE 命令,

    •  模拟一个按键按下和释放

    输入格式: Key <INT16 Keycode>

    返 回: Key:DONE

    用户可以在 optirace 的 PTE 命令输入行中,通过输入正确的 Key 命令,往手机端写入按键事件,手机端解析后执行相应的按键操作,如用户输入 key 8 回车后,手机端 LCD 显示 8 或者执行按键 8 所对应的操作,执行后返回 key : DONE 消息。同时 trace 中显示 AL got key AL_KeyDown event , key code 8 。

    •  定义按键事件的发送间隔

    输入格式: Wait <INT16 wait time>

    返 回: Key:DONE

    举例:

    wait 6000 // 等待 6000Ms ,即 1 分钟

    通过该命令,可以请求一个 pause 。比如呼叫 1001 通话 1 分钟后挂断。 PTE 脚本编写如下:

    Key 1

    Wait 500 // 按键间等待 0.5 秒

    Key 10

    Wait 500

    Key 10

    Wait 500

    Key 1

    Wait 500

    Key 11 // 按呼叫键

    Wait 3000 // 等待呼叫, 3 秒

    Wait 60000 //1001 接通后等待 1 分钟

    Key 12 // 按挂机键,结束通话

    Wait 500

    •  自动测试方案及框架体系 :

    下面介绍本公司实践的一套自动化功能测试方案架构,如下图 :

    •  方案简述 :

    自动测试主要工作流程分以下几个主要阶段:

    •  测试用例的设计和准备 , 形成一套自动测试用例脚本库

    自动测试用例的准备,如果贵公司在需求定义的同时有各功能详细具体的 menu tree 架构,那即可在此基础上手动编写 PTE 命令脚本。

    如一菜单结构如下:

    假设一手机的关机功能菜单位于主菜单中第 5 项菜单 “ 话机设置 ” 的第一子菜单中,可以用以下脚本方式实现手机执行关机。


    Key 15 // 在待机下按左键进主菜单

    Wait 500


    Key 5 // 按 5 进入住菜单的第 5 个子菜单 “ 话机设置 ”

    Wait 500


    Keyhold 1 , 2000 // 长按 1 键关机

    Wait 500

    从中可以看出只要定义了 menu tree ,理解菜单的排列顺序,以及实际的功能操作步骤,即可以用脚本来模拟所有按键和执行步骤来定义测试的 PTE 脚本。

    另一种脚本编写方式可以通过录制加转换的方式实现,利用 optitrace 工具录制实际操作时的按键动作,存为 txt 文件,然后将该 txt 文本转换为 PTE 脚本文件。实际测试中通过在集成测试或者系统测试初级阶段录制脚本,这样不会因软件大的变更导致测试用例失效,或者需要大规模维护,降低了风险指数。这些脚本在日后的回归测试中将发挥巨大的作用。

    按键录制时测试工程师针对某一功能或者依照某一组测试用例执行一次完整连续的手工测试,通过 optitrace 捕捉本次测试过程中所有的按键事件,生成一份对应的 << 按键事件列表文档 >>.TXT ( optitrace 只能生成文本文档),然后对应将所有按键事件转换为 <<*.PTE 文本 >> 。

    •  代码桩或者跟踪语句

    测试时根据实际情况可能需要在各检测点编写用户检验的代码桩或者跟踪语句,代码测试桩有利于对本自动测试体系中软件问题作出较精确的定位和分析,同时也有利于对测试结果的快速判断与自动生成测试报告。这些代码测试桩对应按键事件所对应的程序执行路径和逻辑,主要通过白盒测试方法跟踪代码执行的路径、逻辑覆盖、信息流,数据流和控制流等。在测试执行时,测试桩将执行结果响应并通过 Trace 跟踪语句显示在 optitrace 工具中。编写该测试桩需要测试工程师具备较强的编程能力,同时对手机系统要比较熟悉和了解。各功能完整的代码测试桩的编写工作量非常大,前期可以只针对部分功能的部分特性做尝试。同时测试桩插入在相应的代码中,为了避免混乱,配置时必须将测试代码同程序代码分开,只在测试执行时打开对应的编译开关得到对应的编译版本。

    •  生成一份预期的测试报告

    运行预先录制的 PTE 脚本和对应的测试桩,通过 optitrace 工具生成一份预期的测试结果报告 ( 实际就是 optitrace 生成的一份按键事件和测试桩跟踪输出信息 ) 。这份预期的测试报告日后同实际结果比较,作为实际测试结果与预期结果是否一致的判断。

    •  生成自动测试用例库

    最终由 << 按键事件列表文档 >> 、 <<*.PTE 文本 >> 、代码测试桩、 << 预期的测试结果报告 >> 组成一份自动测试用例。所有的自动测试用例按照一定的结构组织起来形成自动测试用例库。

    •  测试用例的提取并执行

    在回归以及后期的验证测试过程中,测试工程师或者程序员对应提取由 <<*.PTE 文本 >> 和测试桩组成的测试用例,执行后生成一份 << 实际的测试运行 trace 信息 >> ,保存该信息,从而测试执行结束。

    •  测试结果分析,生成测试报告

    测试结果的分析可以自动和手动执行,手动执行可以通过 Beyond Compare 工具比较 << 预期的测试结果报告 >> 和 << 实际的测试运行 trace 信息 >> ,即可以得出一份测试的执行报告。

    自动生成测试报告比较复杂,需要在 pc 中用高级语言建立一个测试管理中心,该管理中心可用 VC 或者 C++ 等高级语言编写,在该管理中心中,用户可以选择需要执行的 PTE 脚本或者多个脚本串成的一组脚本,该测试管理中心可以指定测试用例的自动执行,自动提取对应的结果做自动比较分析,从而生成一份对应的测试报告,如果无差异,输出文件中只显示 OK ,否则输出差异信息文件。

    •  实际应用 :

    下面以待机下呼叫 1001 共 100 次来测试呼叫成功率的例子来说明上述方案的应用。下面是该例的录制,脚本编写,及实际运行的例子。

    •  录制按键事件 .

    首先运行 optitrace.exe 程序

    设置 trace 选项 , 只选择 application layer 中的 ALTraceUHMess 如图所示:

    最后手机开机,跑动 trace ,测试工程师针对某一功能或者某一组测试用例执行一次完整连续的测试,得到以下按键信息,如图所示。

    最后测试执行结束后,保存该按键 trace 信息,做好版本记录信息。生成对应事件的按键列表《呼叫 1001 共 100 次 .TXT 》文档, 该 TXT 文档内容完全同上图所示内容,在次不再重复。

    •  生成 PTE 脚本:

    因实际 optitrace 只录制按键消息,需要将这些按键消息转换为 PTE 命令并生成工 optitrace 工具运行的 *.PTE 脚本。而通常按键事件众多,手动逐一生成 PTE 脚本非常麻烦,因此需要做一个文件转换工具,逐行提取按键消息转换成 PTE 命令,并做一些相应的注释。

    将以上按键列表转换为 PTE 命令列表,生成《呼叫 1001 共 100 次 .PTE 》文件,转换后的 PTE 脚本如图所示:

    •  编写测试桩:

    编写测试代码对需要检测的路径、逻辑覆盖、信息流、数据流和控制流等做测试跟踪,在检测点输出有效的 trace 信息。

    该测试用例比较简单,在此只列举该测试任务中需要关注的呼叫是否成功,记录实际呼叫成功的次数,具体呼叫函数、以及逻辑覆盖因篇幅有限不列举,设计一计数器( NumOfCallSuccess ),如果呼叫成功,该计数器累加 1 ,并且每次呼叫后用 printf 语句在 optitrace 工具上输出该计数器的实际值。

    在呼叫窗口的处理函数中,对网络返回的 GSM 消息进行统一处理,在返回的回铃音处理消息中检测呼叫成功即可,如下所示:

    case GSMAlerting: // 成功接收回铃消息

    if(NumOfCallSuccess < 100) GSMprintf("\n====NumOfCallSuccess=%d======\n",

    ++ NumOfCallSuccess); // 呼叫成功

    else

    {

    NumOfCallSuccess =0;

    GSMprintf("\n====== NumOfCallSuccess = %d======\n", NumOfCallSuccess);

    }

    break;

    •  结合以上测试桩,运行《呼叫 1001 共 100 次 .PTE 》,生成预期的测试结果报告,《呼叫 1001 共 100 次 trace.TXT 》的 trace 跟踪记录文件,作为实际测试运行结果比较的依据。

    Trace 信息去除无用信息及文件转换后如下所示:

    •  自动运行《呼叫 1001 共 100 次 .PTE 》,测试结束后目录下共有以下文件:

    《呼叫 1001 共 100 次 .PTE 》:测试运行的脚本

    《呼叫 1001 共 100 次 trace.TXT 》:预期的测试结果文本, Txt 格式。

    《呼叫 1001 共 100 次 trace2.TXT 》:实际运行的 trace log 结果,被管理工具转换后的 TXT 文本。

    《呼叫 1001 共 100 次 .Txt 》:测试后生成的测试报告文件, TXT 格式。

    •  总结:

    本文结合杰尔系统( Agere system )中开发套件 optitrace 工具的使用,从 PTE 脚本的制作,到回归测试中脚本的测试运行,介绍了一个测试团队在手机功能级测试中采用的自动化方案,本团队在实际的使用中感受了该自动化测试方案所带来的乐趣和效率,在此著成本文供大家一起探讨,最后感谢本文的所有读者,如果您能从中汲取一点有用的营养,得到一些帮助,那我将感到无限的欣慰,这也是我整理这篇手机自动测试资料的初衷。

     

  • 【转帖】软件测试工程师调查

    2007-5-12

       所属门派:IT业
      “假如存在没有任何错误的程序,那么世界也会不复存在。”
       因错误而存在,因修正错误而存在,这就是软件测试工程师的存在之道。虽然测试不是解决错误的根本举措,但却是必须的手段。
            软件测试工程师(Software Testing Engineer)的主要工作职责是,理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例。
            简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。据有关调查数据表明,目前国内许多软件企业内部的测试人员和开发人员之比在1:5,与国外软件业1:1的比例还相去甚远。


      门派技能:
      软件测试工程师主要职责为:
      1、负责项目/产品的测试工作,分析产品需求,建立测试环境和计划,保证产品质量以及测试工作的顺利进行;
      2、按照软件工程规范和项目管理流程,实施、管理和知道软件开发不同阶段的各种测试,并提交测试报告。测试的计划安排包括人员安排、进度、使用的软硬件环境、测试的流程等;
      3、提交测试报告,并撰写用户说明书;
      4、参与软件测试技术和规范的改进和制定。


      入门资质:
      一般需要至少专科学历,一到两年测试工作经验。要熟悉软件的测试技术、方法、流程、测试文档,若想进一步提升,还要熟悉自动化测试的流程、管理及深层开发(包括测试框架等);了解若干主流测试工具,如功能测试工具winrunner、quicktestpro,性能测试工具LoadRunner,配置管理工具TestDirecter, Visiual Source Safe等;熟悉一些主流的软件工程方法论和思想,如RUP、CMM、CMMI、XP、PSP、TSP;了解软件工程,软件生命周期模型基础,了解软件配置管理;能够根据不同企业的产品特点,要求了解相应的开发测试方法。对于资深的软件测试人员,有些企业还要求其本身有自主开发测试工具的能力。
      由于需要与开发人员及时沟通,因此作为一个出色的软件测试工程师,还需要有良好的沟通技巧以及优秀的言语表达能力,具备良好的团队合作精神。


      入门经:
      缜密的逻辑思维能力为了应对软件使用者千差万别的使用习惯和软件在使用过程中出现的各种现象,软件测试工程师应该具有逆向思维能力,能够以用户的角度出发,捕获一切可能性,对细节有不同寻常的关注能力。此外,软件测试工程师还要有穷追到底的精神,并且要善于沟通和撰写各类专业报告。
      出色的沟通能力要成为优秀的软件测试工程师,要具备出色的沟通能力和表达能力,既能够和技术开发人员沟通无碍,又能用简洁明了的话语向客户、管理者等这些非技术人员阐述系统在哪些方面还有缺失有待改进。在同开发人员的沟通过程中,要注意沟通技巧,提高沟通效率,和开发人员保持良好的人际关系。当测试人员发现软件有问题时,不仅需要跟开发人员沟通,找到问题出在哪儿,阐述自己挑错的理由,有时候甚至要提出解决方案,直接参与前期需求和代码的修改。一个优秀的软件测试工程师能够适时地站在各自的立场上考虑、解释并解决问题,从而尽量避免冲突和对抗。
      全面的技术能力作为软件测试工程师,虽然无须精通各种语言各类技术,但必须全面理解被测软件系统,明白该使用何种工具进行测试。要做到这一点一般需要有一定的编程经验,这些经验可以加深对软件开发过程的理解。
      耐得住性子 软件测试工作是枯燥的,甚至重复性的,有时需要花费惊人的时间去分离、识别和分派一个错误,因此需要测试人员能静得下心耐得住性子。这个工作不容许有丝毫的心浮气躁。同时,逻辑严密但不乏重复成分的测试工作也容易使人倦怠,因此需要一定的自我督促能力。
      规范测试流程公司不正规的测试流程,不标准的测试方法,将使软件测试人员终日陷入碌碌无为的点击按钮的不良状态中。


      晋阶易筋经:
      初级测试工程师
      入门级,具有一些手工测试经验,开发测试脚本并开始熟悉测试生存周期和测试技术;
      测试工程师
      能够独立编写自动测试脚本程序并担任测试编程初期的领导工作,进一步拓展编程语言、操作系统、网络与数据库方面的技能;
      高级测试工程师
      帮助开发或维护测试或编程标准与过程,负责同级的评审,并能够指导初级的测试工程师;
      Team Leader
      一般具有5年左右工作经验,负责管理一个小团队。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品,负责开发项目的技术方法,能够为用户提供支持与演示;
      测试经理
      能够担当测试领域内的整个开发生存周期业务,能够为用户提供交互和大量演示,负责项目成本、进度安排、计划和人员分工;
      计划经理
      具有多年纯熟的开发与支持(测试/质量保证)活动方面的经验,管理从事若干项目的人员以及整个开发生存周期,负责把握项目方向与盈亏责任。


      秘传“薪”经:
      薪资黄金点
      软件测试工程师在IT行业中越来越受到重视,其薪资也节节高升。
            测试工程师的起薪从2000~5000元/月不等,若有四年工作经验的话,薪资在8000元/月左右,具体视不同地域、不同性质企业、测试工程师的不同能力而定。一般工作5~8年的软件测试工程师的薪资是刚出道时的新手的一倍,而10年以上工作经验的软件测试工程师薪资却走了下坡路,和5~8年的从业者持平甚至有些企业开出了略低的薪资,看来这行的折旧率较高。
      软件测试行业的从业者7成左右都拥有本科学历,本科学历的从业者的薪资约为大专学历从业者的1.33倍左右,而硕士学历的从业者薪资起点明显高于本科学历从业者,约为后者的1.49倍。一般外语能力精通者的薪资为平均薪资的1.29倍左右,熟练者为平均薪资的1.09倍,值得注意的是,深圳、杭州和大连的外语能力精通者的薪资均超出平均薪资不少,其中杭州的外语能力精通者的薪资是平均薪资的1.79倍。
      以3.5年左右从业工作经验的软件测试工程师的各地薪资情况来看:
      深圳地区的平均年薪是全国各城市最高的,超出7万元,其中外商独资欧美企业的年薪为7.8万元,国营企业的年薪紧随其后,超过了7.3万元,合资/合作非欧美企业的年薪较低,约为6万。
      北京地区该职位的平均年薪逾5.8万元;其中外商独资企业的年薪为全国之最,将近8.5万元,而其余各类型企业的年薪都在5~6万元左右。
      广州地区该职位的平均年薪约为4.5万元;其中外商独资欧美企业的年薪最高,达到了7万元;合资/合作欧美企业也能拿到6.2万元的平均年薪,合资/合作非欧美企业就较逊色,年薪不到4万元。
      上海地区软件测试工程师的平均年薪为6.3万元,欧美独资和欧美合资的薪资不相上下,分别为7.9万和7.7万元。国营企业略高于平均线,达到6.5万元,其余各类企业则都表现平平。
      杭州地区该职位的平均年薪达到了5.5万元;其中外商独资欧美企业和合资/合资欧美企业的年薪相当,均为6.9万元,国营企业的薪资也颇吸引人,超过了5.9万元,民营/私企和合资/合作非欧美企业的年薪均不到5万元。
      大连地区该职位的平均年薪为3.8万元;其中外商独资企业和合资/合作欧美企业的年薪均超过了4.7万元;国营企业的软件测试工程师的年薪也近4万元左右,而民营/私企和合资/合作非欧美企业的年薪则相对较低。


      福利
      上海地区的软件测试工程师享有的带薪年假是全国各地最多的,一年中平均有10天,北京、广州、大连均为8天,杭州和深圳相对较少,为6天。
      以上这些地区在软件测试的培训方面都做得不错,基本上均有6成以上的从业者可享受到公司提供的培训计划,但上海的软件工程师的培训比例不到5成。杭州和深圳两地的培训是全国各地区最出色的,逼近8成。
      深圳、上海均有2成的从业者可享受房贴或者补充住房公积金,大连和北京则有3成以上的从业者可享受公司的房贴或者补充住房公积金,广州更是达到了4成以上,而杭州此项福利的比例较低,仅为1成。

     

    TAG: 测试职业发展