201604-14 为什么开发与测试老掐架呢 让我们思考几个常见的问题:软件测试的目的是什么?开发人员能否构建出没有Bug的完美软件?测人人员和开发人员是什么关系?软件测试能否保证软件质量?先闭目冥想五分钟吧,然后可以尝试着回答上面的问题。计算机先驱MauriceWikes回忆起1949年他在英国剑桥工作的情形,在拖着打孔纸带上楼给雏形计算机EDASC装载程序时,他看到了自己的未来:我强烈... 继续阅读 >
201411-11 奇虎360软件测试工程师笔试题及答案 1.360软件管理功能测试,请写几个用例测试全部功能。题目给了界面图和简单功能介绍,具体可以自己装个360看下。1)点击界面各个图标的按钮,功能能否正确实现2)对每个列表项功能进行测试,例如:下载、安装、升级、卸载3)游戏模块下点击相应的选项是否能正确浏览网页。2.你用过360的软件吗?有什么建议和评价?建议:360安全卫士建议添加保护注册表的功能。评价:360安全卫士,界面设计简洁合理,操作简单,功能强... 继续阅读 >
201411-11 华为、瑞晟、大华、海康、虹软、顺丰的面试经历 经历了一个月左右的奔波,找工作即将落下帷幕。找工作过程中,有很多的感想和苦涩。感触最深的就是,要笔试或者面试一家公司了,很是希望在网上找到笔经或者面经,给自己的笔试和面试作个参考。一路下来,有的公司参考经验很多,有的公司却寥寥无几。不管多少,参考资料对于我们来说,都意义非凡,有的真的给了很大的帮助。此时,我也即将落下找工作的帷幕,就想着把我找工作过程中的笔试面试作个简单的小结(没有百度网易腾讯... 继续阅读 >
201411-11 北美求职记(一):Microsoft 微软是我最早投的公司之一,托了在微软总部工作的一位学长帮忙内推。面试包括一轮HR面和四轮onsite面。申请了一个多月后一直都没有反应,直到微软国内招聘的前一天,北京的HR打电话问我是不是投过微软的职位,要我参加第二天上海站的笔试。笔试过后,又过了一个多月,收到了微软一位招聘人员的邮件,问我是不是对微软北美的职位有兴趣,要我填一份基本情况的问卷,里面有问到其他公司的面试进度。我当时已经收到了Googl... 继续阅读 >
201411-11 程序员修炼之11步让你成为更优秀的程序员 这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的10件事情。1.永远不要复制代码不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的同事在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是bug,它还会使你的代码体积变得臃肿。现代的编程语言... 继续阅读 >
201411-11 2014年成为更好程序员的7个方法 程序员总是有很多的决定,不是吗?如果你的新年待办事项还是空白的话,那么可以考虑使用下面这些程序员的想法。即使是最聪明的人,也还有成长空间。以下内容摘录自 KevlinHenney 的《程序员应该知道的97件事》。1.在怪罪其他东西之前先检查自己的代码质疑一下你自己和他人的预设情况。来自不同供应商的工具,可能内置有不同的预设,也有可能相同的供应商提供不同的工具。当有人想你报告一个你无法重复的问题之时,去看看他们... 继续阅读 >
201411-11 程序员杂谈之程序员需要具备的基本技能 软件开发是一个跨度很大的技术工作,在语言方面,有C,C++,Java,Ruby等等等等,在环境方面,又分嵌入式,桌面系统,企业级,WEB,基础系统,或是科学研究。但是,不管是什么的情况,总是有一些通用的基本职业技能。这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯。很多程序新手也是因为缺少、达不到或是不熟悉在这些基本技能,所以,他们需要有老手带,需要努力补齐这些技能... 继续阅读 >
201411-11 程序员杂谈之顶级程序员的10条最佳实践 1、慎重选择第1门语言编程语言各有不同,不过区别不大。但用语言的人区别就大了。选择了一门语言你就选择了一个群落。–SamKaufman,自由职业者,iOS开发者,10xmanagement如果你想快速建立原型(尤其对于希望对产品进行迭代升级的创始人来说),那就用Ruby或者Javascript–ErinParker,SpitfireAthlete创始人兼首席开发者2、你不是程序猿!伟大的开发者能够建构并开发应用。惊艳的开发者能够在关注业务的同时做... 继续阅读 >
201411-11 程序员杂谈之盘点对程序员而言最艰巨的十大任务 程序员最艰巨的任务跟编写代码没有多少关系。编码是逻辑思路的一种实践,这跟程序员日常工作中的其它任务比起来相对简单。如果你认为自己还是一个水平一般的程序员,在你真正的能进入到高手行列前,请确保你已经克服了下列晋级的障碍。1.解释你在干什么解释软件开发过程是一个很困难的事情。那些非程序员职业的人也许知道很多关于编程的事情,但很显然,他们不会编程。对于他们来说,我们的生活就是在一间黑暗的屋子里趴在键盘... 继续阅读 >
201411-07 Yii框架官方指南系列14——基础知识:开发流程 介绍过Yii中的基本概念之后,我们现在讲解使用Yii开发Web应用时的一般开发流程。此处的开发流程假设我们已经完成了对应用的需求分析和必要的设计分析。创建目录结构骨架。创建第一个Web应用 中讲到的 yiic工具可以快速实现此步骤。配置此 应用。这是通过修改应用配置文件实现的。此步骤可能也需要编写一些应用组件(例如用户组件)。为所管理的每个类型的数据创建一个 模型 类。 CreatingFirstYiiApplication ... 继续阅读 >
201411-07 Yii框架官方指南系列增补版37——测试:概览 测试是软件开发中必不可少的环节.无论我们是否意识到,在开发Web应用的时候,我们始终都是在测试的.例如,当我们用PHP写了一个类时,我们可能会用到一些注入echo或者die语句来显示我们是否正确地实现了某个方法;当我们实现了包含一套复杂的HTML表单的web页面时,我们可能会试着输入一些测试数据来确认页面是否是按照我们的预期来交互的.更高级的开发者则会写一些代码来自动完成这个测试过程,这样一来每当我们需要测试一些东西的... 继续阅读 >
201411-07 Yii框架官方指南系列38——定义特定状态(Fixtures) 自动测试需要被执行很多次.为了确保测试过程是可以重复的,我们很想要在一些可知的状态下进行测试,这个状态我们称之为特定状态.举个例子,在一个博客应用中测试文章创建特性,每次当我们进行测试时,与文章相关的表(例如.Post表,Comment表)应该被恢复到一个特定的状态下.PHPUnit文档已经很好的描述了一般的特定状态的构建.而本节主要介绍怎样像刚才描述的例子那样构建数据库特定状态.设置构建数据库的特定状态,这恐怕... 继续阅读 >
201411-07 Yii框架官方指南系列增补版39——测试:单元测试(Unit Testing) 因为Yii测试框架基于PHPUnit构建,所以推荐你在理解如何写一个单元测试之前先通读一遍PHPUnit文档。下面我们简要概括一下在Yii中写一个单元测试的基本原则:一个单元测试以继承自CTestCase或者CDbTestCase的XyzTest类的形式编写,其中Xyz代表要被测试的类.例如,想要测试Post类,我们会相应地将测试类命名为PostTest.基类CTestCase是通用单元测试类,而CDbTestCase只适用于测试AR模型类.由于PHPUnit_Framework_TestCase是这两个... 继续阅读 >
201411-07 Yii框架官方指南系列增补版40——测试:功能测试(Functional Testing ) 在阅读本章节之前,强烈推荐你先阅读Selenium文档和 PHPUnit文档.下面我们简要概述在Yii框架中编写功能测试的基本原则:和单元测试一样,功能测试以继承子自CWebTestCase的XyzTest类的形式编写,其中 Xyz 代表被测试的类.由于 PHPUnit_Extensions_SeleniumTestCase 是CWebTestCase的祖先类,我们我们可以从这个类中继承所有方法.功能测试类以XyzTest.php的形式保存在PHP文件中.方便起见,功能测试文件通常保存在 protec... 继续阅读 >
201411-07 PHP测试篇:测试驱动开发和行为驱动开发 为PHP代码编写自动化测试被认为是一个最佳实践,可以帮助你构建出高质量的应用。自动化测试可以帮助你确认没有因为重构或添加新功能而破坏原有功能,所以应该重视自动化测试。PHP有多种类型的测试工具和框架可以使用,具体方法各有区别——但是它们的目标都是避免手工测试,满足大型QA组织的需求,保证最新的更改没有破坏已有功能。测试驱动开发Wikipedia的定义:测试驱动开发(TDD)是以非常短的开发周期,不断进行迭代的软件... 继续阅读 >