写出你所知道的测试工具,并写出他们的用途和优缺点: Jmeter ??Apache JMeter是Apache组织开发的基于Java的压力测试工具。 ??Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询, FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发 负载测试你的服务器/脚本/对象。
JMeter的作用 1.能够对HTTP和FTP服务器进行压力和 性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。 2.完全的可移植性和100% 纯java。 3.完全 Swing 和轻量组件支持( 预编译的JAR使用 javax.swing.*)包。 4.完全多线程 框架允许通过多个线程并发取样和 通过单独的 线程组对不同的功能同时取样。 5.精心的GUI设计允许快速操作和更精确的计时。 6.缓存和离线分析/回放测试结果。
JMeter的高可扩展性 1.可链接的取样器允许无限制的测试能力。 2.各种负载统计表和可链接的 计时器可供选择。 3.数据分析和可视化 插件提供了很好的可扩展性以及个性化。 4.具有提供动态输入到测试的功能(包括Javascript)。 5.支持脚本编程的取样器(在1.9.2及以上版本支持BeanShell)。 ?? ??在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录IE/NETSCAPE的 HTTP请求,也可以记录apache等WebServer的log文件来重现HTTP流量。当这些HTTP客户端请求被记录以后,测试运行时可以方便的设置重复次数和并发度( 线程数)来产生巨大的流量。JMeter还提供可视化组件以及 报表工具把量服务器在不同压力下的性能展现出来。 ?? ??相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强。JMeter能够自动扫描其lib/ext子目录下.jar文件中的 插件,并且将其装载到内存,让用户通过不同的菜单调用。
JUnit ?? ?? JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。 ?? ?? JUnit是由 Erich Gamma 和 Kent Beck 编写的一个 回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓 白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。 ?? ??另外junit是在极限编程和重构(refactor)中被极力推荐使用的工具,因为在实现自动 单元测试的情况下可以大大的提高开发的效率,但是实际上编写测试代码也是需要耗费很多的时间和精力的,那么使用这个东东好处到底在哪里呢?笔者认为是这样的: 极限编程 ?? ??要求在编写代码之前先写测试,这样可以强制你在写代码之前好好的思考代码(方法)的功能和逻辑,否则编写的代码很不稳定,那么你需要同时维护测试代码和实际代码,这个工作量就会大大增加。因此在极限编程中,基本过程是这样的:构思-> 编写测试代码-> 编写代码-> 测试,而且编写测试和编写代码都是增量式的,写一点测一点,在编写以后的代码中如果发现问题可以较快的追踪到问题的原因,减小回归错误的纠错难度。 重构 ?? ?? 其好处和极限编程中是类似的,因为重构也是要求改一点测一点,减少回归错误造成的时间消耗。 ?? ??我们在开发的时候使用junit写一些适当的测试也是有必要的,因为一般我们也是需要编写测试的代码的,可能原来不是使用的junit,如果使用junit,而且针对接口(方法)编写测试代码会减少以后的维护工作,例如以后对方法内部的修改(这个就是相当于重构的工作了)。另外就是因为junit有断言功能,如果测试结果不通过会告诉我们哪个测试不通过,为什么,而如果是像以前的一般做法是写一些测试代码看其输出结果,然后再由自己来判断结果是否正确,使用junit的好处就是这个结果是否正确的判断是它来完成的,我们只需要看看它告诉我们结果是否正确就可以了,在一般情况下会大大提高效率。 TestLink ?? ??TestLink 是基于web的测试用例管理系统,主要功能是测试用例的创建、管理和执行,并且还提供了一些简单的统计功能。 ?? ?? TestLink用于进行测试过程中的管理,通过使用TestLink提供的功能,可以将测试过程从测试需求、测试设计、到测试执行完整的管理起来,同时,它还提供了好多种测试结果的统计和分析,使我们能够简单的开始测试工作和分析测试结果[1] 。 TestLink 是sourceforge的开放源代码项目之一。作为基于web的测试管理系统,TestLink的主要功能包括: 测试需求管理 测试用例管理 测试用例对测试需求的覆盖管理 测试计划的制定 测试用例的执行 大量测试数据的度量和统计功能。 目前在XLS导入上存在缺陷,但可以使用第三方的“Testlink Convert”工具实现XLS/TXT/XML导入导出。
实现功能 1 根据不同的项目管理不同的 测试计划, 测试用例,测试构建相互之间独立 2 根据树状的项目,组件,分类,测试用例,设计测试用例 3 可以基于关键字搜索测试用例 4 可以将现有测试用例简单修改后复用 5 同一项目可以制定不同的测试计划,然后将相同的测试用例分配给该测试计划(可以实现测试用例的复用,筛选) 6 可以设定执行测试的状态(通过,失败,锁定,尚未执行),失败的测试用例可以和 bugzilla 中的 bug 关联,每个测试用例执行的时候,可以填写相关说明 7 测试结果分析(可以实现按照需求,按照 测试计划,按照测试用例状态,按照版本,统计测试结果) 8 自定义角色,通过角色控制用户权限 9 测试结果可以导出为 excel 表格 10 测试用例可以导出为 csv , html 格式 11 通过 超连接,可以将文本格式的需求,计划关联 12 可以将测试用例和测试需求对应。测试可以根据优先级指派给测试员,定义里程碑
loadrunner ?? ?? LoadRunner,是一种预测系统行为和性能的 负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行 测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。 优势: ?? ??企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢, 系统崩溃等问题。这些都不可避免地导致公司收益的损失。Mercury Interactive 的 LoadRunner 能让企业保护自己的收入来源, 无需购置额外硬件而最大限度地利用现有的IT 资源, 并确保终端用户在应用系统的各个环节中对其测试应用的质量, 可靠性和可扩展性都有良好的评价。LoadRunner 的测试对象是整个企业的系统, 通过模拟实际用户的操作行为和实行实时性能监测, 来帮助企业客户更快的查找和发现问题。LoadRunner 能支持广范的协议和技术。
|