学软件测试一般需要学哪些课程~
第一阶段(软件测试理论及基础)Windows操作系统及网络基础:软件测试概念、计算机层次、软件分类、 互联网概述、 IP地址、虚拟机使用、操作系统安装软件测试基础理论:软件开发阶段划分,软件测试阶段划分,模型和分类、软件测试主要原则、测试用例概念、 测试方法选择、 TestDirector概述、软件测试计划编写功能测试项目实践:熟悉软件需求、编写测试计划、编写测试用例、 执行测试用例、提交bug、 编写测试总结报告第二阶段(编程开发技术)Java程序设计:Java开发环境变量的配置, Java程序的基本结构变量、常量、基本数据类型、流程控制,Java面向对象编程的基本概念,Java I/O核心技术, Java网络编程技术,Java的事件处理模型、Swing组件模型, HTML技术、Servlet/JSP技术数据库基础:数据库系统的基本概念,基本SQL语句, 数据完整性约束,索引的创建和使用,视图的创建和使用,高级查询,存储过程的定义和使用, Oracle及SQL Server2008基本操作, SQL Plus的基本使用,PLSQL Developer的使用, 序列,索引,视图,函数和存储过程第三阶段(测试工具)功能测试工具QTP:QTP的基本使用流程, 使用QTP录制应用程序及Web程序,QTP的测试对象管理机制、对象仓库的使用, 标准检查点、文本检查点、文本域检查点、图像检查点、数据库检查点、其他检查点, 脚本参数化, 使用模拟录制模式、使用低级录制模式、使用QTP进行回归测试, VBScript基本语法结构性能测试工具LoadRunner:自动化工具分类,性能测试简介,Loadrunner概述;负载/压力测试计划的编写;开发脚本VuGenerator; 设计和运行场景---Controller;分析结果Analysis,LoadRunner数据池技术剖析; HTTP的报文结构,Correlation 技术,Web_reg_save_param函数, LoadRunner中文件下载,网页细分图,LR浏览器模拟设置,LR监视的性能计数器,LR中资源分析实;测试管理工具Quality Center:Quality Center概述,Quality Center产品框架; Quality Center的站点管理; Quality Center的项目管理; Quality Center测试管理中的白盒测试技术与白盒测试工具:白盒测试的方法;圈复杂度的计算; 面向对象的测试; 使用Junit进行单元测试第四阶段(测试实践)Unix操作系统及网络环境:Unix的历史,安装;Unix文件系统结构,FTP工具,目录共享; Unix常用命令; Unix Web服务器安装与配置,MySQL数据库的安装使用,邮件服务器的安装与使用; Unix Perl模块的安装,Shell编程,SecureCRT和SSH;Unix SVN的配置和使用自动化工具项目实践:使用QTP对Web项目进行功能测试;使用LoadRunner进行性能测试; 使用QC进行测试管理
学软件测试一般需要学哪些课程~
展开全部 第一阶段(软件测试理论及基础)Windows操作系统及网络基础:软件测试概念、计算机层次、软件分类、 互联网概述、 IP地址、虚拟机使用、操作系统安装软件测试基础理论:软件开发阶段划分,软件测试阶段划分,模型和分类、软件测试主要原则、测试用例概念、 测试方法选择、 TestDirector概述、软件测试计划编写功能测试项目实践:熟悉软件需求、编写测试计划、编写测试用例、 执行测试用例、提交bug、 编写测试总结报告第二阶段(编程开发技术)Java程序设计:Java开发环境变量的配置, Java程序的基本结构变量、常量、基本数据类型、流程控制,Java面向对象编程的基本概念,Java I/O核心技术, Java网络编程技术,Java的事件处理模型、Swing组件模型, HTML技术、Servlet/JSP技术数据库基础:数据库系统的基本概念,基本SQL语句, 数据完整性约束,索引的创建和使用,视图的创建和使用,高级查询,存储过程的定义和使用, Oracle及SQL Server2008基本操作, SQL Plus的基本使用,PLSQL Developer的使用, 序列,索引,视图,函数和存储过程第三阶段(测试工具)功能测试工具QTP:QTP的基本使用流程, 使用QTP录制应用程序及Web程序,QTP的测试对象管理机制、对象仓库的使用, 标准检查点、文本检查点、文本域检查点、图像检查点、数据库检查点、其他检查点, 脚本参数化, 使用模拟录制模式、使用低级录制模式、使用QTP进行回归测试, VBScript基本语法结构性能测试工具LoadRunner:自动化工具分类,性能测试简介,Loadrunner概述;负载/压力测试计划的编写;开发脚本VuGenerator; 设计和运行场景---Controller;分析结果Analysis,LoadRunner数据池技术剖析; HTTP的报文结构,Correlation 技术,Web_reg_save_param函数, LoadRunner中文件下载,网页细分图,LR浏览器模拟设置,LR监视的性能计数器,LR中资源分析实;测试管理工具Quality Center:Quality Center概述,Quality Center产品框架; Quality Center的站点管理; Quality Center的项目管理; Quality Center测试管理中的白盒测试技术与白盒测试工具:白盒测试的方法;圈复杂度的计算; 面向对象的测试; 使用Junit进行单元测试第四阶段(测试实践)Unix操作系统及网络环境:Unix的历史,安装;Unix文件系统结构,FTP工具,目录共享; Unix常用命令; Unix Web服务器安装与配置,MySQL数据库的安装使用,邮件服务器的安装与使用; Unix Perl模块的安装,Shell编程,SecureCRT和SSH;Unix SVN的配置和使用自动化工具项目实践:使用QTP对Web项目进行功能测试;使用LoadRunner进行性能测试; 使用QC进行测试管理
初学者如何学习软件测试
首先,我们说个基础的——语言:现在软件测试大多做得都国际的项目,并且大多都是欧美或者对日的项目,你最好扎实掌握一门语言这样对你将来在公司的发展很有帮助。
(千万不可忽视)再有,既然是测试首先要学理论基础啦,要不问你什么是软件测试的流程,方法,等等都答不上来,你怎么会有目的写出很好的测试脚本或者用例呢?看了理论基础后,最好先把流程搞懂,多练习练习测试用例的做成,或者工具的使用。
时间关系也不能说那么全,有些东西只能说最大的方面的努力。
因为每个人从事工作后看到机遇和目的也不一样,以上只是说点基础的。
或者我们QQ聊。
对了,推荐给你一个好的网站,一定会很受益的,我们工作了,还经常使用的。
做软件测试员需要学哪些专业知识???
有些事情说起来有些滑稽,几年前,我们说,软件测试业在中国刚刚起步。
现在,我们还是在说,软件测试业还是刚刚起步。
几年的时间,对于其它行业是一个什么概念我不清楚,对于IT行业来讲,不是一个小数。
实际上,国内软件业的发展缓慢限制了测试业的发展,没有软件的开发计划,测试的需求不旺啊。
然而,反过来想,在软件测试业还没有大红大紫的时候介入进去,应该是个好时候。
那么,从事软件测试业的基本要求是什么?我根据自己的体会,罗列一些,供朋友们参考。
首先,要有宽泛的计算机基础知识。
微机原理,数据结构,数据库,操作系统原理,编译原理,逻辑,编程语言,网络,等等,都要系统地学习过。
都精通不大可能,因为人的兴趣都不相同,但是,这些功课的基本知识点是应当了解的。
我们在谈到职业的类别的时候,我们可以说C程序员,C#程序员,Java程序员,而没有C测试员,C#测试员,Java测试员,程序员可以只擅长某一门编程语言,测试员却不行。
为什么呢?测试员是代表用户的,在做测试的时候,他(她)需要考虑到方方面面的事情。
例如对于一个用C写的上网拨号程序,测试员需要考虑: (1) 程序的功能是否正确;(要求计算机知识) (2) 是否符合用户的使用习惯;(要求界面设计知识和换位思考能力) (3) 性能是否满足要求,例如长时间使用;稳定性;(要求深入的计算机知识) (4) 是否能够满足用户可能的不同操作系统的要求;(要求计算机知识) (5) 如果在全球发布,是否满足不同语言和文化的需求;(要求软件国际化测试知识) (6) 如何搭建测试环境;(动手能力,硬件知识) (7) 做代码检查;(比较深入的C语言知识) (8) … 所以,各方面都了解一点,你在做测试的过程当中你会感觉顺手的多。
如果某写方面还差一些,没有关系,计算机行业的特点就是边做边学,只要是个有心人,学习是很快的。
其次,要掌握一门编程语言。
有的朋友可能会说,我就是不愿意做编程才来做测试的,怎么测试还有这么一个要求?我要尝试说服你:)。
我的理由有两个: 1. 只有知道怎么做一个软件产品,才能真正懂得这个产品。
而只有真正懂得了产品,才能做好测试。
一行代码不会,你会始终是个门外汉。
不要满足于点鼠标,而去尝试着打开我们面前的黑盒子。
2. 自动化测试技术需要编程技术。
自动化测试是软件测试的一个发展方向,一方面很多测试工具都需要人工干预,编写代码;另一方面在有的情况下需要自己编写测试工具。
对于测试员来说,编程技术不要求精通,但要会。
再次,学好英语。
在现阶段,我们只能承认,在计算机方面,英语国家领先。
有很多的资料都是英语的,如果仅仅局限在中文资料方面,会影响你的渊博程度:)。
举一个简单的例子,Windows操作系统会捕捉到一些程序或者操作系统内部的异常,你可以根据这个异常到微软网站上去查找错误原因和解决办法,其中有很大一部分资料就是英文的,因为还没有翻译过来或者以后也不会翻译的。
以上所说的几点看法,都是在计算机行业里面打转,下面说几个“虚”的要求吧。
1. 锻炼出一双测试的眼睛。
我的一个朋友,她也是做软件测试的,她说,有一次她和她老公去买笔记本电脑,她一眼就看出液晶屏上有几个坏点,而她老公却看不出来。
她说,这要归功于她有一双测试的眼睛。
测试的眼睛,就是对问题特别敏感,能够发现常人发现不了的问题。
测试员就是要找软件中的问题,有了这双眼睛会让你收益非浅。
耐心,细心和经验,会有助于我们到达这个要求。
2.平和的心态。
从心理学上说,每个人都不喜欢别人对自己挑毛病,程序员也是这样。
所以,要以平和的心态去看待发现的软件问题,以平和的心态去和程序员交流。
千万不要以为自己发现了几个问题,就可以责怪程序员,或者冲过去骂他们一顿。
也不要在背后谈论谁谁谁不行,bug太多。
一个项目是大家共同做的,需要举集体之力才能做完。
我们测试员发现的问题多,表明项目的风险又少了一点,应该高兴才是。
如果你的脾气不好,可能这个恶名会掩盖你的真才实学,很可惜的
软件测试工程师应该学些什么方面的知识?
软件测试工程师应该学习知识:(1)软件开发技术很多人认为,干吗要学习软件开发啊,那还不如直接去学什么JAVA、C++、C#了。
要知道,在以后的软件测试工作中,你就会发现软件开发与软件测试之间是什么样的关系了。
没有软件开发,就没有软件测试,有了软件测试,软件开发出的软件产品才能够达到用户满意的地步,他们之间是相互依赖关系。
有了更多的软件开发知识,就会更好地能理解软件产品,就知道在哪个环节开发人员容易犯错误,知道在哪个逻辑结构、哪个接口或函数,甚至是从内存的管理机制上都可以找出问题。
软件开发所用的程序设计语言有很多种,所以要精通其中一门,其他能看懂代码,会对你的测试工作有更好的帮助,另外也会帮助开发人员进行快速缺陷定位。
而且在软件测试工作中,要编写一些辅助测试的小工具,都需要有软件开发基础。
象测试过程管理工具、测试用例管理工具、缺陷跟踪工具、性能检测工具等等。
不要老是认为软件开发难,什么事都是从不会到会,从不精通到精通,都需要一个过程。
没有人一生下来就什么都会的,都需要自己的不断努力才能成功。
(2)网络技术软件是从字符界面产品发展到图形界面产品,从单机版到网络版(C/S结构和B/S结构),经历了一个漫长的过程。
计算机网络的出现,改变了现实社会中人们的相互沟通方式,把一个小小的地球变成了一个地球村。
所以,目前所有的软件产品都从传统的单机模式向网络模式转变,网络技术就更加关键。
目前网络的发展,使得网络速度进一步提高。
目前,家庭网速达到1M~2Mbps,企业达到4Mbps,据说要到2012年家庭的网络速度要达到20Mbps。
那么网络硬件从传统的电缆到目前的光纤技术、无线通信技术。
从目前的发展速度,三网(电信网、电视网、计算机网络)合并是迟早的事情。
网络硬件协议的测试,也是网络设备生产商要做的工作。
(3)数据库技术现在的数据信息是海量的。
在目前的软件产品中,底层架构中就需要有数据库进行数据存储,那么对数据的增删改查的操作是软件测试人员必须要必备的技能。
数据库测试也是测试技术的一种。
(4)测试与质量保证技术精通软件测试理论,熟悉软件测试流程,理解软件测试的哲学思想,掌握软件测试每个阶段的文档编写技巧,掌握软件测试的策略与各种测试方法,掌握测试用例的设计方法。
掌握单元测试、集成测试、确认测试、系统测试、验收测试等每个阶段的测试技术。
软件质量保证知识、测试项目管理、测试团队建设知识也是必须要具备的。
掌握软件测试自动化工具,理解软件测试自动化测试框架,能够学会如何进行测试项目管理、回归测试以及性能测试,能够把性能缺陷进行定位。
软件测试还是一个崭新的学科,还没有形成一个独有的知识体系,还需要我们不断的研究与实践。
(5)行业知识目前软件测试涉及的行业是多种多样的,从金融产品到电信、游戏、汽车、杀毒、网站、企业管理、学校教育、本地化产品等等,各行各业的软件产品都需要大量的测试,所以相关行业知识的储备也是必须的。
(6)职场规范职场礼仪是必须的,你是否适合某个企业,能否融入这个企业,基本的职场规范是要学习的。
必要、有效的沟通也是软件测试人员所必须掌握的技巧。
软件测试应该学什么
简单的说你学的这些。
都是辅助你测试的工具,而不是测试本身的东西,VC也好C++也好。
都是有可能会用到的。
看你是白盒还是黑盒。
这一点很重要。
简单几点:1.你确定你是准备以后做什么样的测试员?白盒?黑盒?2.你需要了解。
QA QC 他们的区别以及内容意义3.Test case的使用与编写4.测试流程的学习。
和测试流程的思想5.对设计文档的解读能力6.测试工具,例如BUGFREE MANTIS 这些BUG汇报工具。
LOADRUNNER QUITE TIME自动化测试工具等等以上这些。
建议你都去了解一下,你就知道你要做什么了。
测试是一门很难学又很难精的工作。
表面上门槛很低,实际上真正能做好的人其实不多。
做软件测试员需要学习什么知识?
软件测试是一个入门简单、但深入难的工作入门的时候只要会看懂中文、理解能力没问题就可以按照测试用例来执行用例了1、开始自学的时候找一本书来入门(软件测试原版第三版很不错)-差不多要1个月左右的时间、要能看懂明白里面的知识、这个阶段主要是学习理论知识2、有基础知识之后找一个软件来自己操作、从开始写测试计划、测试用例、到自己完成测试、并输出测试报告(这个阶段必须自己操作、如果有问题可以去51testing论坛提问)这里如果产品小的话1个月左右、软件功能多的话2个月多都有可能、建议从功能少的软件入手3、在执行第二个步骤的时候经常多去51testing论坛看看那些问题帖子、绝对增长你的知识量4、前面3个步完成之后可以开始关注招聘网站那些招聘软件测试的公司、去看看他们公司的做的什么产品、可以吧他们的产品下载回来按照步骤2的方式来自己写用例 执行测试、记录BUG、提交测试报告等内容(如果你去面试公司的时候拿着你的测试报告以及BUG单的话 成功率会高很多)5、前面几个步骤完成之后差不多要开始找工作了、建议去看看那本的书籍、这本书里面有很多软件测试的面试题目多看看提高知识量自学软件测试差不多需要6个月左右的时间PS:自学成才的3个要素、一是方法,二是愿望,三是自律。
这三个要素中任何一个的提高,都会加快目标的实现。
当然如果要在同样时间内实现目标,三个要素其中一个要素的增高,也就同时降低对其他两个要素的要求。
进一步之后需要会的知识会越来越多1、操作系统的知识(什么软件都是运行在操作系统之上的、一般的操作必须要会)2、数据库知识(现在还能找到多少不需要数据库的大型软件捏?)3、计算机网络(通信呀通信、千万不要TCP和UDP都分不清楚)4、计算机硬件(你要是C/S架构的测试或者是做性能测试、那么计算机硬件都是必修课了、总得知道IO是什么IOPS又是啥)5、各种测试工具的使用、什么QC/TD/BUGfree/QTP/LR之类的 不需要样样精通但是必须要熟练使用6、软件测试基础知识(这年头没有知识是万万不能的、软件测试基础知识其实买几本书好好看看就能学个差不多了)7、开发语言(做到高级软件测试的人都是会写点小工具的)8、测试环境配置:这个要说下、我在做配置管理的时候发现很多测试人员居然连自己的测试环境都配置不好、一个连自己的测试环境都不会配置的人会成为一个合格的测试么。
(你要测试web的apache、tomcat、iis之类的得会配置吧)PS:希望你不要被我写的这么多东西吓到了、这些知识是在软件测试的进化过程中慢慢积累起来的、不是所有人都一开始就会了、你是计算机专业毕业的。
那么计算机硬件、网络、操作系统、数据库什么的都应该在学校的时候有学到的、所以应该不是问题最后:祝你好运
软件测试都学什么?
一、软件测试员自身素质培养(1) 首先,应对软件测试感兴趣和对自己有自信,如果具备了这两点,那么在开发过程中不管遇到什么样的困难,我相信你一定能克服。
(2) 善于怀疑,世界上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事,我却认为可能发生。
别人认为是对的,我却认为不是对的。
(3) 打破砂锅问到底的精神,对于只出现过一次的bug,一定找出原因,不解决誓不罢休。
(4) 保持一个良好的心情,否则可能无法把测试作好。
不要把生活中的不愉快的情绪带到工作中来。
(5) 做测试时要细心,不是所有的bug都能很容易的找出,一定要细心才能找出这些bug。
(6) 灵活一些,聪明一点,多制造一些容易产生bug的例子。
(7) 在有条件的情况下,多和客户沟通,他们身上有你所需要的。
(8) 设身处地为客户着想,从他们的角度去测试系统。
(9) 不要让程序员,以“这种情况不可能发生”这句话说服你,相反,你应该去说服他,告诉他在客户心里,并不是这样的。
(10) 考虑问题要全面,结合客户的需求、业务的流程、和系统的构架,等多方面考虑问题。
(11) 提出问题不要复杂化,这一点和前面的有点矛盾,如果你是一新手,暂时不要管这一点,因为最终将有你的小组成员讨论解决。
(12) 追求完美,对于新测试员来说,努力的追求完美,尽管有些事无法做到,但应该去尝试。
(13) 幽默感,能和开发小组很好的沟通是关键,试着给你的开发小组找一个“BUG杀手”,或对他们说“我简直不敢相信,你写的程序居然到现在没有找到BUG”。
(14) 对测试有兴趣?测试过程中有酸甜苦辣,其中的滋味只有你知道,你会感到枯燥,要学会放松自己,别放弃,因为你的自信告诉过你“你会是很优秀的测试员”二、浅谈软件测试之技巧软件测试虽然辛苦,但是掌握了一定的技巧之后将使你事半功倍。
(1) 边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。
(2) 非法测试,例如在输入数字的地方输入字母。
(3) 跟踪测试,跟踪一条数据的流程,保证数据的正确性。
(4) 在开始测试时应保证数据的正确性,然后在从系统中找出各种BUG。
(5) 接口测试,程序往往在接口的地方很容易发生错误,要在此模块测试勿掉以轻心。
(6) 代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成的错误。
(7) 突发事件测试,服务器上可能发生意外情况的测试。
(8) 外界环境测试,有些系统在开发时依赖于另外一个系统,当另外一个系统发生错误时, 这个系统所受到的影响的情况。
(9) 在程序员刚修复Bug之后的地方,再找一找,往往程序员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误。
(10) 认真做好测试记录在做完一天的测试记录之后,第二天再根据第一天的测试记录重复测试你会发现有未修正的错误。
(11) 文字测试,如果在系统中有用词不当的地方,我想这是不应该的。
(12) 系统兼容测试,例如有些程序在IE6能运行正常,到IE5下不能运行。
有些程序在WIN2000下能运行,而到WIN98却不能运行。
像一些很特别的用户去使用系统,你很有可能发现BUG。
(13) 用户的易用性测试,往往用户的需求是不断的变化的,而其中的一部份变化的原因,是有用户操作上不方便引起的。
软件测试要学什么数据库的知识,请教高人!!!!
从测试过程的角度来说我们也可以把数据库测试分为: 系统测试 传统软件系统测试的测试重点是需求覆盖,而对于我们的数据库测试同样也需要对需求覆盖进行保证。
那么数据库在初期设计中也需要对这个进行分析,测试。
例如存储过程,视图,触发器,约束,规则等我们都需要进行需求的验证确保这些功能设计是符合需求的.另一方面我们需要确认数据库设计文档和最终的数据库相同,当设计文档变化时我们同样要验证改修改是否落实到数据库上。
这个阶段我们的测试主要通过数据库设计评审来实现。
集成测试 集成测试是主要针对接口进行的测试工作,从数据库的角度来说和普通测试稍微有些区别对于数据库测试来说,需要考虑的是数据项的修改操作、数据项的增加操作、数据项的删除操作、数据表增加满、数据表删除空、删除空表中的记录、数据表的并发操作、针对存储过程的接口测试、结合业务逻辑做关联表的接口测试。
同样我们需要对这些接口考虑采用等价类、边界值、错误猜测等方法进行测试。
单元测试 单元测试侧重于逻辑覆盖,相对对于复杂的代码来说,数据库开发的单元测试相对简单些,可以通过语句覆盖和走读的方式完成。
系统测试相对来说比较困难,这要求有很高的数据库设计能力和丰富的数据库测试经验。
而集成测试和单元测试就相对简单了。
而我们也可以从测试关注点的角度对数据库进行分类: 功能测试 对数据库功能的测试我们可以依赖与工具进行: DBunit:一款开源的数据库功能测试框架,可以使用类似与Junit的方式对数据库的基本操作进行白盒的单元测试,对输入输出进行校验。
QTP:大名鼎鼎的自动测试工具,通过对对象的捕捉识别,我们可以通过QTP来模拟用户的操作流程,通过其中的校验方法或者结合数据库后台的监控对整个数据库中的数据进行测试。
个人觉得比较偏向灰盒。
DataFactory:一款优秀的数据库数据自动生成工具,通过它你可以轻松的生成任意结构数据库,对数据库进行填充,帮助你生成所需要的大量数据从而验证我们数据库中的功能是否正确。
这是属于黑盒测试。
数据库性能虽然我们的硬件最近几年进步很快,但是我们需要处理的数据以更快的速度在增加。
几亿条记录的表格在现在是司空见惯的,如此庞大的数据量在大量并发连接操作时,我们不能像以前一样随意的使用查询,连接查询,嵌套查询,视图,这些操作如果不当会给系统带来非常巨大的压力,严重影响系统性能。
性能优化分4部分: 1、物理存储方面 2、逻辑设计方面 3、数据库的参数调整 4、SQL语句优化 性能测试: 我们如何对性能方面进行测试呢,业界也提供了很多工具通过数据库系统的SQL语句分析工具,我们可以分析得到数据库语句执行的瓶颈,从而优化SQL语句。
Loadrunner:这个不用多说,我们可以通过对协议的编程来对数据库做压力测试。
Swingbench:(这是一个重量级别的feature,类似LR,而且非常强大,只不过专门针对oracle而已)数据库厂商也意识到这点,例如oracle11g已经提供了real applicationtest,提供数据库性能测试,分析系统的应用瓶颈。
还有很多第三方公司开发了SQL语句优化工具来帮助你自动的进行语句优化工作从而提高执行效率。
安全测试: 软件日益复杂,而数据又成为了系统中重中之重的核心,从以往对系统的破坏现在更倾向于对数据的获取和破坏。
而数据库的安全被提到了最前端自从SQL 注入攻击被发现,冒失万无一失的数据库一下从后台变为了前台,而一旦数据库被攻破,整个系统也会暴露在黑客的手下,通过数据库强大的存储过程,黑客可以轻松的获得整个系统的权限。
而SQL的注入看似简单缺很难防范,对于安全测试来说,如何防范系统被注入是测试的难点。
业界也有相关的数据库注入检测工具,来帮助用户对自身系统进行安全检测。
对于这点来说业界也有标准,例如ISO IEC 21827,也叫做SSE CMM 3.0,是CMM和ISO的集成的产物,专门针对系统安全领域的另外一方面,数据库的健壮性,容错性和恢复能力也是我们测试的要点 我们也可以发现功能测试,性能测试,安全测试,是一个由简到繁的过程,也是数据库测试人员需要逐步掌握的技能,这也是以后公司对数据库测试人员的要求。
软件测试学习哪些知识????
1. 需要了解的软件开发语言有以下几种:java,c#,c/c++, javascript, visual basic(VB), PHP.2. 所要掌握的脚本语言有以下几种:Tcl, Ruby, Perl, Python, Shell. 3. 数据库知识有以下几种: MS SQL SERVER, ORACLE, MYSQL, DB2, Sybase.4. 在测试过程中,所需要掌握的网络分析工具有:Sniffer Pro, Omnipeek, Solarwinds, 科来网络分析系统。
5. 常用的功能自动测试工具:QTP, RFT, Robot, Silktest, Watir, Selenium, WinRunner, MaxQ6. 常用的测试管理(需求,测试用例,测试执行,缺陷等)工具:QC/TD, RQM,Clearquest, Jira, BugFree, Bugzilla, TestCenter, TestManger, TestLink, mantis.7. 常用的单元测试工具:Jrest, Junit, C++ test, patasoft. TEST, CodeWiard, DevParter Studio Professional, Purify, Quantify, PureCoverage, AQtime另外,软件测试要的是广度,学的越多越好。