谈谈测试

来源:互联网 发布:蜡笔同步软件注册 编辑:程序博客网 时间:2024/05/17 07:24

      

       系统需求,刚开始接触测试的第一个项目综合网络激活系统,部门经理要求写个PPT,内容是你理解的这个系统,看了100M的文档,结果发现功能又杂有多,一开始真有点理不清头绪,因为当你接触一个新系统的时候,如果你不理解用户需求,没有专业的知识帮你去分析,你很难精确的把握这个系统,更别说是优化了,这时候你发现JAVA,C已经帮不了你了,“UML-统一建模语言”,不会,学呗,良好的自学能力是IT人才必备的,当你掌握了基本的软件工程知识,用例图,类图,时序图等基本可以帮你分析这个系统,你会关注谁用这个系统?这个系统解决什么问题?我们通常所说的“业务”也由此展开。软件是什么?现实业务映射到计算机,既通过现实世界,人的世界,计算机世界,测试人员需要评审,用户的需求设计人员都清楚了解吗?概设,详设能涵盖用户的需求,有遗漏吗?设计人员设计的合理吗,扩展性强吗?开发人员拿到设计文档后,能开发吗?开发出来的系统是用户要的吗?迭代这整个过程从而提高软件品质,使软件更符合用户需求,更符合现实业务。推荐大家一本书《UML Distilled 2nd》。

 

       系统测试,测试人员在做测试之前要写用例,为什么要写用例呢?用例一般包括3块内容,1、界面部分 2、基本的流程 3、异常流程,界面部分和基本流程在开发做单元测试后应该保证的,一般来说测试需要关注的是异常流,如果前两个部分是测试人员关注的重点,那测试人员就是点点页面,甚至没有存在的必要,测试人员只需要过一下前2个部分即可,对于异常的判断,需要熟悉业务,需要有一定的开发经验,了解系统的架构这样的测试才更专业,更有价值,你要问为什么有的项目前端采用Struts有的则用Tapestry,有的存储用Hibernate有的则用IBatis,有的中间件用Weblogic有的用Resin,跟业务有关吗?Oracle的密码中含有@符号后,连接Oracle会有问题吗?Resin的配置是否会有安全隐患,比如

是否隐藏目录列表等问题。如果测试只是简单的排列组合,工作量是巨大的,你需要归类,推荐大家一本书《金字塔原理》。

 

       自动化测试,未做测试之前只是简单的了解,当你了解后,你会发现,测试人员也同样在做研发工作,你需要关注HP-MERCURY这个公司旗下的优秀产品,QuickTestPro帮助你解决繁琐的页面测试,尤其是回归测试,当你编写调试好VBS脚本后(相当一部分可以通过软件录制),你接下来的工作就是分析测试报告了,当然如何玩转QuickTestPro是你需要潜心研究的。不过毕竟是二次开发,技术含量并不大,只是比较繁琐,你需要足够的耐心,掌握基本的原理,边学边做吧。关于QuickTestPro教材多的是,入门可以看看oldsidney的学习笔记。

      

       性能测试,这个更需要相当的经验,一个好的性能测试人员不多,这里只探讨用户并发的性能测试,你同样需要关注HP-MERCURY这个公司旗下的优秀产品,LoadRunner帮助产生并发用户,功能强大,当你编写好C脚本(相当一部分可以通过软件录制),之后部分就是设置scenario,监控数据库,中间件,操作系统,运行结束后自动帮你生成报告,如何找到性能瓶颈,这才是重点,专业的测试人员需要帮助设计人员定位到哪一个环节出了问题,所以数据库的性能优化,SQL的性能优化,中间件的配置到管理等等知识是你要关注的,关于LoadRunner可以看看《LoadRunnerUserManual》,数据库的方面可以看看《循环渐进ORACLE》,中间件的知识看看小布老师的课件吧。

 

       安全性测试,专业的测试人员一定是黑客级别的,因为涉及到太多的漏洞,代码过滤,SQL注入的相关知识,涵盖数据库,中间件,操作系统,语言,网络等众多方面,前途一片光明,因为国内安全方面的人才太缺乏了。这里只介绍WEB安全性方面的检查,你设计的WEB应用允许远程执行JavaScript代码吗,你的代码过滤特殊符号了吗?你可以简单测试,在被测系统上URL后面跟上"%3Cscript%3Ealert(111)%3C/script%3E"。详细的你可以关注IBM AppScan,你可以采用外围检查的方式,运行结束后生成的报告包括,检查项目,安全隐患,以及解决方案。

原创粉丝点击