从卓越工程角度看微软中国开发团队的成长
开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。

作者 Jonathan Jacky, Margus Veanes, Colin Campbell, and Wolfram Schulte译者 张逸 发布于 2008年3月13日 上午12时41分
InfoQ有幸对《Model Based Software Testing and Analysis with C#》“使用C#进行基于模型的软件测试和分析”一书的四位作者Jonathan Jacky, Margus Veanes, Colin Campbell和Wolfram Schulte进行了一次采访,回答了我们收集的相关问题。他们的著作最近由剑桥大学出版社出版,同时,出版社为InfoQ提供了第1章“描述、分析、测试”的试读。
InfoQ:你们创作本书的目的是什么?
作者:我们希望通过详尽而实用的方式为基于模型的测试提供最新的信息,基于模型的测试方法在微软内部已经成功地得到了应用。我们同时也希望为教育界人士提供这方面的资源,使得他们可以在课堂上讲授基于模型的测试方法,因为我们相信本书所能起到的推广作用还远远不够。
使用模型编程与状态间隔探测的思想对于以软件黑盒测试技术为基础的有限状态机是一种自然的扩充。
本书使得这一思想能够被广泛的读者群所接受。
InfoQ:基于模型的测试与单元测试的区别是什么?
作者:顾名思义,单元测试就在一个时间内对一个单元进行测试。基于模型的测试则通常用于测试组件之间的交互。例如,在你测试协议的互操作性时,基于模型的测试就非常有效。在对协议进行测试时,你不必描述协议实现的结构,但是如果采取黑盒方式,则需要描述发送者与接收者之间的通信方式。
基于模型的测试是单元测试的有力补充。它有助于暴露那些只有在多个单元放在一起才会呈现的错误。
InfoQ:什么是基于模型的分析?
作者:基于模型的分析使用了一个模型程序——一种可执行的规格说明书——去检测规格说明或者设计,例如包含了对通信协议的检测。既然模型是可执行的,它就可以在实现可用之前被检测,这就可以节省时间,避免令人沮丧地付出高昂代价而返工重来。
基于模型的分析包括安全分析(检测那些永远不会发生的安全隐患)和活性分析(检测那些最终会发生的有效内容)。这与我们所知道的模型检测相似。
InfoQ:根据你们的经验,最难以测试的场景是什么?
作者:非确定(分布式)系统。即使按照可控制的相同顺序输入,也会导致多种可能的有效可观测输出结果。在这种情况下,只运行一个测试很难重现,相同的测试用例可能会偶然地暴露出一个bug。而且,它也很难衡量测试覆盖率,也无法获知停止测试的时间。
通过一个模型在运行中进行测试,可以提供处理这一问题的方法。
InfoQ:在测试代码时,开发人员最容易犯下的错误是什么?
作者:忽略对边界/不可预知情形的测试,以及忽略对方法调用内部的测试是最常见的错误。另外一种常见错误是忽略了对与其他代码进行交互的测试,这种与其他代码交互所导致的问题,在对代码进行单独测试时是无法呈现出来的。这是缺乏明确的职责条例所造成的,开发人员和测试人员应该是一个整体,而不是各司其职。
另外一种常见错误则源于测试套件的整体偏差,忽略了对测试人员没有考虑到的场景的测试,或者认为这些场景是不重要的。根据一个模型自动生成测试可以纠正某些偏差。
查看英文原文:Interview and Book Excerpt: "Model Based Software Testing and Analysis with C#"
开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。
本文是Productive Java with Ruby系列文章的第一篇,我将从单元测试这个话题开始,让Java的开发人员能够在实际工作中利用Ruby提高工作效率。
InfoQ中文站有幸与阿里软件的首席架构师赵进在一起探讨了SaaS的相关话题,包括SOA和ASP与SaaS的异同、云计算、SaaS的前景、它的关键技术、技术瓶颈等等。
在这篇文章中,Adrien Louis和Marc Dutoo在一个典型的ESB场景中讨论了编配和路由的区别和优缺点。他们讨论了几种连接服务的方法,从使用如自定义路由这样的低级别方法,到使用如工作流和编配这样面向业务的高级别方式,并总结说不存在“一边倒”的解决方案。
本文是根据7月26日InfoQ中文站在杭州举行的QClub活动(第三期)后半程小组讨论总结而成。主要内容包括如何在SOA系统中实现服务编排,如何保证分布式系统中的一致性和可用性,以及如何在实施SOA的过程中控制接口的粒度等。
人们很容易想当然的以为虚拟化技术仅仅应用于服务器。而在现实中,虚拟化这一苏醒的概念正被运用于各个层面,其中包括网络,存储以及应用基础架构。在这篇导论中,InfoQ将深入每个方面,详尽向您描述虚拟化技术的运用以及其优点与不足。
在这篇案例研究中,InfoQ对Adobe AIR和Amazon的简单存储服务(Simple Storage Service ,S3)在NASDAQ市场回放程序(NASDAQ Market Replay)中的应用进行了详细的分析。
没有回复
回复