《科技创新与品牌》杂志社人物·志

白晓颖与她的软件工程之路

白晓颖,清华大学副教授、计算机系软件研究所副所长,主要研究领域为软件工程,研究方向包括软件测试、分布式系统、服务计算等。

  2001年8月,世界军人锦标赛在圣彼得堡举行,俄罗斯选手斯卢德诺夫以27秒25的成绩打破了50米蛙泳的世界记录。但遗憾的是,由于赛场内的电子计时器出现故障,没有记录到斯卢德诺夫的成绩。短暂休息后,斯卢德诺夫又以27秒25的成绩再次打破世界记录。谁料,他的这次成绩仍旧不能作数,原因是裁判忘了重新启动电子计时器……“就因为这样,我所有的努力,以及数月来的训练和准备工作全都白费了,真是让人恼怒!”这位游泳健将绝望透顶地说。
  在比赛中出现任何技术故障,不仅会给运动员带来无尽的懊恼和愤怒,还会影响赛事的精彩程度。因此,信息系统是关系到比赛质量的一个关键因素,对于奥运会这样的世界顶级赛事来说,信息系统的重要性更加不可估量,这就为奥运会筹备人员带来了无法估量的压力,白晓颖作为北京奥运会组织委员会的一员,从2002年进入奥组会到2008年8月24日奥运会闭幕,切切实实地感受了6年多的时间。直到奥运会圆满结束,她才放下了一直悬着的心,真正松了一口气。
  白晓颖,清华大学副教授、计算机系软件研究所副所长,主要研究领域为软件工程,研究方向包括软件测试、分布式系统、服务计算等。童年时父亲从国外为她带回的一个小小的游戏机,为她打开了通向计算机的一扇门。长大以后,她真正走入了这扇门中的那个计算机的世界,并且不断攀登前行,走到了如今的辽阔天地。1995年毕业于西北大学计算机系之后,她考入了北京航空航天大学计算机系攻读硕士。三年后硕士毕业,远赴美国继续攻读博士学位,先后就读于美国明尼苏达大学和亚利桑那州立大学。2001年底,她学成回国,进入清华大学任教。
  2001年7月,我国申办2008年奥运会成功,举国欢腾。2001年12月,北京奥运会组织委员会正式成立,虽然当时距2008年奥运会还有6年多的时间,但是大量的准备工作都要开始着手进行。从2002年1月份开始,奥组委开始着手成立各个领域的相关部门。技术部是最早筹建的部门之一,负责奥运会信息系统、通信系统及场馆技术系统的相关工作,年轻的白晓颖参与了清华大学计算机系与奥组委技术部的科技攻关合作,成为技术部的一员,白晓颖笑称自己是北京奥运会最早的“技术志愿者”之一。
  信息系统已经成为现代奥运会成功的基础和保障。奥运会信息系统结构复杂、涉及面广,项目实施规模大、周期长、风险高、难度大,也是奥运科技系统中技术含量高、应用范围广的主要部分之一。奥运会信息系统体系结构分析是充分了解系统特点,有效控制系统质量、进度、预算的前提和保证。奥运会信息系统包括运动会管理系统、计时记分系统、现场成绩处理系统及成绩发布系统四个主要部分。各子系统及相关模块分别由位于不同国家的不同机构承担,包括国际奥委会指定的顶级合作伙伴、顶级合作伙伴的分包商、以及主办城市组委会所签署的赞助商、提供商、开发商等,是典型的大型国际化外包项目,项目组织管理复杂。时限严格、大型遗产系统的继承及再工程,以及包括技术、管理、操作各层面在内的系统体系结构复杂,是该项目所面临的主要挑战。奥运会的所有赛事都是“一次性艺术”,甚至是“一瞬间艺术”,任何人为失误或技术漏洞,都会成为白玉瑕疵,无可补救。一次性的艺术异常精彩,但有时也会带点残酷。白晓颖和她的同事开始了马拉松式的奥运会信息系统筹备工作。
  面对奥运会信息系统质量控制的挑战,白晓颖和周立柱老师在2003~2005年承担了国家科技部科技攻关项目《奥运会信息系统集成测试总体方案及集成测试管理平台的预研》。本项目的主要目的是:为2008年北京奥运会信息系统集成测试的实施做好前期的预研、规划和准备工作,降低风险;加强对测试的管理,为2008年北京奥运会信息系统地集成测试系统、有计划、有组织、高效地进行奠定坚实的基础,并最终达到提高奥运会信息系统可靠性的目的;加强测试队伍的建设,为2008年北京奥运会信息系统集成测试的实施培养骨干力量。带动软件测试行业的发展,促进北京乃至全国的测试技术的发展,逐步探讨软件集成测试规范,为我国自己高水平的软件集成测试标准的建立探讨依据。
  本项目的研究主要分为三部分:历届奥运会信息系统的开发和测试的调研,北京奥运会信息系统集成测试的总体方案的研究,以及测试管理平台的预研。根据课题任务书的计划,课题组完成了要求的研究工作:收集、整理、总结和分析了悉尼、盐湖城和雅典三届奥运会信息系统的相关技术资料,形成了两份调研报告《技术体系架构》和《集成测试分析》;立足于北京2008年奥运会的实际情况,参照往届奥运会的最佳实践,在软件测试及软件工程理论的指导下,形成了北京奥运会信息系统集成测试的总体规划报告;研究开发了基于Web的、可应用于分布式开发环境的测试管理系统。
  在收集和分析相关资料的基础上,白晓颖还亲自前往2004年奥运会举办城市雅典进行实战考察,收集了大量第一手资料,对项目研究起到了重要作用。理论研究加上实地“取经”,课题组交出了最后的答卷,完成了技术体系架构分析集成测试分析两份调研报告,从应用系统的功能、运行环境、接口、数据流等角度系统全面地分析了信息系统的软件体系架构;从项目管理、测试环境、以及测试用例等几个方面,总结分析了往届奥运会中系统集成测试的实施方式、经验和教训。并在此基础上完成了19万字的总体规划报告,结合北京奥运会的技术战略,从人员组织、测试过程、进度计划、质量保证、策略选择及风险分析、实验室建设、测试工具选择、标准与规范、经费预算等九个方面,全面讨论了北京奥运会集成测试的总体规划方案,为奥运会信息系统的筹备工作,奠定了坚定的基础。
