程序员妻子自述: 那些程序员教给我的

我曾经跟朋友开玩笑说,这个时代,有两种人的妻子应该要受人尊敬,第一种是军嫂,这是毫无争议的,第二种就是像我这样的,程序员的老婆。当然,这个 玩笑半分自嘲半分真。我的本科是穿着大白褂在各种挂着植物、动物、有机化学、无机化学的门牌的实验室里度过的,在显微镜下给三段生的夹竹桃画过横切片图, 在大头针和解剖剪子的辅助下找过蚯蚓的三条神经,闻过带有臭鸡蛋味的硫化氢气体…… 是的,你们都猜对了,我确实是相貌平平,不修边幅,素面朝天的理科女。见了人就开始习惯性地科普:蝴跟蝶,蜻跟蜓,其实是不一样的,还有,白菜跟萝卜其实都是属于十字花科啦,香港的市花根本就不是紫荆,那是马蹄甲,还有,还有,那个康乃馨的学名其实 […]

13个超实用的Linux性能监测命令行工具

【2013年4月11日 51CTO外电头条】对每一个系统管理员或网络管理员来说,每天监测和调试Linux系统性能方面的问题其实是难度非常大的一项任务。我在IT行业担任了5年的Linux管理员,逐渐明白了监测系统并确保系统正常运行有多么困难。由于这个原因,我们整理出这份列表,介绍了12个常用的命令行监测工具,它们也许对每一个Linux/Unix系统管理员来说很有用。这些命令在所有版本的Linux环境下都能找到,有助于监测和查找性能问题的实际根源。下面介绍的这些命令非常全面,完全足以让你从中选出适合自身监测环境的一个工具。 1. Top:监测Linux进程 Linux Top命令是一个性能监测程序 […]

【软件测试】软件测试中容易忽略的缺陷

通常软件测试会暴露软件中的缺陷,经过修正后可以保证软件系统的功能满足需求并正确运行。但是,在系统测试和确认测试中,测试人员容易遗漏一些隐藏的缺陷。众所周知,软件测试不可能发现所有的缺陷,而软件开发周期各个阶段仍然存在注入缺陷的可能,但是,有一些缺陷是测试中容易忽略的,也就是说,通过测试方法和用例可以充分暴露这些缺陷,遗憾的是,它们往往被忽略或者某种原因忘记测试了,这就给软件留下了隐患或者危机。这些容易被忽略的缺陷包括: 1、安装缺陷 通常项目组完成代码后,发布时候安装打包是最后一个环节,而软件测试人员通常在测试的时候,没有仔细的测试这一部分,而把用例集中在其他功能上。安装时候的缺陷通常通过拷贝 […]

三款热门入门级在线编程对比

有句俗语叫:“技多不压身”,如果你有时间和兴趣,不妨多学习下编程技能。为了能够高效地学习各种技术和编程,掌握几个非常不错的网站还是很有必要的。本文我们将推荐3个超赞的技术网站,帮助你快速学习编程,它们带给你的不单单是学习的内容,还有学习的乐趣。 让你告别编程小白,带你进入神奇的编程世界。 No.1 Codecademy 基于网络的交互式编程教程   简介:Codecademy由Zach Sims和Ryan Bubinski创建于2011年。

【QTP】ExecuteFile使用之发现

使用ExecuteFile 进行动态加载外部文件时,发现可以调用qtp脚本中Action里的函数,以前一直以为外部文件不能调用,现在发现使用ExecuteFile 就可以了。 1. 使用自带的Function Libraries进行加载方式: QTP脚本文件Action中输入: 然后在外部的test.qfl文件中输入: 结果:报错。

贺炘:你的软件测试基因是什么?

作为专业的软件测试工程师,为了提升我们的软件测试技能,我们学习了很多知识,如:配置管理、自动测试、性能测试、用例设计、数据库等等。但是在实际工作过程中我们真的在有效应用这些测试技术吗?你是否不经意之间对是否真的需要这么多的软件测试技能产生怀疑那? 当你产生怀疑的时候,看了那么多的人还在一直鼓励着大家学习这些测试技能,你是否这样安慰自己:只是由于我所在的团队不够专业,如果我在一个专业的精英团队,这些测试技能就一定能派上用场! 实际情况是什么?到底是什么原因导致很多企业并没有充分重视软件测试,或者说质量? 我的答案是:测试必须以目标为导向!质量是为企业服务的,不应该以质量的名义绑架企业,企业的基因 […]

