【安全测试】防御XSS攻击的七条原则

本文将会着重介绍防御XSS攻击的一些原则,需要读者对于XSS有所了解,至少知道XSS漏洞的基本原理,如果您对此不是特别清楚,请参考这两篇文章:《Stored and Reflected XSS Attack》《DOM Based XSS》 攻击者可以利用XSS漏洞向用户发送攻击脚本,而用户的浏览器因为没有办法知道这段脚本是不可信的,所以依然会执行它。对于浏览器而言,它认为这段脚本是来自可以信任的服务器的,所以脚本可以光明正大地访问Cookie,或者保存在浏览器里被当前网站所用的敏感信息,甚至可以知道用户电脑安装了哪些软件。这些脚本还可以改写HTML页面,进行钓鱼攻击。 虽然产生XSS漏洞的原因 […]

事半功倍:你应该知道的HTML5五大特性

HTML5的诞生为Web App以及移动App开发带来了许多新鲜有趣的JavaScript与HTML API。本文将介绍5个能够让你事半功倍的HTML5特性。 1. DNS Prefetching DNS主机名解析有时会出现拖慢网站速度的问题。现代浏览器当遇到DNS解析时已经十分聪明——用户在跟随某个链接之前,浏览器先尝试解析域名再将其进行缓存。

Xshell-让SecureCRT甘拜下风的终端模拟

经常要进行硬件设备调试,Telnet命令打印收集,甚至是一些日常的自动化测试任务,如何选择一款好的终端模拟软件是我们所需要考虑的。 Xshell 和SecureCRT的比较: 以下是来自绿色便携软件Blog的原文描述: Screen下的会话不会闪屏,而且可以回滚,这个功能太无敌了Script的执行顺序可以调整,SecureCRT的这个功能实在太呆可以同时发送指令到多个session,这个也不错键盘映射的兼容性要好一些,不用去自己改映射可以展现tunnel等的情况支持布局切换,像gnome-terminal缺憾是对Unicode制表符支持不够好,内置的sftp不怎么好使(该公司有另外的xftp) […]

熊志男:写给一名测试工程师

你要为自己每一次的懦弱而忏悔:曾经不愿承认自己出生于农村,曾经不敢面对自己是一名外包员工,曾经一次次的不甘心自己只是一名测试工程师。 不做失败者 微软、IBM、Oracle、华为等等,这些公司选拔的测试工程师应该都是出类拔萃的人才。可惜不是你,说起你的大学,就想起郭敬明的《一梦三四年》。你开始想做测试是因为数次面试程序员被拒,但是却看见了“月薪8000不是梦”的广告。比起进入外企、国企、名企的同学,比起考上公务员的同学,比起做软件开发的同学,你在心里问自己“我是个失败者吗?”。我只能说你还没有成功,但是你已经开始挑战失败。

【性能测试】HTTP负载测试

有很多人在谈论HTTP服务器软件的性能测试,也许是因为现在有太多的服务器选择。 这很好,但是我看到有人很多基本相同的问题,使得测试结果的推论值得怀疑。在日常工作中花费了很多时间在高性能代理缓存和源站性能测试方面之后,这里有我认为比较重要的一些方面来分享。 希望能抛砖引玉。   0、一致性 最最重要的是,每次都测试同一个时间点。因为系统发生的每个改变,无论是OS升级还是运行了其它消耗带宽和CPU的应用,都会影响测试的结果,所以一定要把测试环境固定下来。

写给四年前刚开始编程的自己

2009年9月,进入大学的第一天,开始了我正式的软件工程的学习。为什么是正式的呢,因为之前虽然也写过代码,但完全是出于兴趣,想到什么就学什么,毫无章法。后来来到了北交大,进入了据说还不错的软件学院,有了一群志同道合的朋友,一位位用心良苦的老师,踏上了一个“程序员“的冒险旅程。现在,我在美国密苏里大学读计算机硕士,回首自己走过来的这四年,错过了很多,也明白了很多,收获了很多,对软件和计算机渐渐有了自己的认识,更重要的是,发现了自己越来越多的缺陷与不足。有些当年认为用处不大而忽略掉的东西,却成了现在最最重要的东西。有时会后悔地埋怨自己当时不努力,欠下了太多的债,只能后来慢慢偿还。 如果能够给我一次 […]

IT故障排查工作中的六条不变法则

IT运维大师是每个人追寻的梦想,他们那敏锐的嗅觉似乎总能揪出计算系统故障的根本原因。这种快速反应、准确定位的能力源自多年来处理复杂数据中心基础设施难题的经验积累与个人知识储备,而且其成功很难被复制。显然还没有哪家机构愿意为这种近乎“超自然”的神级判断能力颁发认证资质。 尽管如此,高强度故障排查工作往往会遵循一些通用且不成文的实践规则。在本文中,我将结合自身经历总结出六条不变法则,希望能为大家的实际工作带来助益。请注意,这些法则只适用于大多数–而非全部–情况。 1、永远不要对当前连接的服务器或者网络设备接口进行修改 虽然这种做法听起来非常愚蠢,但某些人确实会频繁对正在用于 […]