报告提交以后,得到了相关专家的认可,认为调研报告详细、准确、全面地反映了奥运会信息系统在测试目标、内容、组织和管理方式等方面的要求,并评价课题组制定的集成测试总体方案系统、全面、切合实际、可操作性强。课题组的工作成果被直接应用于奥组委技术战略,为北京奥运会信息系统的成功运行提供了有利保障,成为伦敦总结会中北京奥运会技术传承的一个重要经验,得到国际奥委会会的高度评价。
  经过不断学习和历练,白晓颖在迅速成长,如今她已经成为清华大学计算机软件研究所副所长。作为项目负责人,她先后承担了10余项包括科技攻关项目、国际合作项目、863计划及973计划项目在内的科研项目,在国内外期刊和软件工程重要会议上发表论文70余篇,获得了一系列研究成果。在服务化软件研究方面,是国际上最早开展服务软件测试技术研究的学者之一。从面向过程、到面向对象、到面向服务,软件形态与其开发方法发生了重大的变革,服务化已经成为互联网软件的主要形态。服务化软件具有代码不可见、服务动态组合、在线演化的特点,使得传统的以人工为主或是以程序分析为基础的测试技术难以适用。针对这种新型的软件范型的质量问题,课题组从协同测试、自动化测试、在线测试三个方面,研究有效的测试方法和测试技术。另一个重要的研究方向是以机载软件为背景,研究嵌入式软件中模型驱动测试自动化技术。机载嵌入式软件的规模和复杂度成指数级增长,机载软件质量控制实际上已成为世界航空业的一个挑战性问题。课题组针对机载国产操作系统标准符合性测试的需要,实现了基于模型的测试自动化工具。