功能测试中故障模型的建立

故障模型是将测试人员的经验和直觉尽量归纳和固化,使得可以重复使用。测试人员通过理解软件在做什么,来猜测可能出错的地方,并应用故障模型有目的地使它暴露缺陷。下面介绍功能测试中故障模型的建立。 1. 概述 故障模型是软件测试的基础,也是一个判断测试方法是否成熟的重要标志。在测试的过程中,要确保每一个目标状态都被测试,那么测试必须是系统的;为了最终定位软件缺陷,所以测试必须是集中的;测试需要使用大量的测试用例和重复性测试,因此测试必须是自动的。若要满足上述三个测试条件,我们必须建立故障模型。 故障模型是将测试人员的经验和直觉尽量归纳和固化,使得可以重复使用。测试人员通过理解软件在做什么,来猜测可能出 […]

20个数据可视化(数据视觉化)工具

人们常说,数据是新世界的货币,而 Web 则是新世界交易的外汇局。作为消费者,我们正在在数据中漫游;处处都是数据,从食品标签,到世界卫生组织组织的报告。其结果是,信息设计师在从数据流中呈现数据时愈发凸现窘境。 获得信息的最佳方式之一是,通过视觉化方式,快速抓住要点信息。另外,通过视觉化呈现数据,也揭示了令人惊奇的模式和观察结果,是不可能通过简单统计就能显而易见看到的模式和结论。正如作家、记者和信息设计师 David McCandless 在 TED 上说道:“通过视觉化,我们把信息变成了一道可用眼睛来探索的风景线,一种信息地图。当你在迷失在信息中时,信息地图非常实用。” (伯乐在线补配视频:视 […]

【安全测试】Web十大安全隐患之SQL注入

注入往往是应用程序缺少对输入进行安全性检查所引起的,攻击者把一些包含指令的数据发送给解释器,解释器会把收到的数据转换成指令执行。常见的注入包括SQL注入,OS Shell,LDAP,Xpath,Hibernate等等,而其中SQL注入尤为常见。这种攻击所造成的后果往往很大,一般整个数据库的信息都能被读取或篡改,通过SQL注入,攻击者甚至能够获得更多的包括管理员的权限。 先来说说sql注入漏洞是怎么产生的,或者说对于一个程序开发人员应该怎么防范SQL注入的吧。

印度迷途:软件外包大萧条

一 2006年有一本书十分畅销,弗里曼的《世界是平的》。他在书中指出:世界已经因技术进步而变得“平坦”和“平等”,全球化趋势加速,由此带来的全球化大分工将给新兴国家带来经济发展的机遇。 弗里曼对读者说:你看看印度。放眼看印度,形势一片大好:全球软件与服务外包订单向印度转移,Infosys、Tata、Wipro等公司群星闪烁,照耀印度。印度的年轻人挤破脑袋都想进入这些公司:这等于获得了进入中产阶级的门票。

软件测试员:你的路在哪里?(续)

前些天写了《软件测试员—你的路在哪里?》 我有提到,我问了一下大我几岁朋友的薪资,他的薪资处在我划分的第二阶段的中间,情绪变得比较消极。 他告诉我,你跳到第二阶段了,但再往上走,想有一个薪资的大跨度很难,需要的时间也相对比较长。然后,我就把测试员的路划分了三个阶段。虽然划分了三个阶段,但我并不知道如何跨越到第三个阶段。自己也处于非常迷茫的状态。 希望能得到有用的回复了评论,但大多回复说到努力做好现在,埋头学好技术。这些是必须的,单就测试技术来说,多了去了。总要给自己找个比较明朗的方向和目标吧!不然,你是想一切随缘呢?还是想等着柳暗花明呢?

软件测试人员的路在哪里?

之前,我中部的一个的城市,做着一个快乐的测试员,工作不太忙,对一切技术充满了好奇心。测试工作不专业,也不受重视。但我有自己的快乐。工作不忙的时候,我今天学学性能测试+loadRunner,明天学学自动动化selenium。老大说,你对咱项目做个性能测试吧。然后,我就跑去问百度、谷歌和群里的朋友,它他告诉我需要什么样的工具,什么环境,主要看哪些指标,然后再送我两个报告模板,照猫画虎的给做完交任务了。突然对自动化又产生了兴趣,找视频、找资料、买书忙碌的不亦乐乎。发现要会语言,没事儿咱有的是时间,上电驴上下视频吧。当第一次用struts2 写一个登录时还是很兴奋的。前台——后台——中间件——数据库。 […]

一个测试工程师面试结束后想说的

昨晚正式收到支付宝的Offer,提交完离职申请,我的求职过程也就告于段落了。写下这篇文章,希望我的这些经历可以对正在求职的你能有点启发。 首先,交代下我的背景,这样大家看的时候,就可以有个对比参照。我2010年7月份毕业于南京晓庄学院计算机专业,一所二本学校,经常用大学班主任的气话来调侃“我是一所三流学校里面的二流学生”。在大学期间,成绩一般,没拿过一等,唯一一次有机会拿二等,还因为一门公共课挂科而取消资格,但也扎扎实实学过一些专业课程,比如数据库、网络、C++编程。考研,挂了。大学毕业那会,因为一直在实习,就没正儿八经投过几份简历(现在再看我大学毕业时的简历,真是一塌糊涂),那时候面试过金蝶 […]

【软件测试】话说软件测试中的“易用性”测试

Usability的概念在中国开始逐渐为企业所认识,但是作为这个领域的核心词汇,usability的中文翻译仍未统一。目前存在着两个主流版本:“可用性”和“易用性”。这两个译法虽然只有一字之差,但它们所传达的含义却大相径庭。对这两者的取舍已经不仅仅是哪个更好一点的锦上添花的问题,而是哪个对哪个错的是非原则问题。“易用性”的使用对于正确理解usability具有极大的片面性和误导性,非常不利于其在中国的开展。

【自动化】软件自动化测试在功能测试中的应用

软件测试对软件质量的保证起着致关重要的作用。虽然国内软件企业越来越注重软件测试工作,但仍然存在这样一个不争的现实:除了部分大中型软件企业外,相当多的软件企业的软件测试工作还完全处于手工测试状态,甚至还没有稳定的测试团队。在这样的企业环境下,软件测试工作变成了一项枯燥繁重的“苦差事”。大型软件项目的新增业务需求和变更需求比较多,且各类业务比较复杂,如ERP、CRM、SCM等等。软件开发往往采取模块化设计和增量集成的方式,加上某些系统对流程和权限的控制比较严格,从而导致单据从受理到进入归档状态是一个非常漫长的过程。测试人员准备测试数据比较困难,经常需要花很多时间去创建一张单并执行到预定的状态。此外 […]

【性能测试】性能测试知多少:性能分析与调优的原理

最近一直纠结性能分析与调优如何下手,先从硬件开始,还是先从代码或数据库。从操作系统(CPU调度,内存管理,进程调度,磁盘I/O)、网络、协议(HTTP, TCP/IP ),还是从应用程序代码,数据库调优,中间件配置等方面入手。 单一个中间件又分web中间件(apache 、IIS),应用中间件(tomcat 、weblogic 、webSphere )等,虽然都是中间件,每一样拎出来往深了学都不是一朝一夕之功。但调优对于每一项的要求又不仅仅是“知道”或“会使用”这么简单。起码要达到“如何更好的使用”。

【性能测试】性能测试知多少:并发用户

在做性能测试的时候,我们常常听到并发用户、响应时间、吞吐量专业术语,也许大家都理解,这里有一个理解的层次与深度概念。最近有看断念《软件性能详解与案例分析》一书,看了他的讲解,原来我对这些术语的理解还是比较肤浅,其实,这里也主要受制于自己的知识面。所以,再拿出来与大家重温一下。 ps:按照惯例先上个图,因为看纯文字的文章比较累!^_^

贺炘:你的软件测试基因是什么?

作为专业的软件测试工程师,为了提升我们的软件测试技能,我们学习了很多知识,如:配置管理、自动测试、性能测试、用例设计、数据库等等。但是在实际工作过程中我们真的在有效应用这些测试技术吗?你是否不经意之间对是否真的需要这么多的软件测试技能产生怀疑那? 当你产生怀疑的时候,看了那么多的人还在一直鼓励着大家学习这些测试技能,你是否这样安慰自己:只是由于我所在的团队不够专业,如果我在一个专业的精英团队,这些测试技能就一定能派上用场! 实际情况是什么?到底是什么原因导致很多企业并没有充分重视软件测试,或者说质量? 我的答案是:测试必须以目标为导向!质量是为企业服务的,不应该以质量的名义绑架企业,企业的基因 […]

最伟大计算机程序员是如何诞生的

计算机编程是一种艺术形式,就如同人们谱写诗歌和音乐。  ——高德纳(Donald E.Knuth) 高德纳(Donald Ervin Knuth,1938年1月10日-),出生于密尔沃基,美国著名计算机科学家,斯坦福大学计算机系荣誉退休教授。高德纳教授被誉为现代计算机科学的鼻祖,在计算机科学及数学领域发表了多部具广泛影响的论文和著作。 高德纳最为人知的事迹是,他是《计算机程序设计艺术》(The Art of Computer Programming)的作者。此书是计算机科学界最受高度敬重的参考书籍之一。他创造了算法分析的领域,在数个理论计算机科学的分支做出基石一般的贡献,此外还是排版软件TEX […]

为什么我们现在都在开源

我们是新的 GitHub 一代?GitHub 塑造了新式开源文化?嗯,看看十几年开源控、Getable CTO Mikeal Rogers 是怎么说的吧: GitHub 本来想做一个开源软件协作平台,结果做着做着就成了一个兼容并包、不仅仅是照顾程序员的平台。现在,这个平台也成了各类艺术家、建筑生产商、各大公司、甚至各大城市使用的平台。 例如,芝加哥市前阵子就宣布了一项公告:“假如本市出现新的自行车道、公路或建筑物,那么人人都可修改 GitHub 上的数据。”另外,有些人则将家装项目放到了 GitHub 上,有家律师事务所也在前几天宣布,他们会将早期创业公司的融资相关法律文件全放到上面——而在去 […]

浏览器兼容性测试的分类

浏览器在Web系统中的一个非常重要的组成部分,它关系到软件产品最终的展现形式,直接与用户打交道。同一个Web页面在不同的浏览器上可能有不同的效果,而用户也有各不相同的使用浏览器的习惯,既有使用主流浏览器的也有使用非主流的(比如作者,用的是Opera,碰到过很多网页都有兼容性的问题……)所以,为了保证我们的软件产品能够面向大多数的用户,浏览器的兼容性测试在Web测试中占据了十分重要的作用。 现在市面上的浏览器种类可谓玲琅满目,有大家所熟知的IE、Firefox、Chrome、傲游、360安全浏览器、搜狗浏览器等等,也有一些鲜为人知的浏览器,这么多的种类如果每一种都需要进行兼容性测试那岂不是要吐血 […]

做自动化测试要考虑的问题

一、为什么很多公司都说要组建一个自动化测试团队,但极少能建立起来? ● 太过于相信自动化测试,且没有经过严格的自动化测试流程和前期分析设计就草率的进行脚本的开发,最终的结果一定是失败! ● 国内的公司很少有专属的自动化测试团队,往往都是信心十足最后确又虎头蛇尾!这其中也分两种情况:其一,缺乏真正可以做自动化测试的技术人员,每个成员都是在学习阶段,那还谈什么组建自动化测试团队?这最多也就叫兴趣小组?其二,的确有牛人在团队中,但是我们都知道,国内很少有公司会专门组建一个专职做自动化测试的团队,国内现在大多数情况是手动测试和自动化测试并用,那么,自动化测试的优先级肯定没有手工测试那么高,而且项目的任 […]