软件测试学习方法?
介绍一下软件测试:实际软件测试要求要高于软件开发,不仅要懂开发技术,还要懂得设计技术,测试技术,做到高级测试的话,水平要在高级开发之上;当前国内情况:软件测试基本是用开发水平比较低的人,有些甚至都不懂开发技术,主要是成本考虑(测试薪水比较低,所以要求自然比较低),大部分是一些刚毕业的,或在大专生之类的,测试时间也很短,基本就是一个形式(主要为接项目时有利),大部分测试由开发人员完成;目前主要一些外企有高水平的专业测试队伍,国内一些比较强的公司有部分专业测试队伍(水平也不是很高,但比较专业了);以后国内软件业必须逐步向国际水准看齐,所以软件测试是有潜力的;测试学习:1、基本编程能力(可通过学习一门语言,比如C语言,同时要学习数据结构、基本数据库技术);2、编程语言学习;(C、C++、C#、Java等,至少要2种)3、操作系统原理(有关内存分配、进程、线程原理等)、操作系统应用(Windows、Linux/Unix 都要了解);4、数据库技术、重要数据库应用(SQL Service、Orical、DB2、MySQL等)5、测试工具(自动化测试工具,好多,了解2种以上)6、测试管理(有了前面技术,这个管理类东西,几天就可以了解,但要完全懂,需要长期实践,就像项目经理一样,看起来简单,实际上需要许多经验,需要不断学习)
常用的软件测试方法和工具
开源测试管理工具:Bugfree、Bugzilla、TestLink、mantis 开源功能自动化测试工具:Watir、Selenium、MaxQ、WebInject 开源性能自动化测试工具:Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator [TestDirector]:企业级测试管理工具,也是业界第一个基于Web的测试管理系统。
[Quality Center]:基于Web的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括指定测试需求、计划测试、执行测试和跟踪缺陷。
[QuickTest Professional]:用于创建功能和回归测试。
[LoadRunner]:预测系统行为和性能的负载测试工具。
[其他工具与自动化测试框架]:Rational Functional Tester、Borland Silk系列工具、WinRunner、Robot等。
国内免费软件测试工具有:AutoRunner和TestCenter。
软件测试技术中测试与调试的概念及区别?
1,软件测试是找出软件已经存在的错误,而调试是定位错误,修改程序以修正错误.2,软件测试从一个已知的条件开始,有预知的结局 而调试从未知的条件开始,其结局不可预知3,软件测试可以计划,可以预先制定测试用例和过程,工作进度可以度量.而调试不能计划,进度不可度量.4,调试是在测试之后,在方法,思路,策略上都有所不同.5,测试的对像可以是文档和代码 而调试的对像只能是代码 6.调试是随机性的 由程序员完成 为了程序可运行测试是有目的性的 由测试人员完成 为了程序可完成指定功能软件测试是为了发现错误而执行程序的过程。
或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试与调试在目的、技术和方法等方面存在很大的区别,主要表现在如下方面: (1) 测试是为了发现软件中存在的错误;调试是为了证明软件开发的正确性。
(2) 测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。
(3) 测试是有计划的,需要进行测试设计;调试是不受时间约束的。
(4) 测试经历发现错误、改正错误、重新测试的过程;调试是一个推理的过程。
(5) 测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。
(6) 测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。
(7) 大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。
测试的目的是显示存在错误,而调试的目的是发现错误或导致程序失效的错误原因,并修改程序以修正错误。
调试是测试之后的活动。
测试和调试在目标、方法和思路上都有所不同,如下: 1 、测试从一个已知的条件开始,使用预先定义的过程,有预知的结果。
调试从一个未知的条件开始,结束的过程不可预计。
2 、测试过程可以实现设计,进度可实现确定。
调试不能描述过程或持续时间。
3 、测试是显示错误的行为。
调试是推理的过程。
4 、测试显示开发人员的错误。
调试是开发人员为自己辩护。
5 、测试能预期和可控。
调试需要想象,经验和思考。
6 、测试能在没有详细设计的情况下完成。
没有详细设计的信息调试不可能进行。
7 、测试能由非开发人员进行。
调试必须由开发人员进行。
硬件测试和软件测试的区别
硬件测试和软件测试的区别如下:1.测试目的不同硬件测试的目的主要是保障硬件的可靠性,以及硬件和硬件的联接关系的正确性与准确性。
软件测试的目的主要是保证软件流程的正确性,以及正确的应用逻辑关系。
2.测试手段不同硬件测试的手段,主要是针对硬件本身以及环境的测试,比如老化测试、寿命测试、故障率测试等。
软件测试,主要是通过对软件的输入进行控制,从而达到不同的测试结果,通过输入输出的差异比较测试是否正确和准确。
3.测试工具不同硬件测试更多的是使用硬件进行,比如示波器等。
软件测试相对来说,用到的只是数据性的工具,或者软件。
4.测试结果的稳定性不同硬件测试有可能在相同的条件下(如相同的温度),出现不同的测试结果软件测试的输入相同的话,如果没有引入随机数据,则其输出是相同的。
学软件测试一般需要学哪些课程~
展开全部 第一阶段(软件测试理论及基础)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进行测试管理
软件测试方法的安全测试
安全测试,英文是Security Testing。
安全测试是测试系统在防止非授权的内部或外部用户的访问或故意破坏等情况时怎么样。
这可能需要复杂的测试技术。
安全测试检查系统对非法侵入的防范能力。
安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。
例如:①想方设法截取或破译口令;②专门定做软件破坏系统的保护机制;③故意导致系统失败,企图趁恢复之机非法进入;④试图通过浏览非保密数据,推导所需信息,等等。
理论上讲,只要有足够的时间和资源,没有不可进入的系统。
因此系统安全设计的准则是,使非法侵入的代价超过被保护信息的价值。
此时非法侵入者已无利可图。
请教零基础学习软件测试的方法与步骤,求高手指点,感激不尽!!
展开全部 也是在网上的一个回答!郁闷胡说八道的都有…软件测试具体分两种,黑盒测试和白盒测试:在刚踏入软件测试这个职位的时候,无论你的学识,都会从黑盒测试做起,黑盒测试,属于功能测试,这个阶段没什么好谈的,只是每天的编写测试文档与执行测试;如果在你的测试经验足够多的话,可以申请成为白盒测试,白盒测试要求是有一定的开发经验,其实没有这么严格,只是要求你要能看得懂代码,在你找到错误的时候,要能找到这个错误的代码定位,要具体到某一个文件的某一方法或者某一类出错。
为什么要说这两点,因为我要纠正你们的观念:软件测试工程师,同样可以学习开发工程师的经验。
我发现有很多人都是和我讲,说测试没前景啊,测试不如开发啊,其实你们看的是表面只是前期,我面试过很多应聘测试的,都是对自己的未来走向很担心。
其实不然,只要你懂得学习,测试同样会有开发的经验,我身边有很多的例子,不胜枚举。
其实真实的来讲,测试分三个层次,初级是黑盒,中级是白盒,高级测试员,是可以代替需求员和开发员的。
测试的前景,这里我也不必多说,如果你真的有疑问的话,可以追问,可以给你解答。
其实我很推荐的是开发人员转去测试,然后回头做开发,为什么这么做?因为测试是尽可能的找到软件存在的缺陷并且尽早的发现并抛出来,同时测试员也是这个软件的安全负责人。
当开发人员有了测试工程师的经验之后,会更加的能抓到软件容易出问题的所在,开发的时候会更加注重代码的规范啊,代码的合理性等等,从而是软件趋向精品化。
至于你说测试、开发、系统架构师等等互相转业的事,我可以肯定的告诉你,没有弯路!只要你的本领足够,就向你的领导提出申请,如果你的能力足以承担起这份岗位的时候,你自然可以转型,领导很愿意看到自己的员工“多才多艺”的,懂吗?但是我要告诉你一点,就是,我说的这几项,都只是技术类的转型,但是如果你说要技术岗位转和非技术岗位的转型,这个就很难,劝你不要想这条路,举个例子,你是测试,后来去做了销售,可是回头再想做回测试,难了。
就说这么多,如果你看到了就更好,有疑问尽管提。
还有,我不希望大家对“软件测试工程师”这个行业有什么特别的看法,我可以很肯定的告诉大家,软件测试这个行业,在近几年将会非常的热门,现在北京对这个行业稀缺度很高,后期的待遇甚至要高于开发工程师!而且还有一点,开发工程师一定会隶属某一个项目组来进行项目,而软件测试则直接隶属于公司,由公司统一调配到项目组进行配合,这就从根本上区分了开发与测试的待遇问题!当然,如果你只是初级测试,待遇肯定不行,但是如果你达到了中级测试,也就是白盒,那么你的薪资待遇讲和开发持平。
到后面,自己想吧。
我只能说,公司更加的注重软件出来的精品程度与质量,而这些完全取决于测试工程师。
软件测试方法的分类有哪些
1)按照测试技术划分黑盒测试:功能测试,必须白盒测试:逻辑结构测试,代码的逻辑、算法、结构是否正确,要求必须懂得代码,需要编写测试用例,可选灰盒测试:介于中间注意:在单元测试时,白盒应用相对较多,在集成测试时,灰盒测试应用相对较多,在系统、验收测试时一般就不会使用白盒测试和灰盒测试了。
2)按是否需要运行代码划分静态测试:界面测试,文档测试,代码测试【重点关注代码的规范性,一般检查变量的命名,注释的频率,编程的规范性,不需要写测试用例,一般只需要有代码审查单】注意:一般经常把白盒测试和静态测试的要素结合在一起,形成静态白盒测试动态测试:运行程序进行检查,检查实际输出结果和预期结果是否相符3)按软件特性分类功能测试性能测试
学习软件测试如何入门?
软件测试入门的话,首先需要掌握测试一些基础概念:比如白盒测试,黑盒测试,回归测试,探索测试等。
其次需要了解测试用例设计方法,测试用例要素,及如何编写好的测试用例。
最后要了解测试流程,如何开展测试工作。
在这基础上,可以在黑马程序员再针对性的学习一些自动化测试相关的技术和方法。