开源软件测评方法及工具

一、开源史上最成功的八个开源软件

就开源本身而言,它就是个成功案例。它不仅受个人喜欢,而且众多知名企业也青睐于它。虽然开源计划和开源产品数不胜数,但哪一个才是最成功的呢?这里所说的“成功”的定义是:应用广泛+众所周知。而在众多成功的开源产品中,只有少数领头羊,而其他产品基本只能望其项背。

  Linux

  上榜理由:Linux + GNU = GNU/Linux 。从Linus Torvalds在1991年宣布他在Minix基础上创建一新OS内核到现在已经接近20年了。在这段时间内,大部分网络服务器都是Linux系统。

  BSD

  上榜理由:长久以来,FreeBSD, NetBSD和OpenBSD是服务器众操作系统之中广为人知的3个OS。上世纪90年代,三者均是脱胎于伯克利的Unix系统,故把三者组团上榜。另外,Apple的Mac OS脱胎于FreeBSD。

  MySQL

   上榜理由:MySQL是全球使用范围最广的数据库系统。2009年,全球的MySQL安装数量已达1千1百万。它是LAMP架构(Linux,Apache, MySQL, PHP)中的M。众多知名网站和产品均使用MySQL,比如:维/基百科、Facebook、Google和Wordpress。(Google和 Facebook均改造了MySQL,以满足自身需求。详情可见本文末尾推荐阅读文章)。

  Apache

  上榜理由:Apache HTTP服务器从它诞生的1996年开始,它是全球使用最为广泛的Web服务器,其市场占有率远远超过第二名的IIS。2009年,全球超过1亿个网站使用Apache。

  据Netcraft2010年8月11日的数据统计表明,全球目前已有119,664,128个网站使用Apache;目前Apache市场占有率为56.06%,IIS为25.03%。

图1: Web 服务器市场占有率

  Firefox

   上榜理由:目前为止,它是Mozilla的最成功产品。2004年11月9日,FireFox 1.0问世。目前Firefox虽无法撼动IE的霸/主地位,但它是众多技术人员的首选浏览器。Firefox浏览器进化史:2002年9月23日 Phoenix -> 2003年5月17日改为FireBird-> 2004年2月9日改为FireFox。

  根据NetMarket Share 2010年7月份最新统计,Firefox市场占有率为22.91%,IE为60.74% 。

图2:浏览器市场占有率

  WordPress

  上榜理由:从2004年Wordpress作为b2博客软件一分支面世后,它开始主宰博客平台市场。据Pingdom 2009年的调查表明,全球Top 100博客中27%使用Wordpress。如果加上Wordpress.com和Automattic的Wordpress服务博客,该数据上升至32%。

  2010年8月份,Wordpress 3.0下载量已超过1250万。

  BIND

   上榜理由:BIND(Berkeley Internet Name Domain Server)是现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的90%。BIND的第一个版 本要追溯到20世纪80年代,它由伯克利大学的4位研究生共同开发,它和4.3 BSD一起发布。可以这样说,它就是全球的标准DNS服务器。

  不接触Linux的朋友应该很少听过BIND。因为全球大多数服务器的OS均为Linux/Unix,而这些Linux/Unix均绑捆BIND,所以BIND的份额才非常高。

  Ubuntu

  上榜理由:2004年10月20日,Ubuntu首个版块发布。迄今为止,它是Linux流传最广的分支,尤其是其出色的桌面系统。鉴于Ubuntu近些年来的巨大成功,榜上有名,应受之无愧。

二、开源软件评测的技术,方法,工具和系统

开源发展(核心+插件)是一种趋势,他给予人们更多的选择性,也带动了用户开发插件的积极性,从而提高了软件的粘性以及用户的使用体验.插件的开发者本身就是软件的用户,他们更了解用户需求,他们在使用过程中发现需要某 些功能,或者为使用时的某些操作提供方便,才去开发出这些插件,这些插件往往是真正贴切的、实用的,这比作者一个人开发出的功能更适合普通用户.

有些人往往提到开源软件就想到免费,我认为免费并不是开源软件的真正核心意义.我觉得开源软件的真正意义是,集体开发,用户决定软件走向,还有使用者的自由 度.一个开源软件做出来,大家一起改进它,这样它就越来越适合大家.在符合大众习惯的同时,我也可以根据自己本人的使用习惯来调整软件,让它更适合自己, 我觉得这样的软件开发形式要好于传统的作者独自开发。

