星期三, 三月 04, 2009

应用程序兼容性测试-概况

提供新版本的Windows包括了重大努力,以确保应用的继续运作,以及新的释放,他们对以前的版本。 At the PDC we talked about some of the new areas of Windows Vista that reduced this level of compatibility, such as changes we made around the OS security model. 在PDC上我们谈到一些新的领域的Windows Vista减少这一级别的兼容性,如改变我们周围的操作系统安全模型。 With Windows 7 we renewed our engineering efforts to maintain compatibility. 与Windows 7我们再次工程努力保持兼容性。 As with device testing, compatibility testing is an effort that spans the entire engineering organization, though we also have a group that is dedicated to this effort. 与设备的测试,兼容性测试是一种努力,涵盖了整个工程的组织,尽管我们也有一个小组,该小组正在致力于这方面的努力。 This post was authored by a set of folks and coordinated by Grant George, the corporate vice president for testing in the Windows Experience team. 这个职位是由一组人,并协调格兰特乔治,该公司副总裁测试在Windows体验团队。 --Steven -史蒂芬

We have taken a very proactive approach to Application Compatibility and our process starts from the moment we first plan our product schedule and design and check in code for Windows and runs through all of our engineering processes and disciplines leading up to our final release (and beyond).我们已经采取了非常积极的态度,以应用程序兼容性和我们的进程,从目前我们首先计划安排和我们的产品设计和检查的代码用于Windows和贯穿我们所有的设计过程和纪律导致我们的最终版本(及以后) 。

Application Compatibility Goals for Windows 7应用程序兼容性目标为Windows 7

Our main Application Compatibility goal for Windows 7 is to make sure that most all applications which work on Windows Vista will continue to work seamlessly on Windows 7.我们的主要应用程序兼容性的Windows 7的目标是确保所有申请大部分工作在Windows Vista将继续努力实现无缝的Windows 7 。 We do have to be careful about making this claim to be universal because there is a class of applications that are always updated in tandem with a new Windows release.我们必须慎重对待这一要求是普遍的,因为有一类应用,总是更新的同时,一个新的Windows版本。 These applications are primarily system utilities, diagnostics, and security software―the common thread is that they make assumptions about the underlying implementation of Windows internals and thus require updates.这些应用主要是系统实用程序,诊断和安全软件的共同点是,他们提出的基本假设执行的Windows内部,因此需要更新。 We carefully coordinate with a large set of ISVs who provide these applications.我们认真配合大量的ISV谁提供这些应用程序。 This was talked about earlier this month as we announced our Ecosystem Readiness Program , which we will discuss more below.这是谈论这个月早些时候,我们宣布我们的生态系统Readiness项目 ,我们将讨论更多的下文。

At the start of our product cycle we review our new features and changed designs to ensure that every element of Windows 7 has Application Compatibility in mind.开始时我们的产品周期,我们审查我们的新功能和改变设计,以确保每一个要素的Windows 7应用程序兼容性铭记。 Our engineering process includes automated quality checks to assure public APIs don't change, and our test engineers have the right tools, engineering time and information that is used to find application issues as early as possible in our development cycle.我们的工程过程包括自动质量检查,以确保公众的API并没有改变,我们的测试工程师有合适的工具,工程时间和信息,用于发现应用问题尽早在我们的开发周期。 Telemetry information is collected to assess and prioritize the breadth of applications our users depend on, paired with market data and install base information, across a wide variety of software categories to make sure they work as expected in our new OS version.遥测信息收集,评估和优先考虑的广度应用取决于我们的用户,同组的市场数据和安装的基本信息,在各种各样的软件类别,以确保他们的工作预计将在我们新的操作系统版本。

Below we expand on how we deliver on this goal.以下我们扩大我们如何实现这一目标。

Engineering Application Compatibility工程应用程序兼容性

Rich telemetry from external usage and the broad software marketplace helps us to provide a list of the most popular and critical applications, updated frequently throughout our development cycle.丰富的遥测来自外部的使用和广泛的软件市场,可以帮助我们提供的名单,最流行的和重要的应用,经常更新,我们的整个开发周期。 Our engineers then acquire these applications and build automated tests that verify each one works as expected on Windows 7.我们的工程师,然后获取这些应用程序和建立自动的测试来验证每一个工程,预计于Windows 7 。

