本帖最后由 Trinitytec 于 2017-3-7 11:05 编辑
Google 软件测试 | | 软件工程师 (SWE) 负责开发代码和测试用例。采用“写一点代码,就测试一点”的方法,进行敏捷测试驱动开发。 | VectorCAST/C++ 有帮助实现“测试驱动开发”的内置支持,头文件一旦形成就可以立刻创建测试用例。 | 软件测试工程师(SET) 帮助软件工程师进行单元测试。软件测试工程师负责建立测试套件及框架,包括应用程序每个版本所需的桩函数、模拟函数、伪函数。软件工程师使用这些测试套件创建必要的测试,来对新代码及修改后的代码进行完全测试。 | VectorCAST/C++ 取代手动创建框架、模拟函数、桩函数、伪函数的工作。另外,VectorCAST/C++还能够在代码更新之后,自动更新测试伪像。 Google认为要对每个界面的测试框架进行维护就和要实现“完美世界”或“童话国度”一样不切实际。但是使用VectorCAST/C++可以实现这个功能。 | 单元测试仪表盘 Google创建了一个测试仪表,以便每天都可以执行各个项目中的所有测试。 | VectorCAST/Manage 也完全可以实现这一功能。除了基本的测试控制和报告功能之外,同样的测试还可以在不同的源代码配置或不同的编译器下进行。 | 代码覆盖率分析 Google能够对每个级别的测试都进行代码覆盖率分析。 | VectorCAST/Cover 可以获取所有单元、集成、系统级别测试的语句、分支、MC/DC的代码覆盖率信息。还可以将所有测试的覆盖率信息整合为一个单独的度量。 | 依赖性分析 Google为每个项目都创建了一个依赖分析,这样每个开发人员都能够清楚地了解到源码修改影响了哪些代码和测试用例。因而能够立刻反映出源码修改对整个系统造成了什么影响。 | VectorCAST/Manage 有内置支持帮助完成“基于修改的测试”,能够对源代码的每次修改进行依赖分析,并可以计算出由该修改直接或间接引起的一系列子集测试。只要点击一下,就可以做到只对受影响的部分进行测试,这样将大量减少增量测试时间,时间可从“天”为单位减少到“分”为单位。 |
总结 “建立和打破”(“build and break”)以及其它随机测试方法的时代已经结束了,因为这些测试方法存在的风险太大,已不能继续使用了。 在过去的10多年里,Google的测试方法以及关于软件测试的企业文化已成为各个软件开发组织机构的表率,而且很多公司都在努力争取达到Google的水平。 虽然了解Google的模式很重要,但是在软件测试方面做得好的并不是只有Google一家。实际上,像VectorCAST这样的工具,能够提供现成的解决方案,而且测试方案既可扩展,也支持递增式的运行方式。利用这些工具,各个行业组织,无论规模多大或涉及什么应用程序,都能够交付高质量的软件产品。而且,VectorCAST还可以提供建立“针对修改的”持续集成环境所需的所有工具。“针对修改的”持续集成环境在现在的软件开发行业中是极为重要的,因为如今唯一不变的就是变。
|