做软件的自动化测试一般用啥工具?和黑盒测试工具一样么?用loadrunner怎么样?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了做软件的自动化测试一般用啥工具?和黑盒测试工具一样么?用loadrunner怎么样?相关的知识,希望对你有一定的参考价值。

一、对于你的问题,首先明确测试类型,然后才能明确自动化测试类型,最后定位哪个类型用哪个方面的自动化测试工具
1、测试类型可以包括:白盒测试、黑盒测试(功能测试、性能测试)等。
2、不同的测试类型使用的自动化测试方法不同,白盒测试主要针对代码级的单元测试、黑盒测试主要面对功能级和系统级的验证测试。
3、自动化测试,针对白盒测试,一般需要有一定的编程基础,即能够基于功能代码写测试代码,常用的单元测试方面的自动化测试工具很多,上网一搜全是。
4、自动化测试,针对功能测试,有几种情况,基于CLI、API和GUI的测试;基于CLI、API的测试,即应用脚本技术向设备模拟发送CLI命令或者API请求,以达到控制设备的效果。基于GUI功能测试,即应用传统的界面自动化测试工具(例如:RFT、QTP等)控制界面控件操作的方法,以达到模拟用户操作,这几种方式都需要你有一定的编码基础;基于CLI、API的需要你懂脚本技术(例如:tcl、python、ruby等),RFT需要你懂java或者.net、QTP需要VB等。
5、你说的loadrunner就是性能测试方面的工具,即是测试软件性能、例如多用户操作等性能、也需要写代码,LR脚本支持的语言有:java、c、Visual Basic、vbscrīpt。默认的脚本生成语言为 C;其实我想说的是,性能测试工具不重要,你需要掌握其性能测试的方法才是更重要的。