Changes that could impact application compatibility are followed up closely, for example Legacy Code Removal which involves removing code that existed in the previous release of the product is strictly guarded and tightly managed and should not happen without proper documentation and engagement with the impacted parties.变化,可能影响应用程序兼容性的后续密切,例如遗留代码去除其中包括删除代码中存在以前的版本的产品是严格保护和严格管理,不应该发生的无合法证件和参与各方的影响。 For example if we need to deprecate an API call, the documentation for this API will be updated and we will wait until the impact of the removal is minimal as indicated by telemetry data unless it is required sooner to fix a security issue.例如,如果我们需要姗一个API调用的文件此API将被更新,我们将等待,直到消除影响很小表明了遥测数据,除非它需要尽快解决安全问题。

Throughout the development process we are running tests in the background creating an ongoing validation of new code relative to application compatibility.整个开发过程中我们正在试验在后台建立一个不断验证新的代码与应用程序的兼容性。 As code is getting ready to be checked into the main build, if a compatibility failure is detected in an automated regression test the checkin is halted.代码正准备进行检查纳入主要建立,如果一个兼容性故障检测的自动化回归测试的签是停止。 At that point the code is scanned for known compatibility issues and if an issue is detected the developer is asked to fix the problem.在这一点上,代码是扫描已知的兼容性问题,如果发现一个问题是开发商被要求解决这一问题。 Of course we also develop new tests throughout the course of developing Windows 7 in order to broaden our coverage of third party software.当然,我们还制定新的测试的整个过程中开发Windows 7 ,以扩大覆盖范围,第三方软件。

Engineering & Testing Strategy工程及测试策略

We have several teams dedicated to application compatibility as part of the Windows development effort.我们有几支球队,致力于应用软件兼容性的一部分, Windows开发的努力。 These teams provides guidance on how to build in application compatibility, provides data on application dependencies, and information on what applications may be impacted for any particular change we make in the Windows platform.这些小组提供指导如何建立在应用程序的兼容性,提供数据上的应用依赖性,以及信息的应用软件可能会受到影响的任何特别的变化我们在Windows平台。 These teams also reviews new feature designs, as well as other planned changes, to ensure that the engineering team has fully taken application compatibility into account so that we achieve the tenet of "keeping applications working on Windows 7".这些小组还审查了新的功能设计,以及其他计划的变更,以确保工程团队已经充分考虑到应用程序兼容性,使我们的宗旨,实现"保持应用工作在Windows 7 " 。

In addition to working with the internal Windows engineering teams, we also reach out to 3rd party developers writing Windows applications to ensure these partners have all the information they need to make their solutions fully compatible with Windows Vista and Windows 7.除了工作与内部的Windows工程团队,我们还接触到的第三方开发人员编写Windows应用程序,以确保所有这些合作伙伴所需要的信息,使他们的解决方案完全兼容Windows Vista和Windows 7 。 Furthermore if we do uncover any issues that may need to be resolved by the 3rd party developers, we collect all the information, resources and guidance and engage in a conversation with those external developers to help them understand and fix these issues.此外,如果我们发现任何问题,可能需要解决的第三方开发,我们将收集所有的信息,资源和指导,并进行交谈这些外部开发,帮助它们了解和解决这些问题。

We recently announced the Windows 7 Ecosystem Readiness Program .我们最近宣布 Windows 7生态系统Readiness项目 This program provides partners with access to Windows 7 builds and tools they need to test solutions for Windows 7, Windows Vista, Windows Server 2008 and Windows Server 2008 R2.此计划提供的合作伙伴使用Windows 7的基础和工具,他们需要的测试解决方案为Windows 7 , Windows Vista中, Windows Server 2008的和Windows Server 2008 R2的。 The Ecosystem Readiness Program also facilitates testing multiple components of the ecosystem together to improve the overall user experience.生态Readiness项目也有利于测试多个组成部分的生态系统以及改善整体用户体验。 Rather than just focusing on getting a specific OEM product, software application, or hardware device certified, we will be bringing multiple components together to verify a rich user experience that delivers quality, reliability, and performance as well as innovation through new feature adoption.而不是仅仅着眼于让一个特定的OEM产品,应用软件或硬件设备认证,我们将共同努力使多个组件验证了丰富的用户体验,提供高品质,可靠性和性能,以及通过新的创新功能通过。