针对开源者,开源者开源某一个软件的初衷是什么?这个软件能解决某一方面的问题,提高生产力,开源出来解放社区工程师的痛点。我想大部分开源软件都是这样的。既然开源了,是否能经得起质疑,我们知道好的项目是经得起质疑。既然开源就能接受社区 的patch和pull request,如果自己贡献了100%的代码,别人问了问题就踢出群,都是自己造,那这样又何必开源呢。

还有就是使用者,如何选型一个好的开源软件,听信他人,迷信大厂的名号,我觉得是还自己动手亲自测试一下benchmark,这个过程既然能辨别真伪,又能学到不少知识。不要让我们的知识都是从别人那里听来的。看一下源码,主要看testcase,如果没有任何testcase,都在main方法中system.out的开源软件,测试都没有全面覆盖,你敢在生产环境中用吗?

软件测试是软件开发过程中的一个重要组成部分,是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求、预先定义的不一致性。

软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。测试是为了证明程序有错,而不能保证程序没有错误。

软件测试方法

http://wenku.baidu.com/link?url=6RsSpUw-ZS3yUDk8fMyi47P_Ls3pOR-D14of5QXnXcgzUlCmwqZOUnG4czifyZI2VoepvXfwqDz4DC6ls-PLl0P5_06UBOnQmCmjvC9UQiS

多任务测试是指在非idle状态下,测试对象处于工作状态时,有新的事件发生,如手机进行通话时有短信进行,手机有电话呼入,这种情况就是“多任务”。

临界测试在事件、任务刚刚发生、结束以及储存系统处于临界等边界状态下所进行测试  Eg:系统用户的容量为200,那么当人数达到到201时。

中断测试软件在工作中被其他的任务或意外事件等情况终止推出,相应的测试即为中断测试。  中断测试有人为中断、新任务中断以及意外中断等几种情况

性能测试通常验证软件的性能在正常环境和系统条件下重复使用是否还能满足性能指标。或者执行同样任务时新版本不比旧版本慢。一般还检查系统记忆容量在运行程序时会不会出现内存泄露(memory
leak)。比如,验证程序保存一个巨大的文件新版本不比旧版本慢。

软件测试工具

压力测试工具ApacheBench

http://blog.csdn.net/iloveolerp/article/details/5212844

ab---apache自带的压力测试工具。是 Apache 附带的一个小工具,专门用于 HTTPServer 的benchmark testing,可以同时模拟多个并发请求。

 

自动化测试工具QTP

是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试哪些功能、操作步骤、输入数据和期望的输出数据等

性能测试工具LoadRunner

LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能

缺陷管理工具QC

http://wenku.baidu.com/link?url=wnbpKzJ1JqR5S6UwMa-2olUzr9QeUpbYhpgdnhGRQXcrXzjqxEDmYQBBdJmibQ79ZGbdcNXdvVvm5siTAh1JP-eVeZMzXx3N8mjmt-qLDFq

软件提供统一、可重复的流程,用于收集需求、计划和安排测试、分析结果并管理缺陷和问题。组织可使用该软件在较大的应用程序生命周期中实现特定质量流程和过程的数字化。该软件还支持在IT
团队间进行高水平沟通和协调。

 

单元测试工具Junit

JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regressiontesting framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

软件错误管理工具Bugzilla

Bugzilla 是一个开源的缺陷跟踪系统(Bug-Tracking System),它可以管理软件开发中缺陷的提交(new),修复(resolve),关闭(close)等整个生命周期。

BugzillaMozilla公司提供的一款开源的免费Bug(错误或是缺陷)追踪系统,用来帮助你管理软件开发,建立完善的BUG跟踪体系。

功能测试工具WinRunner

通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。

企业级应用可能包括Web应用系统,ERP系统,CRM系统等等。这些系统在发布之前,升级之后都要经过测试,确保所有功能都能正常运行,没有任何错误。如何有效地测试不断升级更新且不同环境的应用系统,是每个公司都会面临的问题。

如果时间或资源有限,这个问题会更加棘手。人工测试的工作量太大,还要额外的时间来培训新的测试人员等等。为了确保那些复杂的企业级应用在不同环境下都能正常可靠地运行,你需要一个能简单操作的测试工具来自动完成应用程序的功能性测试。

