如何减轻软件开发的回网站优化测压力?Faceboo

  秒速赛车平台对于不同的网络推广目的,目标推广人群必须不同。目标人群的分析是网络推广过程中最重要的部分。如果在线推广不能吸引您的客户,那么其无疑是失败的。

  雷锋网(公众号:雷锋网) AI 科技评论按:如何减轻软件开发的回测压力,从而提高工程师的生产效率?MATEUSZ MACHALICA、ALEX SAMYLKIN 等人组成的 Facebook 研究团队提出使用一个利用机器学习的新系统来创建一个为特定代码更改选择回归测试的概率模型,从而更好地执行这种回归测试。

  为了高效地开发新产品特征和更新,Facebook 研究团队使用基于主干的开发模型来管理对代码库的改动。一旦一位工程师的代码更改被接入主分支(主干),他们试图让它对从事该产品或服务的其他工程师快速可见。这种基于主干的开发模型比使用特征分支和特征融合更加有效,因为它使得每个人都能够在代码库的最新版本上工作。

  介绍完香港新世界机房的概况,我们再来看一看大家关心的服务器速度问题。由于香港服务器采用国际出口带宽,国内访问速度快,而且不存在电信网通互访慢的问题。香港新世界机房近年来加速开拓大陆市场,并推出了一系列线路优化措施。经笔者阶段性监控,香港新世界服务器的访问速度确实快,ping值在45ms左右,网站的打开速度与国内主机基本没有区别。

  但是,在被接受到主干之前,对每项提出的更改进行彻底的回归测试很重要(注:回归测试是指修改了旧代码后, 重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的一种测试方法)。在从主干被部署到生产之前,每项代码更改都需要经过彻底的回归测试,进入主干异常代码会使得评估新提出的代码更改变得更困难得多,并且还会影响工程师的生产效率。

  对此,该研究团队开发了一种更好的方法来执行这项回归测试:使用一个利用机器学习的新系统来创建一个为特定代码更改选择回归测试的概率模型。这种方法需要仅仅运行一个小的测试集,以确保检测到错误的更改。与典型的回归测试选择(RTS)工具不同,该系统通过从历史代码更改和测试结果的大型数据集中学习,来自动开发测试选择策略。

  这个预测性测试选择系统已在 Facebook 上部署了一年多,在一段新的代码加入到主干、被其它工程师看到之前,这个系统就可以捕捉超过 99.9% 的回归异常,而且它运行的基于修改的代码的测试数量也只需要以往的三分之一那么多。这也让 Facebook 的基础测试设施的效率得到翻倍的提升。

  随着代码库的不断发展,该系统也几乎不要求手动调试。而且经证明,它还能够捕捉产生不一致和不确定性结果的片状测试。

  回归测试的一种常用方法,就是使用从构建元数据中提取的信息来确定在特定代码更改上运行哪些测试。通过分析代码单元间的创建依赖项,可以确定传递依赖于在代码更改中被修正的源的所有测试。例如,在下图中,圆圈表示测试;正方形表示代码的中间单元,如库;菱形表示存储库中的单个源文件。箭头连接起实体 A →B,当且仅当 B 直接依赖于 A 时,他们将其解释为 A 影响 B。蓝色的菱形表示在示例代码更改中被修正的两个文件,所有传递依赖于它们的实体也用蓝色表示。在这个场景中,基于创建依赖项的测试选择策略将执行测试 1,2,3 和 4,但不执行测试 5 和 6,因为后两项测试不依赖于修正的文件。

  可通过以下方式提出意见或建议:1. 在“西安交警订阅号”上留言;

  这种方法有一个明显的缺点:它以说「是的,本测试受到影响」告终的次数比实际所需要的要多。平均而言,对于移动代码库的每项更改,该方法都会导致执行多达四分之一的可用测试。如果传递依赖于修正文件的所有测试都真正受到影响,他们将别无选择,而只能将每项测试都执行一遍。然而,在他们的单片代码库中,终端产品依赖于许多可重复使用的组件,这些组件使用一小组低级库。在实践中,许多传递性依赖实际上与回归测试无关。例如,当某个低级库发生更改时,在使用该库的每个项目上重新运行所有测试将是低效的。

  软件开发研究领域也开发了其他的回归测试选择方法,例如基于静态更改-影响分析的方法。然而,由于他们代码库的大小和使用的不同编程语言的数量,这些技术在他们的使用案例中是不现实的。

  基于创建依赖项的选择测试涉及到判断哪些测试可能受到更改的影响的问题。为了开发更好的方法,Facebook 的研究团队考虑了一个不一样的问题:指定的一项测试发现某个代码修改中的回归问题的可能性有多大?如果他们能估计到这个可能性,就可以做出明智的决定,来排除那些极不可能发现回归的测试。这是对传统测试选择的重大背离,并且开辟了一种新的、更有效的选择测试方法。

  作为第一步,该研究团队创建了一个预测模型,该模型针对新提出的代码更改估计每项测试失败的概率。他们通过使用包括历史代码更改上的测试结果在内的大型数据集,然后采用标准的机器学习技术来创建模型,而非手动定义模型。

  此类营销方式从互联网初期野蛮生长到如今初步规范,见证了互联网的发展成熟,其根本形式一直没变,大多是通过门户网站、论坛进行发帖等形式留下相关推广资讯,达到引流的目的。此类营销方式门槛较低,对于个人而言,很简单便能在bbs上发帖,然而随着网络环境规范日益严格,广告贴愈很难长存;对于企业来说,在当下互联网时代,不再满足于单纯的信息曝光,而是开始不断寻求更精准的bbs渠道,直接展开官方合作吸引垂直用户。

  首先租赁服是什么呢,比如你和几个小伙伴在局域网联机玩游戏,而负责创建局域网的那个人的电脑就相当于服务器,一旦他有什么事情需要下线或者直接被家长关电脑的话....那么剩下的几个小伙伴也没办法继续游戏了。

  每个新的代码更改总会与之前的情况略有不同,因此模型不能简单地将新的更改与历史更改进行比较,来确定哪些测试值得运行。然而,新更改的抽象可以类似于前一个或多个代码更改的对应的抽象。

  首页文章内容围绕关键词进行阐述撰写,目标关键字在文章中自然分布,不堆砌,不刻意,不影响阅读。即使是刻意在文章开头出现关键词也要秉着自然出现的原则。

  在训练期间,研究团队的系统学习基于源自先前代码更改和测试的特征的模型。然后,当该系统正在分析新的代码更改时,他们将学习到的模型应用于基于特征的代码更改的抽象。对于任何特定的测试,该模型接着能够预测检测到回归的可能性。

  为此,该系统使用了标准机器学习算法的变体——梯度提升决策树模型。研究团队虽然可以使用其他机器学习算法,但其之所以选择这种方法,有几个原因:决策树是可解释的、易于训练的,并且已经是 Facebook 机器学习算法基础结构的一部分。

  根据最新发布的国家及行业标准更新的规范性引用文件(原标准发布时,国际功能点标准对应的国内标准尚未发布);

  他们可以使用这个模型分析特定的代码更改,来找到所有传递依赖于修改文件的可能受影响的测试,然后估计测试检测到由更改引入的回归的概率。基于这些估计,系统选择对于特定更改最有可能失败的测试。下图显示了将选择哪些测试(用蓝色表示),来更改影响前一示例中的两个文件,而在前一示例中,用 0 到 1 之间的数字来表示每个被考虑在内的测试的概率。

  检查好这三点内容那么企业网站建设的基本工作已经算是比较完善了,如果还想要更进一步检查网站建设的工作效果还需要对功能的可扩展性,以及页面的优化潜力,还有网站整体能否在未来进行二次开发等方面,具体的测试工作,站长可马虎不得。

  4.内链。在文章页中贴一下本站其他文章的链接,引导用户多停留,也能引导搜索引擎蜘蛛多停留。

  对于每项代码更改,网站优化系统选择的测试数量影响它在检测回归时的可靠性。使用最近代码更改的选择作为验证集,研究团队可以评估其在新更改上的准确性。下面的图表显示了每次更改所选择的最大测试数量与这一选择的准确性之间的关系。在生产中,他们要求其模型能够正确预测超过 95% 的测试结果,并且能为超过 99.9% 的有问题的更改捕获至少一个失败的测试。他们发现,这种准确度的高标准所带来的测试信号的损失可以忽略不计,并且消除了大量不必要的测试执行。

  最后,河南省网信办某领导作了总结发言:“网络安全事关国家安全和发展。没有网络安全就没有国家安全。中国要建设网络强国,就要有过硬的技术,要有良好的信息基础设施,要有高素质的网络安全和信息化人才队伍,这样才能真正实现可持续的发展。”

  由于代码库结构的不断演变,测试选择策略必须适应继续满足这些严格的正确性要求。然而,他们的系统让其变得简单,因为他们可以使用最近提交的代码更改的测试结果来定期地重新训练模型。

  为了确保他们的测试选择很好地适用于现实世界的测试,系统需要处理测试片状问题:当被测试的代码没有真正被更改时,测试结果从通过变为失败。正如他们在论文中所做的更详细的解释,如果他们训练一个模型而不去识别片状测试失败,该模型可能无法学习去一致地预测测试结果。在下面的示例中,两个测试选择策略捕获所有失败的测试执行的共同部分。如果系统不能区分哪些测试失败是片状的以及哪些不是,那么它将无法知道哪个策略是最好的。策略 A 具有明显更好的准确性,因为它捕获了所有无法发现实际回归的测试。然而,策略 B 选择了大量由于片状性而非代码的实际问题而失败的测试。

  网络推广重在推广二字,从字面上理解,推广二字的意思就是使产品尽可能让更多的人知道,只要让别人知道有这个产品了,那推广的目的就达到了,也是一个成功的推广。往往网络推广投入比较少,从人力方面说,一个人也可以操作。网络推广的成功关键是执行力,比如发布平台信息,这是一个很基本的推广工作。想做好这个工作,很容易,只要天天注册账号把产品或者服务信息发出去就行了。即使信息质量不高,但是发了几千上万条信息,总有人会看到的,就看你有没有去执行。网络营销则重在营销二字,而营销的目的,不仅仅是像推广那样,让人知道了产品就OK啦,很关键的是产生实际的经济效益。衡量营销工作做的好不好,往往都是看卖出了多少产品或服务。而且通常网络营销投入也比较大,也不是一个人能够搞定的,需要团队协作。网络营销成功的关键是创意。比如说事件营销,大家都知道,很多人也都明白如何去操作。但是事件营销的成功关键,则要看事件策划的好不好,而这个则完全靠创意。同样的事件,是不可以复制的。也不是说执行力很强,很努力,就能想出好创意的。

  咸宁日报香城都市报咸宁新闻网咸宁政府网联系我们广告服务法律顾问税务登记证授权声明银行账号大事纪

  令人尴尬的是,作为《战地》系列服务器租赁商的i3D.net,服务器质量并不为玩家认可,本次收购甚至被玩家形象的比喻为“土豆棚的扩张。”

  为了减轻片状性对所学到的测试选择模型的影响,研究团队在收集训练数据时积极地重新尝试失败的测试。这种方法让他们将连续失败的测试(指示真实回归)与那些呈现片状、非重现性失败的测试区分开来。

  现在有很多企业已经关注起了网络营销,在互联网上建立了自己的网站,但是却没有好好利用网站做好营销。有时用户通过搜索进来的公司网站,却因为网站粗糙等原因放弃了继续了解公司,就更别谈提升营业额了。所以企业还是要重视网站建设,传统的PC互联网还是很重要的。对于任何企业而言,几乎很少可以脱离网络推广,特别是一些初创企业,企业网络策划显得尤为重要,它是一个四两拨千斤的过程。

  这个系统是研究团队创建智能工具以使代码开发过程更加可靠和高效的更广泛努力的一部分。他们的基于搜索的自动化软件测试系统 Sapienz 和自动化缺陷修复工具 Getafix,也可以帮助他们自动检测和修复回归——也就是说,这些工作仅要求工程师们投入很少的注意力甚至不投入注意力。

  预测性测试选择(这篇博客文章中描述的系统)通过选择由工程师定义的正确的测试集,来高效地检测回归。Sapienz 生成新的测试序列,来发掘让移动应用程序崩溃的条件,Getafix 则为他们使用测试和验证工具所发现的问题推荐补丁,然后由编写更改的工程师检验并选择接受或拒绝这些补丁。总而言之,这些系统让工程师能够为使用 Facebook 产品的数十亿人,更快、更有效地创建和部署新特征。

  科威特的.kw名义是增长最快的国家一级域名,去年增长了16080%。然而,它开始时的基数很小,只添加了4020个新域名。

  预测性测试选择是 Facebook 的数个项目中的一个,它旨在应用统计学方法和机器学习来提高回归测试的有效性。随着研究团队进一步提高系统的效率和准确性,他们也将应用相关的方法来识别测试范围中的潜在差距。

  机器学习正在变革生活的方方面面。他们相信软件工程在这方面也一样。

点击次数:  发布日期:2019-01-06 01:24  【打印此页】  【关闭
当前文章地址:http://www.jkyoa.com/lms/713.html

友情链接:

网站地图