As mentioned earlier we use telemetry data and market share information to choose the applications we directly test on as part of our compatibility efforts, below you can find the a sample of the Consumer Scenarios we focus our testing on:如前所述,我们使用的遥测数据和信息的市场份额,选择应用程序,我们直接测试的一部分,我们兼容性的努力,您可以在下面找到了一个示例消费者情景我们集中进行测试:

  • Communications通信
  • Gaming游戏
  • Fundamentals like Setup, Security and Performance基本面像安装,安全性和性能
  • Memories回忆
  • Music音乐
  • Productivity生产力
  • TV/Movies电视/电影
  • Data Backup/Security数据备份/安全
  • Mobility流动
  • Financial Management财务管理

To view a full list of Application Categories covered please take a look at the Appendix section at the end of this post. 要查看完整列表应用类别包括请参看附录一节结束时,这一职位。 While we would love to provide the detailed list of products, several of the sources of this information are based on proprietary research from third parties. 虽然我们很乐意提供详细清单的产品,有几个来源的这一信息是基于专有研究从第三方。

Another very important set of technologies we test on are the middle tier technologies like Java, the .Net Framework, etc. to make sure the applications that use these technologies continue working as expected另一个非常重要的技术,我们测试的是中间层技术,如Java , 。 NET Framework的,等等,以确保应用程序,使用这些技术如预期般继续工作

In addition to 3 rd party stand alone applications we test a subset of OEM pre-installed software and their inbox applications for compatibility.除了第三方独立的应用,我们测试的一个子集的OEM预安装软件和他们的收件箱中应用的兼容性。 The software tested come from the engagements we have with our OEM partners and their submitted installation images.软件测试来自雇用我们与我们的OEM合作伙伴和他们提交安装图像。 These images are tested on clean installations of Windows 7 and upgrades from Windows Vista on OPEM standard hardware.这些图像测试清洁装置的Windows 7和升级从Windows Vista上OPEM标准的硬件。 This level of coverage allows us to best replicate the initial experience with Windows 7 for many of our customers.这一级的覆盖面,使我们以最佳方式复制的初步经验与Windows 7我们的许多客户。 Because many of these applications are closely aligned with the OS, hardware and drivers, it is not unusual for an OEM to provide updates to this software with a new OS release.因为许多这些应用程序密切配合操作系统,硬件和驱动程序,这是不寻常的原始设备制造商提供该软件的更新与新的操作系统版本。

In addition to the above mentioned testing approaches, Microsoft IT maintains a software portfolio of approximately 1,500 applications.除了上述的测试方法,它仍保留着微软软件产品约1500应用。 These applications must be tested prior to software deployments inside Microsoft.这些应用程序必须测试之前,微软内部的软件部署。

Microsoft IT developed an application-tracking method that simplified the process of selecting applications for sample-based testing.微软开发的应用程序跟踪方法,简化的挑选过程申请样本为基础的测试。 By identifying groups of applications that have similar data processing, controls, underlying technology, and methods, Microsoft IT is able to test approximately 4 to 6 percent of the total applications and gain a reasonable assurance of compatibility for all.通过确定团体的应用,也有类似的数据处理,控制,基本技术和方法,微软它能够测试大约4至6总数的百分之申请并获得合理的保证兼容性所有。

For more information you can read the LOB Application Compatibility Technical White Paper .欲了解更多信息您可以阅读的大对象应用程序兼容性技术白皮书

Validation Strategy验证战略

Part of our testing process includes the creation of scenarios that we validate on 3 rd party applications.我们的测试过程包括建立情景,我们验证的第三方应用。 We approach this by verifying the intended functionality of the application while focusing some of our attention to changes in the OS, new functionality and risky integration areas.我们的做法是核实本打算功能应用,而我们的一些重点关注的变化,操作系统,新的功能和风险一体化地区。 Manual and automated test passes are scheduled to cover the identified scenarios and to verify the user experience.手动和自动测试通行证计划涵盖查明情况,并验证的用户体验。 We cover the applications on different sets of hardware and make sure that that we cover a lot of different configurations, x86, x64, Intel, AMD, touch and multi -touch machines, etc.我们的应用覆盖不同的硬件,并确认,我们覆盖了很多不同的配置x86的, 64 ,英特尔, AMD ,触摸和多触点机等