二、我感觉你想入门自动化测试,但是从你问的问题来看,有一定盲目性,我简单说一下自动化测试吧:
1、自动化测试,其理念就是应用各种手段模拟人工操作,节省人力测试成本,保证产品测试质量。
2、你想学好自动化软件测试,不是单单靠学习几个自动化工具就能掌握的,但是你可以从工具入手,
首先,告诉你自动化测试的基础是
1)编程技巧,包括高级语言和脚本语言,脚本语言是初期的掌握,可以有,tcl、phython、ruby等而高级语言,要好好学好一门,例如,我是对java为重点。还有,如果你是对web自动化测试的话,那么jsp、phphtml、CSS等web语言是必须掌握的。
2)操作系统技巧;因为软件自动化测试是构建在操作系统上的,其技巧需要能善于利用到操作系统的各种技巧,例如:注册表、环境变量、句柄等。
3)数据库知识,要善于利用数据库知识去存储管理。
4)业务知识,这也是重点。你所在软件行业的软件业务,要知道你的软件的工作方式。
5)质量与流程管理理念。
然后,你的学习步骤
1)可以从工具入手,根据具体的项目去学习;例如:java软件界面测试(RFT、QTP的java插件等)、web界面测试(QTP、selenium等)、性能测试(RPT、loadrunner等)。但记住,学习其工具,重点不是简单的使用,而是如何利用工具去扩展。
2)然后,重点学习以上的基础,以编程为重点,其余的结合学习,顺便说一句,其实自动化测试的理念与软件设计模式理念很像,你可以从中有所领悟。
3)之后,再学习去拓建自己的自动化测试框架,何谓框架,一下说不清楚,我给你推荐一下
注意:如果没有自动化测试方面的实践项目的话,最好先从基础学起,因为基础学好了,自动化测试入门会很快的。
4(至于性能测试,也是一样,可以先从工具入手,但不要局限于工具,性能测试最重要的是环境的构建方法以及对测试结果的分析方法,所以性能测试重点在于分析和实现过程,而不是工具使用过程。
或者对自动化测试有兴趣的,可以发短消息或者邮件我。(test_sunny@hotmail.com),有机会一起学习探讨下
或者,可以看一下一个我的专注于自动化测试博客,呵呵,想看就看,我只是将我对自动化测试的想法和心得记录下来:“散步的SUN”的博客
参考技术A shaozecheng005您好!这些问题最好找一些相关专业论坛(如:IT168,天天软件测试网,IT实验室)。大都有测试工具的专栏,大部分工具问题都涉及到了。今后一起共勉!

参考资料:一些专业网站IT168,天天软件测试网,IT实验室

参考技术B 一般用winrunner,monkey等,loadrunner也不错,压力测试很实用。追问

loadrunner需要写代码么?写什么代码?难不难?

追答

一般可以录制,代码改一下就行,不难

参考技术C 一、对于你的问题,首先明确测试类型,然后才能明确自动化测试类型,最后**哪个类型用哪个方面的自动化测试工具1、测试类型可以包括:白盒测试、黑盒测试(功能测试、性能测试)等。2、不同的测试类型使用的自动化测试方法不同,白盒测试主要针对代码级的单元测试、黑盒测试主要面对功能级和系统级的验测试。3、自动化测试,针对白盒测试,一般需要有一定的编程基础,即能够基于功能代码写测试代码,常用的单元测试方面的自动化测试工具很多,上网一搜全是。4、自动化测试,针对功能测试,有几种情况,基于CLI、API和GUI的测试;基于CLI、API的测试,即应用脚本技术向设备模拟发送CLI命令或者API请求,以达到控制设备的效果。基于GUI功能测试,即应用传统的界面自动化测试工具(例如:RFT、QTP等)控制界面控件操作的方法,以达到模拟用户操作,这几种方式都需要你有一定的编码基础;基于CLI、API的需要你懂脚本技术(例如:tcl、python、ruby等),RFT需要你懂j**a或者.net、QTP需要VB等。5、你说的loadrunner就是性能测试方面的工粳即是测试软件性能、例如多用户操作等性能、也需要写代码,LR脚本支持的语言有:j**a、c、VisualBasic、vbscrīpt。默认的脚本生成语言为C;其实我想说的是,性能测试工具不重要,你需要掌握其性能测试的方法才是更重要的。二、我感觉你想入门自动化测试,但是从你问的问题来看,有一定盲目性,我简单说一下自动化测试吧:1、自动化测试,其理念就是应用各种手段模拟人工操作,节省人力测试成本,保**品测试质量。2、你想学好自动化软件测试,不是单单靠学习几个自动化工具就能掌握的,但是你可以从工具入手,首先,告诉你自动化测试的基础是1)编程技巧,包括高级语言和脚本语言,脚本语言是初期的掌握,可以有,tcl、phython、ruby等而高级语言,要好好学好一门,例如,我是对j**a为重点。还有,如果你是对web自动化测试的话,那么jsp、php、HTML、CSS等web语言是必须掌握的。2)操作系统技巧;因为软件自动化测试使建在操作系统上的,其技巧需要能善于利用到操作系统的各种技巧,例如:注册表、环境变量、句柄等。3)**库知识,要善于利用**库知识去存储管理。4)业务知识,这也是重点。你所在软件行业的软件业务,要知道你的软件的工作方式。5)质量与流程管理理念。然后,你的学习步骤1)可以从工具入手,根据具体的项目去学习;例如:j**a软件界面测试(RFT、QTP的j**a插件等)、web界面测试(QTP、selenium等)、性能测试(RPT、loadrunner等)。但记住,学习其工粳重点不是简单的使用,而是如何利用工具去扩展。2)然后,重点学习以上的基础,以编程为重点,其余的结合学习,顺便说一句,其实自动化测试的理念与软件设计模式理念很像,你可以从中有所领悟。3)之后,再学习去拓建自己的自动化测试框架,何谓框架,一下说不清楚,我给你推荐一下注意:如果没有自动化测试方面的实践项目的话,最好先从基础学起,因为基础学好了,自动化测试入门会很快的。4(至于性能测试,也是一样,可以先从工具入手,但不要局限于工粳性能测试最重要的是环境的构建方法以及对测试结果的分析方法,所以性能测试重点在于分析和实现过程,而不胜具使用过程。或者对自动化测试有兴趣的,可以发短消息或者邮件我。 参考技术D 推荐:VISUAL UNIT 4
使用这款工具,测试工作=填表格。
是广州凯乐软件技术有限公司开发的一款C/C++单元测试工具及集成测试工具,独有的白盒用例设计器。
测试工作就是填表格而已,很容易,不需要写代码。
什么嵌入式测试,死循环测试等难度很高的,都只是填表格就自动测出来了。
在百度搜一下:广州凯乐软件技术有限公司,进官网就可以下载使用了。

测试方法总结

测试方法

从测试设计方法分类

测试名称

测试内容

黑盒测试

把软件系统当作一个黑箱,无法了解或使用系统内部结构及知识

白盒测试

设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择

灰盒测试

介于白盒和黑盒之间

总结:在实际工作中,对系统的了解越多越好,目前大多数的测试人员都是做黑盒测试,很少做白盒测试。因为白盒测试对程序员的要求很高,需要有编程能力,例如python程序,你要会python程序

 

从测试是手动还是自动上分类

 

测试名称测试内容
手动测试测试员用鼠标去手动测试
自动化测试用程序测程序

对于项目来说,手动测试和自动化测试同等重要,都是保障软件质量的方法。目前大多数的项目组都是采用手动加自动化测试相结合。因为很多测试无法自动化,很多复杂的业务逻辑也很难自动化,所以自动化测试无法替代手动测试。

对于软件测试个人发展来说,做自动化是一个很好的发展方向,需要测试人员学习大量的开发知识。

手工测试胜在测试业务逻辑,自动化测试胜在测试底层架够


如果测试的程序可测性好,很有必要做成自动化测试的

1 测试存储过程 例如用C去测试存储过程

2 测试web service 例如用soupui工具 或者C java去测试web service

3 界面和业务逻辑分离的系统,比如 mvc 可以用测试脚本去测试这些程序的API


从测试的目的分类

功能测试   非功能测试  性能测试 安全性测试

功能测试:范围从小到大,从内到外,从程序开发人员到测试人员

测试名称测试内容
单元测试(开发人员做)在最低的功能上验证程序的正确性,比如测试一个函数的正确性
功能测试验证模块的功能
集成测试验证几个互相有依赖关系的功能
场景测试验证几个模块是否能完成一个用户场景
系统测试对于整个系统功能的测试
Alpha测试测试人员在真实的环境中对软件进行全面的测试
Beta公测 真实的用户在真实的用户环境中进行的测试(用户做的)


非功能测试

一个软件除了基本功能之外,还有很多功能之外的特性。没有软件的功能,这些都无从表现出来,因此我们要在软件开发-基本功能完成后做这些功能

测试名称测试内容
压力测试验证软件在超过负载的情况下能否返回正常结果,没有崩溃
负载测试测试软件在负载的情况下能否正常工作
性能测试测试软件的效能,是否提供满意的服务质量
Accessibility test软件功能辅助测试-测试软件是否向残疾用户提供足够的辅助功能
Localization/Globalization本地化/全球化测试
Compatibility Test兼容性测试
Configuration Test配置测试-测试软件在各种配置下能否正常工作
Usability Test
可用性测试-测试软件是否好用
Security Test软件安全性测试


性能测试

性能测试要求测试人员熟练性能测试工具,比如QTP LoadRunner  Jmeter  

性能测试非常有技术含量,也是软件测试的一个职业方向


按测试时机和作用分类

在开发软件的过程中,测试起着“烽火台”的作用,他告诉我们软件开发的流程是否畅通


按测试策略分类

测试名称测试内容
回归测试对一个新的版本,重新运行以前的测试用例,看看新版本和以前的版本是否有退化
探索性测试随机进行的,探索性测试
sanity test粗略的测试,只需要执行部分的测试用例

回归测试

对软件测试人员来说就是重复测试,所以回归测试最好用自动化的,否则测试人员就要一遍一遍地重复测试

1 开发人员做些小改动,就需要测试人员做回归测试,确保现有的功能没有被破坏

2 Bug Fix也要做回归测试,确保新的代码恢复了,也确保现有功能没有被破坏

3 项目后期,需要做一个完整的回归测试,确保所有的功能都是好的


探索性测试

平时要喜欢做随机测试,抛开测试用例,自己按照自己的思路随便点点。




本文出自 “阳光蜜汁” 博客,请务必保留此出处http://12730159.blog.51cto.com/12720159/1957139

以上是关于做软件的自动化测试一般用啥工具?和黑盒测试工具一样么?用loadrunner怎么样?的主要内容,如果未能解决你的问题,请参考以下文章

接口测试基础

功能测试用啥软件

测试方法总结

什么是软件测试?简介,基础知识和重要性

黑盒测试-因果图分析

做http可以访问的接口测试一般用啥工具或使用啥语言呢