开源软件运动正在获得很大成功,正在改变软件业的开发模式、运营方法等,也自然改变着软件测试的方法,借助开源软件测试工具完全可以构造一个完整的测试解决方案,可以极大地提高测试效率,又能大大的降低测试成本。
从单元测试、功能测试到性能测试,从Web页面测试到VoIP/Telephony等一些多媒体应用的测试,直至测试的管理平台和缺陷跟踪系统,能覆盖整个测试工作领域。
1. 测试模型:见 开源软件测试模型 ,阐述了开放源码软件测试模型框架以及环境、元素和技术等。
2. 单元测试工具:JUint (大家太熟悉了)- see: http://www.junit.org/index.htm
针对各种语言 (C/C++/C#, PHP, SQL ) Cactus, Cgreen, Check, NUnit, NUnitForms , PHPUnit, SQLUnit
还有针对各种对象(HTTP, XML, Database, ) 进行的单元测试:HttpUnit, XMLUnit, DBUnit, ObjcUnit, SIPUnit, ...
Mockrunner用在J2EE环境中进行应用程序的单元测试,不仅支持Struts actions, servlets,过滤器和标签类还包括一个JDBC和一个JMS测试框架,可以用于测试基于EJB的应用程序。
3. Web 功能测试 : 要数 Selenium,see: 强大的Web开源测试工具—Selenium
再结合 Ant, EMMA 一起使用就更完美了, see:使用 EMMA 测量测试覆盖率
又如:Canoo WebTest,
功能测试工具很多,可以发现多达几十个:http://www.opensourcetesting.org/functional.php
4. Java 客户端,可以使用 Abbot, see: http://abbot.sourceforge.net/doc/overview.shtml
Abbot是一个用来测试Java GUIs的框架, 用简单的基于XML的脚本或者Java代码,就可以开始一个GUI.
5. 性能测试, 著名的有 Jmeter 和 OpenSTA,使用都很方便
Jmeter可以完成针对静态资源和动态资源( Servlets, Perl脚本, Java对象, 数据查询s, FTP服务等)的性能测试。 Jmeter 可以结合Badboy 来使用,录制测试脚本。
性能测试工具很多,可以访问 http://www.opensourcetesting.org/performance.php
6. 数据库测试: DBMonster, DBProbe, OraRep, phpMyAdmin
OSDL Database Test Suite, 是根据Linux开发人员需要而开发的测试框架中数据库测试工具套件,具有很好的实用价值。 see: http://www.osdl.org/lab_activities/kernel_testing/osdl_database_test_suite/
More: http://dbcommander.sourceforge.net/
7. 多媒体(VoIP/Vedio)、IP电话 等测试
Ethereal, AuthTool, ... SIPp, Sofia SIP, ... Seagull, ... Asterisk - the Open Source PBX,X-Lite
其中经常使用的有:Ethereal, SIPp 和 Seagull。而Asterisk 不仅可以作为测试工具,还可以构造企业内部电话网络。
更多的还有:http://voipsa.org/Resources/tools.php
8. 网络安全性测试
#1 Nessus : Premier UNIX vulnerability assessment tool
#2 Wireshark : Sniffing the glue that holds the Internet together
#3 Snort : A Everyone's favorite open source IDS
#4 Netcat : The network Swiss army knife