软件测试管理

当前位置:首页 > 软件测试管理

《Google软件测试之道》附录A

附录A Chrome OS测试计划



A1测试主题概述


●基于风险:ChromeOS需要测试的方面相当庞杂,涵盖了定制化浏览器、应用管理器的用户体验(UX)、固件、硬件、网络、用户数据同步、自动更新,以及来自OEM厂商的定制化的物理硬件。要想合理地处理这些测试问题,必须采用基于风险的测试策略,也就是说测试团队将优先关注系统中风险最高的区域,然后按风险次序依次处理。测试团队会严重依赖于开发团队全面的单元测试和代码质量,以此确保整个产品的质量基础。


●自动化硬件测试组合:由于存在各种不同的硬件环境和操作系统版本,因此需要在每次构建的版本和整个硬件环境组合中运行测试,快速发现回归问题并辅助定位问题存在的具体软件、硬件或环境配置维度。(例如, 某个测试用例可能仅在HP硬件上的无线网络配置环境下版本X的网络浏览器上会失败)


支持快速迭代: Chrome OS的发布时间表非常紧张,因此尽早发现bug并定位问题重现条件非常重要。所有的测试都要能在开发人员的本地工作机上运行,以减少bug进入代码库的可能性,并通过大规模的自动化测试用例组合,来加速定位导致回归问题的原因。


●开放测试用例和工具:考虑到ChromiumOS的开放源码性质和OEM合作厂商的质量认证,测试团队将努力保证测试工具、用例、自动化代码等可被外界共享和执行。


●ChromeOS的主要浏览器平台:Chrome浏览器测试团队将把ChromeOS作为主要关注的平台。Chrome浏览器在Chrome OS中的可测试性、自动化等与其他平台相比将被得到更多的关注。这也反映出Chrome浏览器在ChromeOS中至关重要的地位。它是ChromeOS中唯一的用户界面,整个系统和硬件环境都用来支持它的功能。Chrome OS中Chrome浏览器的质量标准将会更高。


●测试提供数据:测试团队的目标不是、也不可能是保证质量。产品质量的高低取决于所有参与者,包括外部OEM厂商、开源项目等。测试团队的目标是降低风险,尽可能地发现问题和bug,为大团队提供风险评估和度量指标。测试、开发、项目经理和其他第三方都对Chrome OS的质量有很大的发言权和影响力。


●可测试性和乘数效应:对Google 应用团队、外部的第三方团队、甚至是内部团队来说,可测试性在过去一直是一个问题。测试团队将联合Accessibility、Android和WebDriver团队来增进可测试性,让Chrome OS中的Chrome浏览器能被正式支持。这将提高Google应用团队内部的自动化效率,也让Chrome成为测试其他第三方Web页面应用的理想平台。


A.2风险分析


测试团队将推动功能性风险分析,以达成如下目标。


●保证产品的质量风险被周知。


●保证测试团队始终仅关注最高投资回报率(ROI)的任务。


●保证存在一个质量和数据评估框架,能够随着产品的演进和新数据的引入,对新的质量和风险数据进行评估。


风险分析过程是将所有已知产品特性和能力简单罗列,然后测试团队根据每个方面的出现频次和失效可能性,以及失效产生后果(对用户和业务)的严重程度,评估每个方面的绝对内在风险。然后,把已经存在的能够降低这些风险的策略( 如现有的测试用例、自动化测试、用户试用测试、OEM测试等)从相应的已知风险中扣除。把所有组件根据剩余风险进行排序,然后通过开发测试用例、自动化和流程改进等措施来应对。


关键问题是要知道产品的风险集中在哪里,并总能善用手中的资源去降低这些风险。


A.3每次构建版本 的基线测试


对每次持续构建的版本在开发人员的单元测试以外,还将通过构建机器人(Buildbot)执行以下测试。


●冒烟测试(PO自动化)。


●性能测试。


A.4 最新可测试版本( LastKnown Good, LKG)的每日测试


每天都会对持续构建的最新可测试版本(LKG)执行以下测试。


●一系列功能验收测试的手工执行(可以限定每天在一种类型的硬件环境中执行)。


●功能回归测试自动执行。


●在每日构建版本上,滚动式地持续执行Web应用程序的测试(包括自动和手工测试)。


●滚动式执行压力测试、可靠性测试、稳定性测试等。在每日构建版本上反复执行这些测试,直到没有新问题出现,然后转为每周执行。


●持续地进行手工探索式测试和漫游式测试。


A.5发布版本测试


每个发布通道的“候选发布”版本。


●站点兼容性:Chrome浏览器测试团队负责对前100名站点(Top100)在ChromeOS上进行验证。


●场景验证:对ChromeOS对外展示或者向合作伙伴发布的示例性场景(可能最多有两到三个示例)进行验证。


●PObug验证:验证所有已被修正的优先级为P0的bug。验证80%的自上次发布版本以来记录的优先级为P1的bug。


●全面压力和稳定性测试:执行一次压力和稳定性测试。


●ChromeOS手工测试用例:执行所有的ChromeOS手工测试用例(可以分派给不同的测试人员和不同的硬件环境)。


A.6手工测试与 自动化测试


手工测试非常重要,特别是在项目的早期用户界面和其他功能特性经常变化、可测试性和自动化开发工作仍在进行的时候,手工测试有不可替代的作用。手工测试的重要性还体现在,由于Chrome OS的核心价值在于其简单性,用户界面和体验必须非常直观流畅。目前,机器还不能做这些方面的测试。


自动化测试是项目取得长期成功的关键,也是测试团队高效检验回归问题的关键。浏览器自动化已经实现,因此很多高优先级和高回报率的手工测试用例也被自动化了。



相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~