We use specific categories when measuring the compatibility of the applications we test on:我们使用特定类别测量时的兼容性,我们测试的应用:

  • Excellent - No compatibility problems 优秀 -无兼容性问题
  • Poor - Minor functionality is not working 穷人 -小功能不工作
  • Failure (regression) - It used to work in Windows Vista now it is not working properly 衰竭(回归) -它用于Windows Vista中的工作现在是工作不正常
  • Failures (non-regression) - The application does not work on Windows 7 but it did not work on Windows Vista either 失败(非回归) -中的应用不能正常工作于Windows 7 ,但它没有工作或者在Windows Vista
  • Accepted Regression - We know of changes in the OS that may affect the applications and we have/are working with ISVs on mitigations for these issues. 接受回归 -我们知道的变化,可能会影响到操作系统的应用和我们已经/正在同独立软件开发商对缓解这些问题。 A simple example is version number.一个简单的例子是版本号。 An application that is hard coded to only work on specific versions and it doesn't know what our new operating system version is would fail.提出的申请,这是硬编码到工作的具体版本,它不知道我们的新作业系统版本是注定要失败。

We will cover these categories in more detail in subsequent blog posts about how we manage application compatibility.我们将涵盖这些类别中有更详细的博客帖子以后我们如何管理应用程序的兼容性。

As part of our testing we do find issues that may need to be resolved by the 3 rd party developers at the companies that develop and sell these applications.作为我们的测试我们发现问题,可能需要解决的第三方开发人员的公司,开发和销售这些应用程序。 We collect all of the relevant technical information, resources and guidance and engage in a conversation with those external partners to help them fix the issues.我们将收集所有相关的技术信息,资源和指导,并进行对话与外部合作伙伴,帮助他们解决问题。 Of course we also engage them in our technical beta programs so they can test Windows 7 compatibility with their products at the same time we do.当然,我们也让他们在我们的技术测试计划,以便他们能够测试Windows 7的兼容性与他们的产品在同一时间,我们这样做。

Final Word最后一句话

Application compatibility is very important to the Windows team.应用程序的兼容性是非常重要的Windows小组。 We are constantly working to improve your experience with applications as you move from one release of Windows to the next.我们正在不断努力,以改善您的经验,应用你从一个版本的Windows的下一个。 We encourage you to try our Windows 7 beta release to experience the improvements in the application compatibility space and we want to hear your feedback.我们鼓励您尝试我们的Windows 7 beta版体验的改善,应用程序兼容性的空间,我们想听听您的意见。

It is worth mentioning the work we have done from an end-user perspective to assist in application compatibility.值得一提的是,所做的工作,从最终用户的角度,以协助应用程序的兼容性。 Many failures of application compatibility happen at install time and to assist with this, in Windows 7 we have improved the detection of failed installations and provided a step by step wizard which will help to get an application's "compatibility mode" correctly set.许多失败的应用程序兼容性发生在安装时间,并协助为此,在Windows 7 ,我们已经改进了检测设施和失败提供了一个向导一步一步,这将有助于获得一个应用程序的"兼容模式"正确设置。 We also provide real-time problem reports and solutions that can help you locate an updated version or patch.我们还提供实时的问题报告和解决方案,可以帮助您找到的更新版本或补丁。 Many of you might have experienced this when trying to run Skype after an upgrade or install the current version, and in both cases you were automatically referred to the Beta download site.你们中许多人可能经历过的时候,试图运行Skype软件后,升级或安装的最新版本,并在两种情况下,您自动提到的Beta下载网站。

Appendix 附录

Microsoft Covered Consumer Scenarios & Application Categories 微软覆盖消费者情景与应用分类

Table of Microsoft Covered Consumer Scenarios and Application Categories

Our list includes the top 50% best selling applications in the past 24 months, some of this data is collected and aggregated from several well-known third party research information providers. 我们的名单中包括50 %的最高最畅销的应用软件在过去24个月,其中的一些资料的收集和汇总由多家知名的第三方研究信息提供商。

没有评论: