朱少民老师的这篇文章总结了不少东西,收藏为正在做的自动化测试框架使用。原文:http://blog.csdn.net/KerryZhu/article/details/1460633
开源软件运动正在获得很大成功,正在改变软件业的开发模式、运营方法等,也自然改变着软件测试的方法,借助开源软件测试工具完全可以构造一个完整的测试解决方案,可以极大地提高测试效率,又能大大的降低测试成本。
从单元测试、功能测试到性能测试,从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.
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. 网络安全性测试
![](https://i-blog.csdnimg.cn/blog_migrate/c6bf5852d65b2bd9711d56193f2534da.png)
#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
![TITLE=](https://i-blog.csdnimg.cn/blog_migrate/96bbe3fdf6e6a332d40576d6ac7e0b4d.gif)
![Runs on Linux Linux](https://i-blog.csdnimg.cn/blog_migrate/d8b2e85fa42fb18a54d68d31474f0cc2.gif)
![Runs on *BSD *BSD](https://i-blog.csdnimg.cn/blog_migrate/8497863ce73357d84eb713aa7e23025f.gif)
![Runs on Mac OS X OS X](https://i-blog.csdnimg.cn/blog_migrate/c78465c68a625c7e3993aa4704456e1c.png)
![Runs on Windows Windows](https://i-blog.csdnimg.cn/blog_migrate/a07a8708f701f84344a27285facb7e72.gif)
![GUI Interface GUI Interface](https://i-blog.csdnimg.cn/blog_migrate/6ed0729bbd6c85350ad324b5123fdc71.png)
还有许多 网络监控工具,pls visit: http://www.slac.stanford.edu/xorg/nmtf/nmtf-tools.html
9. 缺陷跟踪
Bugzilla一款不错的软件缺陷管理工具
Mantis是一款基于WEB的软件缺陷管理工具,配置和使用都很简单,适合中小型软件开发团队
10. 测试平台
TestMaker (solve functionality, scalability and performance of services)- http://www.pushtotest.com/
Eclipse Test & Performance Tools Platform (TPTP 4.3)
http://www.eclipse.org/tptp/
http://sourceforge.net/search/?type_of_search=soft&words=Test+Tool
http://www.opensourcetesting.org
http://testingfaqs.org/
http://www.pushtotest.com/
http://www.openqa.org/
http://www.aptest.com/webresources.html
注:测试自动化可以做到90%或更高,但也不能完全代替手工测试。参考:
"Test Automation Snake Oil" (James Bach, http://www.satisfice.com/articles/test_automation_snake_oil.pdf )
"Automation Myths" (M. N. Alam, http://www.benchmarkqa.com/PDFs/automation_myths.pdf )
"When Should a Test Be Automated?" (Brian Marick, http://www.stickyminds.com/r.asp?F=DART_2010 )