【读书笔记】《Google软件测试之道》——第3章:测试工程师(三)

    今天从3.2.6开始,继续读~

    6)Google的测试领导和管理工作

    Google的测试管理更多的是激励,而非强悍的管理。在Google,工程主管要靠技术洞察力、令人兴奋的技术冒险、有趣的停靠港口来带领团队。

    Google主管和经理:

    技术责任人:参与解决共同的技术问题或是共享相同的基础平台,他们一般不会管人;

    技术主管:技术负责人同时被任命为相关工程师的经理;

    测试工程经理:类似测试经理,负责共享跨团队的工具和流程,根据风险评估安排资源,并指导招聘和面试;

    测试总监:管理测试工程经理、跨几个产品线,负责整体的测试工作,推动战略性的、有时是转型性的技术架构或测试方法的实施。关注于怎样通过质量和测试去帮助业务,并经常抛头露面参与业界同行的交流和分享;

    资深测试总监:负责保证公司层面的统一职责描述、招聘、外部沟通和总的测试策略。日常工作包括分享最佳实践,建立和推动新的大动作如全局构建、测试基础平台以及跨越不同产品的测试活动等。

    Google管理层的主要技能:技术型、协商、外部沟通、战略性举措、绩效考评。绩效考评综合了同事反馈和由主管、经理推动的跨团队比照,每季度一次。如果一个人达到了他的所有目标,那说明他的目标还不够高。

    Google领导和管理的一个标志是辅导和指导下属工作,而不是直接下命令。

    7)维护模式的测试

    Google一直是以尽早交付、经常交付、尽快失败闻名于世。资源会冲向最高风险的项目,因此,这意味着某些特性或者项目被降低优先级,处于维护模式。

    进入维护模式前,需考虑:即使一个小型的、端到端测试的自动化测试集,也会以近乎为零的成本提供长期的质量保证;留下一份How-to文档,以便公司的任何人都可以运行你的测试集;确保有一个问题解决通道,愿意承担一些责任。

    8)质量机器人(Quality Bot)实验

    Chrome经常有build,而且上面的网页很多,如何测试呢?

    Google Search不断地爬取网页,记录它所看到的一切,找到计算各种数据在巨大索引中的位置,按照静态和动态相关性分数排序,在搜索结果页面中展示需要的数据。这和自动化质量打分机类似。

    质量机器人包含:爬取,机器人沿着URL从一个跳向另外一个,同时分析所访问的网页结构,从而构造出一张哪些HTML元素出现在哪里、如何呈现的地图;索引,爬虫将原始数据传送到索引服务器;排序,当希望看到一个特定的网页在多轮运行中的结果,或者一个浏览器中所有网页的结果,排序器就进行深度计算,给出一个质量分,表示为两个页面之间的百分比相似分,同时也会计算所有运行的平均分。100%表示页面相同;小于100%表示有差异。

    已经有好几个团队使用bot取代了大量的手工回归测试,其它人可用于探索性测试。

    9)BITE实验

    BITE(Browser Integrated Test Environment浏览器集成测试环境),目标是把尽可能多的测试活动、测试工具和测试数据集中在浏览器和云里,并在上下文中呈现相关信息,从而减少分散操作的麻烦,使得测试工作更高效。

    a)用BITE报告bug

    BITE可以在测试人员发现bug时,自动提取页面的URL、页面上出现问题的元素、截屏、所有的动作会被录制、浏览器和OS信息会被记录。这一切成就了bug的快速提交。且因为信息足够详细,所以更多的bug可以重现和调试,以及bug triage(即开发、测试一起讨论bug)的过程。

    b)用BITE查看bug

    当测试人员探索一个应用或运行回归测试时,页面相关的bug会自动浮现出来。这有助于测试人员判断bug是否重复,该页面有哪些bug。

    c)用BITE进行录制和回放

    常见的自动化脚本是用Java编写的,TE花费大量时间在应用的DOM和XPaths中。但Google的Web应用频繁地更改DOM,这意味着测试用例随着元素在页面中的移动和属性的变化而不断失败,导致维护工作量很大。

    Google实现了Record and Playback framework(RPF),RPF不是严格地判断XPath,而是去检查此HTML元素的所有属性及其父、子元素。在回放时,RPF首先查找精确匹配,找不到时查找近似匹配,如果匹配在容差之内,测试就继续到下一步并简单地记录一条警告日志。

    d)使用BITE执行手工和探索式测试

    测试主管在安排测试时,只需要在BITE服务器上点击一个按钮,即可将测试用例发给各测试人员,每个测试都有一个关联的URL。用户接受任务后,BITE会打开URL并显示要在当前页面执行的步骤,单击PASS,系统自动打开下一个URL,单击FAIL,系统做FAIL标记并启动bug报告页面。

    测的快的测试会自动收到更多的测试任务;中间休息或需要停止的测试人员,任务会被推送给其他人。

   e)BITE的分层化设计

    BITE具有接受任意脚本并注入被测试页面的能力。若干分层业已形成。例如,其中一个扩展允许开发人员在页面中有规律地剥离元素以便定位问题。

    读完这四小节,印象最深的是Bot实验和BITE实验,感觉这两个工具都太牛了~当然,也更明确了Google领导和管理工作。

【读书笔记】《Google软件测试之道》——第3章:测试工程师(三)_第1张图片

你可能感兴趣的:(【读书笔记】《Google软件测试之道》——第3章:测试工程师(三))