时间: 2024-10-31 00:44:45

开源软件测评方法及工具的相关文章

安装与卸载软件的方法:rpm、yum工具介绍

安装与卸载软件的方法 rpm工具介绍 yum工具的介绍 搭建yum本地仓库 原文地址:http://blog.51cto.com/13515599/2058807

利用开源软件搭建JAVA工程CI&CD自动化工具链

JAVA传统项目交付流程的问题 开发和运维间环境有明显差异 代码缺乏统一质量度量 客户要求上线时间紧,人工测试慢,导致测试不充分,时常做线上BUG修复 打造工具链 ● 源码管理Gitlab● 持续集成Jenkins● 代码扫描SonarQube● 接口测试PostMan+NewMan● 制品管理ArtifactoryOSS版本(仅支持Maven)● 自动部署Ansible GitLab安装 vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=

oschina图形和图像工具开源软件

图形和图像工具开源软件 http://www.oschina.net/project/tag/181/imagetools?sort=view&lang=21&os=0

音频软件开发中的debug方法和工具

本文系作者原创.如转载,请注明出处. 谢谢! 音频软件开发同其他软件开发一样,都需要去调试.音频软件调试同其他软件调试方法有相同的地方,也有不同的地方,同时调试时还需要借助一些专门的工具,有了这些方法和工具,就能快速的定位问题和解决问题.下面我们就谈谈这些方法和工具. 1,方法 1)log 这是软件调试中最常用的方法,音频调试也不例外.在写代码时加上一定的log, 在出问题时就打开这些log,通过log分析问题出在什么地方.一个好的log体现在如下几点: a)    要有时间和日期,有时候时间戳

界面原型设计工具开源软件

界面原型图绘制工具 Pencil 开源原型设计工具 Framer [商业]原型制作软件 Axure RP 忙死了 ,反正是收藏的别人的,自己顺着链接看原文去. 界面原型设计工具开源软件

100款开源软件

不知道这些你就OUT了!100款开源软件 好的软件可以极大提高工作效率,完成一些不可能完成工作.然而我们也常常为选择哪款软件而头疼,本次为大家推出的100款软件都是经过整理分类的,而且最重要的是100款软件都是开源免费且使用于Linux环境下,大部分都可以直接从官网上下载使用.如果你完全没有接触过以下我介绍的这100款软件,我只能说一句你OUT了! 图:100款软件分类图 接下来将要介绍的100款开源应用程序,是我花了很多时间为大家整理的,这些软件对大家来说是很有用的.我希望通过这100款软件告

最受IT公司欢迎的50款开源软件

文章来自:云头条编译 本文介绍了多款知名的开源应用软件,科技公司可以用它们来管理自己的 IT 基础设施.开发产品. 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的 IT 基础设施和网站,一些提供与开源工具相关的产品和服务,或基于开源工具而建的产品和服务,还有一些在为开源代码贡献代码或支持开源项目. Black Duck 在 2015 年的一项调查发现,78% 的企业组织使用开源软件,这个比例几乎是 2010 年时候的两倍.此外,88% 的企业表示,它们预计在今后几年

2015 年度新增开源软件排名TOP100

本榜单包含 2015 年开源中国新收录的 5977 款开源软件中,根据软件本身的关注度.活跃程度进行排名前 100 名的软件.从这份榜单中或许可以了解到最新业界的趋势. 1.SwitchyOmega 项目简介:SwitchyOmega 是 SwitchySharp 的新版本.这是一个 Chrome 浏览器用来切换不同代理的插件.SwitchyOmega 初次安装时会检查是否存在 SwitchySharp ,如果有的话则会自动升级设置,无须手动配置.如果您使用的是非谷歌应用商店版,或者无法自动升级

ubuntu一些基本软件安装方法

ubuntu一些基本软件安装方法     首先说明一下 ubuntu 的软件安装大概有几种方式:1. deb 包的安装方式deb 是 debian 系 Linux 的包管理方式, ubuntu 是属于 debian 系的 Linux 发行版,所以默认支持这种软件安装方式,当下载到一个 deb 格式的软件后,在终端输入这个命令就能安装:sudo dpkg -i *.deb2.编译安装方式(小贴士:使用编译安装前,需要先建立编译环境,使用以下命令建立基本的编译环境:sudo apt-get inst