百万级访问量网站的技术准备工作

当今从纯网站技术上来说,因为开源模式的发展,现在建一个小网站已经很简单也很便宜,所以很多人都把创业方向定位在互联网应用。这些人里大多数不是很懂技术,或者不是那么精通,而网站开发维护方面的知识又很分散,学习成本太高,所以这篇文章将这些知识点结合起来,系统的来说,一个从日几千访问的小小网站, 到日访问一两百万的小网站,中间可能会产生什么问题,以及怎么才能在一开始做足工作尽量避免这些问题。 你的网站因为努力经营,访问量逐渐升高,在升高的过程中,问题也可能开始显现了。因为带宽的增加、硬件的扩展、人员的扩张所带来的成本提高是显而易 见的,而还有相当大的一部分成本是因为代码重构、架构重构,甚至底层开发语言 […]

【LR】运行场景时,missing newline in…解决方法

脚本使用dat文件进行了参数化,如果在运行场景时,报了个missing newline的错误,那就是dat文件的问题。 一般情况下,将参数化的dat文件中的最后一行补上一个空行就解决啦!! 如果遇到此错误,检查2个地方: dat文件中有没有空白行; 文档最后一行是否为空行 如不是空行,需敲回车键补上一个空行。

【日记】2013年05月22日

2013年05月22日    星期三    晴 没什么大事,随手小记一下: 1. 等了半年的软件评测师证书明天终于能领了,真是感叹全国考试的效率。 2. 最近看了下Python,尚未实战啊,继续学习。 3. 将公司现有的自动化测试框架“简单化,傻瓜化”的概念还很零散,还需要不停的尝试。 4. 想自己写套用与自动化测试的类似QC的平台出来。 5. 最近健身,感觉自己的身体发生了一些变化,至少之前杠铃划船20磅,都腰酸腿疼手抖,现在50磅木有问题。 6. 英语落下不少了,得赶紧补上。 7. 本周六的 系统分析师考试算是完蛋了。

浅谈用户体验的“反面模式”

作为网站的一个用户,你也许时常会发现,使用网站时,有些东西很令人厌烦。例如一个登录的表单,或是导航,或者是整个网页应用,都有可能让你难以完成一项任务。是什么原因让网站的设计产生了这些问题? 答案是复杂的。首当其冲的问题是,设计师们可能忽略了很重要的一点:对实际用户进行测试。这个问题的原因通常是,设计师想当然的认为,他们自己知道 如何处理好网站某一部分的交互细节。因为很多设计师觉得,他们已经在其他案例中看到过类似的交互,原设计者肯定已经测试过,为什么多此一举呢? 拿来就 好。于是,我们频繁查看别人写好的CSS开源代码库,直接复制到自己的设计中,而并没有在真实场景中测试。如此一来,我们已经在不知不 […]

【Python】Python高效编程技巧[转]

我已经使用Python编程有多年了,即使今天我仍然惊奇于这种语言所能让代码表现出的整洁和对DRY编程原则的适用。这些年来的经历让我学到了很多的小技巧和知识,大多数是通过阅读很流行的开源软件,如Django, Flask, Requests中获得的。 下面我挑选出的这几个技巧常常会被人们忽略,但它们在日常编程中能真正的给我们带来不少帮助。 1. 字典推导(Dictionary comprehensions)和集合推导(Set comprehensions) 大多数的Python程序员都知道且使用过列表推导(list comprehensions)。如果你对list comprehensions概 […]

我听到过的最精彩的一个软件纠错故事

那还是80年代初期,我爸爸在一家存储设备公司工作,这个公司现在已经不存在了,它生产磁带机和驱动这些磁带高速运转的气动系统 —— 这是那个时代的产物。 他们技术改造了磁带驱动器,使得你可以只有一个中心驱动器 —— “A”盘 —— 由它连接着数个“B”盘,在跟A盘连接的内存里驻留这一个小型的操作系统,负责代理所有B盘的数据的读写操作。

学习新技术的10个建议

我们生活在一个振奋人心的时代。我们可以越来越方便廉价地获得大量学习资源。这些资源的传播载体由最初的教室被变成了博客,技术论坛等。坐拥如此众多的学习资源,我们没有任何理由不去好好利用。随之而来的问题便是如何在这知识的海洋中选择自己的前进方向。在这篇文章中,我将简要概括一些技术学习的建议,希望可以给你带来一些启发。 尽管我的建议主要涉及的是软件开发方面,但是这些原则在其他领域也同样适用。 1. 克服惯性 万事开头难,克服惯性是学习新技术的第一步。举个日常生活中惯性存在的简单栗子,当我们看电视的时候会因为遥控器不在身边而懒得换台。幸运的是有很多的小技巧可以调动我们的积极性,帮助我们克服惯性。对于我来 […]

