有大量的书籍讨论编程语言和框架,但很少有资源讨论像“测试和合作”这样的话题。然而在大型工程中,这些话题能够轻易地使你的团队取得成功或失败。我们从无数的实践经验中认识到这些软技能非常地重要:很多时候项目出错的原因都是因为缺乏测试和合作。下面是在Tower用户数目增长至100,000的过程中我们所学习到的一些经验。请确保你已经阅读了这个系列的第一章节:结构、设计模式和编程规约所有的代码都属于团队代码是
2018-03-28/2898 人阅读/1 人点赞

当软件项目变得更大更复杂时,你可能会达到一个临界点:有一天,代码质量变得至关重要。在小型项目中,你可以侥幸地轻易修复一些问题。但是,只要项目的复杂度增加,你就会开始为迄今为止所做的每一项妥协感到难过。随着Tower用户的逐步增加,现在已经有10万的用户,在这个过程中我们确实得到了一些痛苦的教训。这篇文章将谈到我们在这方面学到的一些重要的经验。即使是最小的软件应用程序也是大多数公司的重大投资。你的团
2018-03-26/3438 人阅读/0 人点赞

通过实例对RobotFrameworkSelenium2Library介绍。RobotFramework是一款由Nokia公司开发,使用Python编写的功能自动化测试框架。凭借其良好的可扩展性,在引入各种资源包后,可用于web功能自动化测试,接口测试,手机app自动化测试,windowsapp测试以及数据库自动化测试等。相较于其他自动化测试框架,RobotFramework的最大优势在于:完美地
2018-03-23/2909 人阅读/1 人点赞

在Facebook上,我们的移动代码所做的每一项更改都由我们的静态分析仪Infer进行检查。静态代码分析器是扫描程序的源代码以检测可能的错误的工具。静态分析器的主要优势在于能够在不运行程序的情况下以及在将软件交付给用户之前检测错误。与其他静态分析器相比,Infer的其中一个优点是可以进行大规模的过程间/文件间的复杂分析。也就是说,Infer可以通过跟踪过程间的调用或者跟踪跨越多个文件的程序来检测出
2018-03-22/3130 人阅读/0 人点赞

软件开发的一般流程包括:编写、修改、测试和封装代码,而其中我们依靠后端服务和机器来完成各种工作,比如构建新软件包,安装依赖和执行测试。在Facebook的用户规模下,工程师每天需要执行数以千计的此类工作,而这将成为开发系统中的瓶颈。我们的目标是尽量减少工程师等待机器执行完成的时间,以便他们能够快速获得反馈,并将更多时间花在有创造性的任务上。每个作业都在名为工作者的孤立环境中运行,并且这些作业分布在
2018-03-20/3638 人阅读/0 人点赞

昨天,杭州传来大消息:这座创新之都要拿出真枪实弹的道路,进行无人自动驾驶测试。太棒!这是继深圳、上海之后,又一个城市进行无人驾驶汽车测试。居然,有媒体人说“快得让人胆颤心惊!”今天,我打电信10000号时,体验和以往完全不同,不再按“1、2、3、…”这样的数字键,而是和机器人对话,直接说“宽带报修”,那边机器人说;“您刚才保修过一次,还要继续吗?”,我说“确认”…。之前,我们也被许多事件感到震惊,
2018-03-20/5444 人阅读/3 人点赞

此文是我在某次测试沙龙上的分享总结,在博客上发表后被某些头条号以及网站在未经同意授权的情况下盗文,强烈谴责!!!所以在公众号上重新声明原创。1近些年,科技创新风把金融支付行业推到了风口浪尖,行业的技术从业者则成为了浪尖上的弄潮儿,测试人员更是在这个特殊行业中面临更大的责任与担当、更具挑战性的技术革新。随着整个金融行业的业务规模越来越庞大,系统级别的交互越来越多,业务耦合越来越复杂,给测试团队带来的
2018-03-13/3253 人阅读/10 人点赞

随着全球越来越多的人使用Facebook,我们希望确保我们的应用和服务在各种场景下都能够运行良好。按照Facebook的用户规模,这意味着在我们发布新代码之前,需要在数以百计的移动设备和操作系统上进行测试,以确保应用和服务运行正常且具有较好的性能。去年,我们推出了Facebook移动设备实验室,它允许工程师通过远程访问我们数据中心中可用的数千种移动设备来进行测试。从那以后,我们建立了一个名为One
2018-03-12/2725 人阅读/4 人点赞

昨天写的那个发起策略是对单个业务来说的。每次在做项目和做培训的时候,我都说起过,要先做基准测试。之前我看到有人把基准测试定义为脚本的基本验证。从概念上说,这种描述是完全错误的。这个问题可以留待后面再展开来说明。对于多业务脚本混合的场景来说,每个业务脚本的设置就成了必然要考虑的事情。所以在这之前需要的是对单个业务特点进行分析,分析到可以设置出符合真实业务场景为止。这一点非常关键,非常关键。如果做不到
2018-03-09/2996 人阅读/2 人点赞

ThomasJ.McCabe在1976年提出了圆环复杂度(CyclomaticComplexity),作为指导程序员编写“既可测试又可维护”的方法。在SonarSource,我们认为圆环复杂度在测量可测性方面效果很好,但不适合测试可维护性。这就是我们提出认知复杂度(CognitiveComplexity)的原因,您将在即将到来的新版语言分析器中看到这一点。我们用认知复杂度来更好地衡量代码的难以理解
2018-03-08/7371 人阅读/8 人点赞