刘冉 发布的文章

今年是我做软件测试的第7个年头了,当年我从软件开发转做软件测试的时候,没有想过我能在这个领域做这么久。在这7年里面,我在软件测试领域摸爬滚打,从自动测试起步,逐步接触到软件测试的各个领域:各种测试方法(等价类,全配对等)、测试技术(单元测试,功能测试,性能测试,探索性测试等)、自动化测试工具(JUnit,Selenium,Gatling,ZAP等)、测试流程(传统测试流程,敏捷测试流程等)以及测试策略(测试象限和测试金字塔等)。其中“测试策略”在测试业界是讨论的比较少的,因为大多数人的工作重点是设计测试用例,执行测试或者开发和维护自动化测试,而只有少部分人才会涉及到测试策略的工作,从而导...

最近几年“TDD已死”的声音不断出现,特别是David Heinemeier Hansson那篇文章——《TDD is dead. Long live testing. (DHH)》引发了大量的讨论。其中最引人注目的是Kent Beck、Martin Fowler、David三人就这个举行的系列对话(辩论)——Is TDD Dead?当前国内对TDD的理解十分模糊,大部分人也没有明确和有意识的去实施TDD,因此许多人对此都有着不同的理解。其中最经典的理解就是基于代码的某个单元,使用Mock等技术编写单元测试,然后用这个单元测试来驱动开发,抑或是帮助在重构、修改以后进行回归测试。而现在大部...

昨天一条XCodeGhost的消息在微信朋友圈和IT圈炸开了锅,并且引发了许多人的愤怒和担忧,愤怒的是中国这么多知名IT公司不负责的开发行为,担忧的是自己的用户名密码等隐私信息的再一次泄露将给自己带来又一次的伤害。简单说XCodeGhost是有人在XCode里面植入了一段代码,导致用户使用通过这个XCode编译的iOS应用软件时会自动执行这段额外植入的代码,并将用户的隐私信息发往黑客的服务器,详细信息参见乌云知识库。截至今天已经有超过20款iOS应用确认拥有XCodeGhost。当我看到这个新闻的时候,第一个想法就是"历史总是如此的相似"。让我们回到上个世纪70,80年代,Unix之父K...

本文首发表于InfoQ:http://www.infoq.com/cn/articles/WebScan-CI一. 当前Web应用安全现状随着中国互联网金融的爆发和繁荣,Web应用在其中扮演的地位也越来越重要,比如Web支付系统、Web P2P系统、Web货币系统等。对于这些金融系统来讲,安全的重要性是不言而喻的, 一旦黑客利用安全漏洞入侵系统后,损失的不仅仅是数据,还包括企业或者客户的财产。国内著名的乌云漏洞平台,每天都会爆出十几条甚至几十条各大网站的安全漏洞,比如:中国电信某省任意用户登陆(可恶意扣费)中石化某销售物流系统后台远程命令执行的服务器沦陷(客户信息泄漏&&可内网渗透)盛大...

本文首发表于InfoQ:http://www.infoq.com/cn/articles/cucumber-robotframework-comparison一、摘要自动化测试可以快速自动完成大量测试用例,节约巨大的人工测试成本;同时它需要拥有专业开发技能的人才能完成开发,且需要大量时间进行维护(在需求经常变化的情况下),所以大部分具有很好开发技能的人员不是很愿意编写自动化用例。但由于软件规模的高速增长,人力资源的逐步稀缺,自动化测试已是势在必行。对于自动化测试首先需要保证其功能是对客户有价值的和正确可用的。而这一切的基础就是用例要能测试客户的需求,期望,最好能让客户参与到测试用例的开发...

本文首发表于InfoQ:http://www.infoq.com/cn/articles/visual-perception-test随着互联网第二春的到来以及Web2.0的盛行,Web应用程序开发已经成为了当前软件开发的主力军。现在无论是企业级应用,社交应用还是移动应用,Web已经成为标准配置,而且很多企业正在逐步的将自己的企业级本地应用进行互联网Web化。但是Web 的界面布局测试,多浏览器测试,CSS/JavsScript的重构等都成为界面测试的痛中之痛,特别是大型Web应用的回归测试量太大,从而导致回归测试很多时候根本无法完成,所以很少会有团队能完成全方位的界面布局回归测试,特别...

2013,一个即忙碌又精彩的一年。虽然它已经过去,但是总想写点什么总结一下。作为一名QA,过去一年是我的软件质量知识体系和自动化测试知识体系收获最丰的一年,让我对于软件质量和自动化测试有了一个更高层次的认识。所以我写下了一些自己更新了的知识,以及在和其他公司的QA交谈之后发现的一些他们应该更新的知识。借此希望能对各位看官起到一些提示或者补充作用,当然我也希望各位与我进行联系,并共同探讨未来的QA到底应该具有什么样的能力和知识体系。Web应用程序视觉感知测试视觉感知测试,对于很多QA,包括我在2013以前对于它的认知都是手动测试领域的一个成员。在这个Web系统爆炸的年代,Web UI界面布...

本文发表于《程序员》杂志2013年1,服务器性能测试工具简介服务器性能测试主要是以测试服务器的性能为主的测试方法,通过模拟多用户按照预定义好的规则对服务器进行并行访问,监测并记录服务器的Response Time,Throughput, Server Hits 以及Memory和CPU等实时数据,通过分析测试数据,得到服务器的各项性能指标从而发现服务器的性能瓶颈和内存泄漏等问题。进行这样测试的工具称之为服务器性能测试工具。服务器性能测试工具通过多年的发展,已经从ab/abs这种简单的命令行工具发展到有丰富UI配置界面的Jmeter,LoadRunner,到现在的Gatling支持DSL/...

本文首发于InfoQ:http://www.infoq.com/cn/articles/new-generation-server-testing-tool-gatling21世纪是云的世纪, 大规模云网已经出现了,而且在未来几年内会得到高速发展,从而使得基于云的系统也会越来越多。如果要开发一款高性能的云系统,服务器性能测试是一个必不可少的环节 。今天,就来介绍一款新一代服务器性能测试工具Gatling。一,什么是GatlingGatling是一款基于Scala 开发的高性能服务器性能测试工具,它主要用于对服务器进行负载等测试,并分析和测量服务器的各种性能指标。Gatling主要用于测量...

一, 性能测试为什么要成为一等公民敏捷开发在当今软件行业里面扮演着越来越重要的角色,软件测试也随着逐步敏捷起来。由于软件系统,特别是服务器系统越来越复杂,规模也越来越大。开发人数也达到几十,甚至几百人,而且大规模使用第三方的软件库,比如Spring,Rails,Hibernate,.Net等。如果使用不当,将会引起很严重的性能问题甚至是稳定性问题,所以性能问题在当前的软件开发中已经越来越明显了。常规的持续集成验证了构建是否满足了功能设计要求,而持续性能测试增加了另外一重验证标准,程序是否满足了性能要求,从而是性能问题尽早被发现。持续性能测试主要的优点就是可以在代码改变以后可以快速的知道性...