《谈互联网银行项目性能测试的必要性》
转一遍我以前写的一遍文章,也是关于银行测试方面的,《谈互联网银行项目性能测试的必要性》。。
-------------------------------------------------------------------------------
最近十年来网络技术呈现出日新月异的景象,人们的网络生活也越来越丰富,特别是最近两年社会性网络服务(SNS)的普及。同时通过网络服务的消费者对并发量的需求也越来越明显,软件性能测试也随之越来越重要。
应用系统好比“人”字,功能测试是左边的一撇,犹如人的左腿;开发设计处于中间的位置,犹如大脑核心中枢;性能测试是右边的一捺,犹如人的右腿。一个人走路的时需要两条腿,左腿迈一步,右腿迈一步,才能堂堂正正地往前走,如果缺其一就会坡脚,甚至有座轮椅的危险。软件测试工作是软件质量保证最后的“大门”,是整个软件开发过程中不可以或缺的强有力的裁判。作为一名测试工程师,在我的性能测试经历中也曾使用过比较笨的方法,对应用系统的某个功能模块进行性能测试:左手拿着秒表掐着算时间,右手控制着鼠标触发动作,现在想想确实好笑。最近几年,性能测试工作已跨越了那时的阶段,正朝着自动化和智能化的方向发展。性能测试的重要性在银行界更凸显重要性,由于银行系统(主要包括核心和外围系统)的网络环境、数据库环境、应用服务器环境、系统平台和技术架构等的复杂性和多样性,难以预知的用户负载和越来越复杂的应用程序使软件性能非常难于控制。
以下列举2个银行案例来说明一下性能测试的必要性:
2011年6月初,XX银行网银系统上线后不久,用户登录失败出现网络错误的异常信息。项目组负责人及时的向公司总部申请相关技术人员,其中主要包括性能测试专家,快速搭建性能测试环境并对整个网银系统进行性能测试,对登录异常进行问题重现,资深开发人员对代码进行一一排查。通过性能测试发现问题的主要根源出在第三方公司的密码控件上面。密码控件在代码中使用了一个全局变量,导致在系统并发时会出现异常,系统其他用户在访问时也无法正常解析密码从而登录失败。上线后出现的这些问题,虽然问题出在第三方公司的密码控件上面,但也给公司、项目组和客户带来了一定的损失,尤其损坏了公司的形象,说明我们在上线前的工作做的还不够。其实这些问题完全可以在上线前通过正规的性能测试工作来规避的,为什么不去反思一下呢?
性能测试工作被绝大多数人认为是一件再简单不过的事情,“不就是拿工具跑跑吗”,这绝对是一个误区。没有做过性能测试的应用系统,是一种不付责任的表现,是带有很大风险的,是不健全的。在银行这样复杂的、多样的环境下,再好的软件开发工程师也不能保证开发出来的软件没有性能问题。虽然,改善系统性能不是单单依靠性能测试就能完成的,但性能测试至今仍是控制性能有效的手段。
所以说软件测试是重要的,其中性能测试是重中之重,不容忽视。