有想法但不会写代码,凭什么让技术合伙人为你的创意打工?[转]

就在上周六,缘创派在车库咖啡举办了一场线下活动,到场一百多号人。场面热烈,大家的交流欲望也很强烈,也有不少的创业者想为自己的项目找一个技术合伙人。 但一些技术合伙人给我的反馈却是:很多创业项目只是一个创意,根本不靠谱。在这个阶段就想让技术合伙人干活,这是根本不可能的。 再来看第二个案例。不久前,缘创派的一个会员打了长途电话给我说:自己有一个非常 NB 的主意,就是要找一个技术帮他写程序。我反问到:你为这个项目付出了什么呢?能给予技术合伙人什么呢? 对方说:我可以给股份啊,以后成功了大家都成功啊。 事实上,这个逻辑根本就是错误的。因为一个技术合伙人根本不会因为一个创意而为你编程!

【QTP】QTP11支持Google Chrome浏览器识别方法[转]

作者:zzxxbb112 出处:http://blog.csdn.net/zzxxbb112 Google Chrome是我个人非常喜欢的一款浏览器,基本目前上网都是使用此浏览器,界面清爽浏览速度也快。而之前QTP一直没有支持Chrome的识别这个大家都知道。最近本人SQAForums上发现QTP的chrome补丁已经发布,立马第一时间下载下来进行了试用: 当然补丁我已经为各位准备好了 补丁名:QTPWEB_00088 支持Chrome补丁下载地址:

【QTP】如何改进QTP性能

01. 当开启QTP时只载入需要的Add-ins,这一点不管是在录制还是回放时都会有性能提升。 02. 运行测试脚本时选择fast模式,打开Tools–》Options窗口选择fast mode选项,一旦开启了fast模式,QTP在执行测试脚本时不会在执行每一步时显示箭头,但测试运行速度会明显提高。 03. 关闭Active Screen,打开Tools 》 Options 》Active Screen 》 设置capture level为None Active Screen

“谈心式”软件测试法

软件测试人员应该在合适时间介入软件开发流程之中,已经不是一个新鲜的问题。 许多软件测试前辈或“软件人”告诉我们,测试人员介入开发流程越早越好,这样就能尽早地发挥测试人员的功能,减少出现软件缺陷,降低软件工程后期的成本。 测试人员介入软件开发工程,多早是早,多早为好呢?现成的答案:即从需求开始,从整体设计开始。总之,早早介入就是想让测试人员直接参与其中,以测试的视角,超前发现问题,并协助各干系人,将软件缺陷解决在萌芽状态。如此,可收到“未雨绸缪”“防患于未然”之功效。 目的已明确,节点瞅准,具体应该如何操作呢?从多年的项目经历中,我总结出一套行之有效的做法,我把它称为“谈心式”软件测试法。 不论 […]

提高网站可用性测试的几点建议

在我首次进行可用性测试时,我遇到一位可爱的老妇人。她不会使用鼠标,而是将它拿在手中,指向屏幕,并对光标说着鼓励的话。测试结束后,我毫无收获。但这位妇人却认为我很“可爱”,建议我去见见她的孙女。从这件事上,我懂得了在招募测试参与者时应设定好明确的标准。 可能性测试并不像看起来那么简单。虽然它不像航天科学那么复杂,但仍是错综复杂的。本文将分享我从工作中总结出的几条经验,帮你快速提高可用性测试技巧,避免纰漏,使你和测试参与者更好地工作。 编写可用性测试脚本,回答特定的调查问题 在开始新的可用性测试时,不要认为需要做的仅仅是找到网站的重点区域,并请用户完成该区域中的任务。该方法可能会使你收到一些不错的 […]

创业失败后如何找工作

几个月以前,我决定关闭 Vinetrade, 过去18个月我为之奋斗的创业公司。关闭它意味着我失去了工作,薪水,和需要去寻找新的开始。 在那个决定的三个月后,我开始在 Adzuna 工作,那是一个在英国的创业公司,负责他们向澳大利亚, 加拿大 和 南非 扩展的区域经理。 这个文章旨在帮助处于同样境地的创始人,描述了我经历的一些过程和我对他们的一些建议。 1. 运转你的社交圈 对外宣布你将关闭自己的公司后,你该马上把你的社交圈运转起来。尽可能多地邀人喝喝咖啡,向他们说明你的现状,请教他们你接下来该做什么。打听哪些人在招聘,需要怎样的人才。有许多工作都不对外公开招聘的。 愿意给你提供支持,帮助你的 […]