-
[转]软件测试中测试方案和测试计划的区别
2012-01-10 16:43:11
一、测试计划:
对测试全过程的组织、资源、原则等进行规定和约束,并制订测试全过程各个阶段的任务以及时间进度安排,提出对各项任务的评估、风险分析和需求管理。
二、测试方案:
描述需要测试的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案。
三、测试计划是组织管理层面的文件,从组织管理的角度对一次测试活动进行规划。
四、测试方案是技术层面的文档,从技术的角度度一次测试活动进行规划。
五、测试计划要明确的内容:
1、明确测试组织的组织形式
1>测试组织和其他部门关系,责任划分。
2>测试组织内的机构和责任安排。
2、明确测试的测试对象(明确测试项,用于后面划分任务,估计工作量等)
3、完成测试的需求跟踪
4、明确测试中需要遵守的原则
1> 测试通过/失败标准
2> 测试挂起和回复的必要条件
5、明确测试工作任务分配是测试计划的核心
1、进行测试任务划分
2、进行测试工作量估计
3、人员资源和物资源分配
4、明确任务的时间和进度安排
5、风险的估计和规避措施
6、明确测试结束后应交付的测试工作产品
六、测试方案的具体内容:
1、明确策略
2、细化测试特性(形成测试子项)
3、测试用例的规划
4、测试环境的规划
5、自动化测试框架的设计
6、测试工具的设计和选择
七、测试方案需要在测试计划的指导下进行,测试计划提出“做啥”,而测试方案明确“咋做”。利用工具生成各类图表来分析测试脚本执行情况,测试用例覆盖程度,被测系统在不同访问量下的响应时间,缺陷的状态及其分布情况等必要因素,从而得到整个测试的完成情况和被测应用的质量状况。以帮助委托方对软件的质量状况做出准确地判断和决定,以便于对软件系统进一步完善功能和改进软件中存在的质量问题。
七、结束语
测试只是一种手段对软件质量状况进行验证和评估的一种有效手段,不管采取什么测试手段和采用什么样的测试工具不可能证明软件没有错、很难做到100%的覆盖软件,通过测试、通过建立规范的测试流程实现专业化的软件测试,对提高软件产品质量、降低软件生产成本是非常有用的。
-
需求评审的关键点
2012-01-05 14:16:56
需求评审的关键点:(1)注意对软件需求说明书的正确性进行评审。需求规格说明的正确性通常可以从如下方面得以体现:①是否有需求与其他需求相互冲突或者重复?②是否清晰、简洁、无二义地表达了每个需求(“清晰”是让人能够读懂;“简洁”是让人愿意去读;“无二义”决定“读”的效果,是让大家对需求描述的理解能够达成一致)?③是否每个需求都通过了演示、测试、评审,分析是否得到了验证?④是否每个需求都在项目的范围内?项目管理者联盟文章⑤是否每个需求都没有内容和语法上的错误?项目经理博客⑥在现有的资源内,是否能实现所有的需求?⑦每一条特定的错误信息,是否都是唯一的和具有含义的?(2)注意对软件需求说明书的实践性进行评审。所谓实践性是指需求本身是否来源于目前企业的相关业务规则和文件制度,而非源于分析师们经验主义的臆测。实践性是判断需求规格说明是不是理论联系实践、密切和用户联系的一个关键性指标。(3)注意对需求规格说明书的完整性进行评审。可由下面的问题清单来评审需求说明书是否“完整”:①编写的所有需求,其详细程度是否一致和合适?②需求是否能为设计提供足够的基础?③所有对其他需求的内部引用是否正确?④是否包含了每个需求的实现优先级?⑤是否定义了功能说明的内在算法?⑥是否包含了所有已知的客户需求或系统需求?⑦是否遗漏了必要的信息?⑧是否对所有预期的错误条件所产生的系统行为都编制了文档?需求说明的完整性主要体现在需求说明的详细程度上,怎样判断该需求的描述是否详细呢?笔者认为需求需要精化,而不是仅仅提出精化功能、对象要考虑涉众参与者、做些什么、需要什么数据信息、受什么业务规则和条件限制、系统会有什么响应等。(4)注意对需求方案的可行性和成本预算进行评审。(5)注意对需求的质量属性进行评审。评审需求规格需要说明是否合理地确定了所有的性能目标,是否合理地确定了安全性方面要考虑到的问题。(6)注意对需求的可实施性进行评审:①是否对每个需求都设置了唯一性并且可以正确地识别它?training.mypm.net②是否每个功能需求都可以跟踪到高层需求?需求必须可以测试,每个需求在特定的输入条件下应当能给出已知的输出结果,同时,需求应当层次分明,需要把单个需求下面的相关需求综合在一起形成一组需求功能。需求的可实施性除了可跟踪性还包括可测试性,事实上,分析人员和测试人员在编写代码以前把需求模型,分析模型和测试用例综合起来通盘考虑,检查出遗漏的、错误的和不必要的需求,软件需求在概念上的测试是一种很必要的技术,它可以在项目早期阶段发现需求的歧义和错误。(7)注意对需求包含的用例文档进行评审。用例是参与者对系统和参与者的交互过程所达成的一种契约。需求说明书基于用例的分析方法是也是当前较为流行的需求开发方式。用例文档作为需求重要的成果性文档也是需求评审主体之所在。需求评审确认的重点是对关键用户的最常用和最重要的用例进行深入和细致的评审,首先要通过测试用例的主干过程。而是否撰写有效的用例则要从以下方面着手评审:用例的目标或价值度量是否明确?用例是否是独立的分散任务?是否明确说明可用用例会给哪些参与者带来用处?编写用例的详细程度是否恰当?是否有不必要的设计和实现细节?所有预期的分支过程是否都编写了文档说明?所有预估的异常过程是否都编写了文档说明?是否存在一些普通的动作序列可以分解成独立的用例?每个路径的步骤是否都清晰明了,无歧义而且完整?用例中的每个参与者和步骤是否都与所执行的任务有关?用例中定义的每个可选路径是否都可行和可验证?用例的前置条件和后置条件是否合理?分析师必须确认用例的前置条件和后置条件准确界定了用例的边界范围,区分了用例和用例之间的界限。 -
查看linux端口的占用情况
2011-11-25 15:15:48
查看linux端口的占用情况netstat -ntlp查看端口被占用情况netstat -an |grep 80 -
Linux解压缩命令-Linux教程
2011-11-08 15:39:48
Linux(Fedora/Ubuntu/CentOS)软件文件解压缩对于很多Linux初学者来说,一直是个难题。其实,只要多使用几次这几个解压命令,就不会是难事了。下面来详细给大家介绍下Linux下的文件解压缩命令。
一、解压缩命令简介
tar命令
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思
二、压缩命令使用
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg<span> // 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz </span>
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg<span> //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z </span>
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
三、解压命令使用
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2<span> //</span>解压 tar.bz2
tar –xZvf file.tar.Z<span> //</span>解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
四、总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
-
linux查找文件命令find
2011-11-07 17:46:49
http://blog.csdn.net/ydfok/article/details/1486451 -
Linux系统信息查看命令大全
2011-11-03 15:58:28
http://tech.idv2.com/2008/01/11/linux-sysinfo-cmds/ -
改变VNC server的分辨率
2011-11-03 15:52:04
改变VNC server的分辨率 (默认的分辨率是1024x768):
1. 可以用一下命令启动VNC server
[root@localhost ~]# vncserver -geometry 1280x1024这种修改,在重启机器以后就会丢失。
2. 也可以通过修改配置,使之重启以后也能生效:[root@localhost ~]# vi /usr/bin/vncserver
修改下面这一行:$geometry = "1280x1024"; -
解决vncviewer看不到图形界面的问题
2011-11-03 15:40:52
今天用VNC Viewer打开远程Linux桌面时,发现桌面显示不出来,只有一个灰色背景加上三个复选框。于是上网找解决方法。解决方法如下:1. 需要在vnc server上设置一下: 编辑 /root/.vnc/xstartup[root@localhost ~]# vi /root/.vnc/xstartup去掉下面两行的注释:unset SESSION_MANAGERexec /etc/X11/xinit/xinitrc如果你的xstarup没有内容请将上面两行内容输入并保存2. 执行下面的命令重启vnc server[root@localhost ~]# vncserver -kill :1[root@localhost ~]# vncserver :1此时再用VNC Viewer 打开远程linux桌面时就出现了图形界面 -
[转载] 如何引导开发人员及项目经理评审测试用例及测试方案
2011-09-28 09:34:35
转自:http://blog.csdn.net/nilxin/article/details/6739234引言:写这个帖子也是近段时间一些项目的测试经理普片向我提及的一个问题。即:面对几千个测试用例,普通开发人员及项目经理如何评审他们,虽然我们已经构建了这样一个体系活动。但大部分的开发人员仍然不知道如何评审它们,即便是我们自己测试成员也是同样。写这个帖子目的,希望抛砖引玉谈一些我的理解和我们采用的方法。这里要感谢架构师Jack这段时间交流与指导,因为这些方法来自于一些公共的测试技术。
先从测试方案入手:
一般我们常见的问题是哪些呢?
Topic1:测试方案过于复杂,在不了解业务情况下,很难对逐点评审;
Topic2:开发人员评审时无法聚焦焦点,测试用例太多,测试方案也太多;
Topic3:评审方案往往耗费较多的人力与时间,需要太多人参与,且评审效果很不理想;
Topic4:测试方案写作视测试人员经验和能力而定,写作方案时的思路及策略无法找到依据;
Topic5:测试用例的覆盖如何判断?用例命中率只能在执行后期统计及完善;
这些也许是我们通常评审方案是遇到主要问题,看看我们如何来破解他们,应该如何引导开发人员的视角在他们必须关注且能发挥极大作用的地方。
这里,抛出来一个主题:何为开发人员的视角。
何为开发人员视角呢?他们在关注什么?通常意义上来说,是微观的部分。开发人员关注的基于需求的实现方案、模块之间的接口、传输的数据流,判定路径等。
而测试人员的视角呢?他们在关注什么?通常意义上来说,是宏观的部分。测试人员关注的基于需求的业务数据流向、多维交互、质量属性、异常等。
不同的视角,造就了他们对同一个事物不同的评判标准。
一个好的评审,应该着重去引导两方的思维,它们存在交集,也存在互斥的部分。而这些灰色地带和未澄清的部分,正是容易出错的部分。
分析完这些,我们可以给这个问题抛出一些解决方案。
Topic1:测试方案过于复杂,在不了解业务情况下,很难对逐点评审;
解决方案1:测试方案分类编写,首先是基于面向对象分析,选择不同的模板分开描述他们。如:功能测试、性能测试、协议测试、质量属性、安全测试等等。
Topic2:开发人员评审时无法聚焦焦点,测试用例太多,测试方案也太多;
解决方案2:测试方案不仅仅是一个文字方案,更重要的是图形化的表达,统一建模。 序列图、状态机、User Story等技术,这样的方案将更佳一读,尽量减少文字描述。
解决方案3:测试方案需要按照结构化方式编写,思路方面建议采用脑图,这样在评审时。开发及外部专家更容易聚焦到中心上。结构化的思路还包括抽象为OPP的结构,如对FTP对象分析,应该从哪几个方面入手。基于RBT技术,我们可以构建一种Checklist公共测试框架,来解决这个问题。
Topic3:评审方案往往耗费较多的人力与时间,需要太多人参与,且评审效果很不理想;
解决方案4:也许敏捷开发模型能很好的解决这个问题?XP方式,似乎能引入到这里,但这样评审必须依靠强大模板或者能力较强的TAE介入。
Topic4:测试用例的覆盖如何判断?用例命中率只能在执行后期统计及完善么;
解决方案5:利用白盒测试技术来解决这类问题,通过SE将需要评审测试用例。按照断点方式来执行,以此收集对测试用例的覆盖。加入新的路径覆盖,这是一个互相牵引的过程。这个过程将使得研发能考虑到更多异常,而测试将通过此类方式弥补更多测试用例;
解决方案6:基于RBT思想,历史问题及故障注入技术将帮助我们完善测试覆盖。项目团队总是犯着同样的错误,同时他们有习惯性的思考模式。
解决方案7:基于风险测试技术,让开发评审时聚焦最关键的方案部分。并将每个测试对象的测试方案、测试策略罗列出来,使得我们的开发人员和项目不在抓瞎,不在茫然。
总结:希望这仅仅是抛砖引玉的一步,欢迎大家来信讨论并扩充我们的方法。
-
linux下查看系统属性
2011-09-27 15:29:06
1、查看cpu信息
查看所有cpu信息:cat /proc/cpuinfo
查看cpu类型: grep "model name" /proc/cpuinfo
2、查看内存信息:
查看所有内存信息: cat /proc/meminfo
查看内存容量: grep "MemTotal" /proc/meminfo
3、查看linux版本信息:
cat /proc/version
4、查看系统信息:
uname -a
5、查看cpu的位长:
getconf LONG_BIT
6、查看磁盘信息:
df -h
7、查看目录大小
当前目录大小:du -sh
子目录大小: du -sh *
8、查看当前cpu运行状况
top
9、查看系统内存信息:
free
10、查看usb信息
lsusb(/sbin/lsusb)
lsusb -tv
11、查看进程信息
ps
树状显示进程:ps -e -o pid,args --forest
12、监控网络
tcpdump
13、查看用户打开的文件句柄的列表
lsof
查看打开用户目录的进程: lsof ~
14、查看和跟踪系统调用和信号
strace
15、查看网卡/网络接口相关信息,包括ip,mac等
ifconfig (/sbin/ifconfig)
16、查看路由相关信息
ip (/sbin/ip)
查看路由信息: /sbin/ip route
查看ip地址: /sbin/ip addr -
[转帖] 论坛精华:测试话题大PK~~漏测
2011-09-27 10:55:53
测试人员需要对漏测承担多大的责任?需要进行惩罚吗?
正方:承担主要责任,需要进行惩罚。
反方:不承担主要责任,不需要惩罚。
中方:试情况而定。
1、责任是应该承担,但惩罚就要视情况进行使用了。
2、如果漏测缺陷的严重程度为高,并是因为测试人员没有发现而不是开发人员经过修改或没有列入测试需求所导致的,测试人员需要承担主责并进行处罚。
3、如果导致后果严重,出现重大事故,应严厉惩罚。如果相关人员已调职甚至离职,应考虑如何追加处罚。
4、肯定是要承担责任的。责任不在大小,但要敢于承担!我当初在做对日的时候,就是因为造的数据不好,导致没测到数据回滚的情况,上线后影响到了客户,最后追究责任的时候连累了那个开发被开除(其实我明白主要责任在我)。
5、没有规矩不成方圆,大锅饭绝对不会有好的竞争机制,不会有好团队,更不会有好的业绩。奖励优秀的,辞退或者改进不良的。甚至不排除孔明挥泪斩马谡,当斩必斩!权责清晰,需要承担多大的责任全靠初期定义。就像前面帖子谈的有限责任和无限责任。什么才是测试范畴,什么是开发范畴,什么又是需求范畴,定义清晰。不要因为混乱而糊里糊涂的黑锅,也不要因为主人翁精神去替别人被黑锅。做到问心无愧,敢于面对,一切足矣。
6、作为测试职业人应该负全责,不管怎么说,BUG是自已手中出去的,无需找任何理由。至于公司给不给机会让我们测试机会,那就要看任职的公司的文化了!
7、偶也想说2句,这个问题问得好呀。
偶记得在第一家公司的时候,每个季度都会对线上问题进行分析,然后找出原因,找出责任人。大部分问题的责任人都是测试经理,也就是测试经理要承担责任,要处罚,一般也是小的罚款,除非特别大的线上问题。
我个人也是比较赞成这个做法的,如果单纯的由一般的测试工程师去承担这个责任,偶觉得还是不现实的,因为测试后的漏测问题是不可避免的,如果都要去追究责任,去处罚的话,那可以想象测试工程师在测试的时候的心态肯定不好的,最后反而影响测试的效果。
对于测试人员,要给的心态就是你要认真负责,尽最大的努力去发现bug,减少漏测问题。现在不讨论如何做到这一点。
还有一个心态就是如果一旦你的模块出现问题就在大的层面上说这是你的责任,但力度有限,最多影响这个季度的KPI。
这是不能给测试人员很大的压力。
所以偶赞成:大部分的漏测问题,测试经理承担70%的责任,测试人员20%,开发方10%。很明显的基本漏测问题除外。
8、出现问题要不要罚,当然要。
罚得目的是什么,是为了以后不再出现类似问题,不是为了罚而罚。
怎么罚?权责明确、原因分析清楚才能罚。
关键的是在于处罚前要分析清楚问题的原因,根据原因进行处罚。
对公司来说,员工能够主动承担责任当然最好,但是光靠这个远远不够,人都是天生要逃避责任的
制度才是根本,对于问题的调查、分析、结论都要有一个合理公开的流程,这样的处罚才能让人心服口服
至于前面提到“比方说,在测试行业公布其履历及对企业带来的严重后果。”,非常不赞成,只要这个原因不是员工人为故意制造的,都没有必要这样做。只会给企业和相关人员带来不必要的麻烦。
9、不管是开发还是测试都有责任,不然怎么是一个团队。
10、责、权、利要对等,奖励与惩罚也要对等。
转载务必注明出处Taobao QA Team,原文地址:http://qa.taobao.com/?p=4248 -
[转载] 项目心得
2011-09-27 09:57:57
Q3季度的工作,最重要的一部分,应该就是淘江湖2.0这个项目了。总结了一些心得,做项目的同学可以参考一下,如下:
1.大项目拆成多个子项目,分别设立测试负责人。子项目负责人跟进每日子项目情况,处理子项目中团队成员的问题,向总测试负责人汇报进度,以及个人解决不了的问题。
2.测试策略需要提前制定好。目前我们测试方案会写在测试计划中,更偏于划分测试范围、制定测试时间计划以及测试风险的评估。忽略了很重要的一项,测试策略。项目大的测试策略或者说测试模式是明确的:三轮测试。测试过程中,每一轮都应执行一次全部测试用例。然后,有些项目时间非常紧,不能满足我们每轮测试都可以完成一边测试用例的执行,这时,测试策略就尤为重要了。淘江湖这个项目,是整合改造性项目,需要全量回归,单单我们第二方应用子项目来说,测试用例便有近3000条,测试时间又很短。如何做到测试用例执行到位,又保证测试进度呢?我们就需要在制定测试计划时,制定一套适合的测试策略。让测试同学可以很清晰的了解每一个阶段,自己要做哪些工作。这个项目做得有点被动,在第一轮测试完成后,才去考虑测试下一轮的测试策略。这一环节应该提前在制定测试计划时进行。
3.项目进度的全方面跟进。在这个项目测试过程中,我们主要关注功能测试、性能测试的进度,对安全测试的进度跟进不到位。导致在功能测试完成时,安全测试还尚未通过。首先,测试负责人要在制定测试计划时,全量评估功能测试、性能测试、接口测试、安全测试的时间点,每天跟进各类测试的进度是否正常,确保整体测试进度的一致性。
4.第三方应用的验收测试。对于第三方开发的应用,我们是否要做验收测试呢?在1.0项目中,由于人员、时间等综合问题,PD、运营承担了主要的验收工作,效果不是很好,我们在上线内测阶段对该应用进行了功能测试,发现较多问题,再次提交第三方公司进行修改。有点亡羊补牢的感觉。在2.0项目中,我们有专职进行验收测试的测试同学,在测试阶段进行验收测试,减小了上线风险。
5.项目晨会。由于这个项目参与的人很多,每天早上测试人员会碰在一起开晨会,反馈当前的问题。对于一般来说,项目中人员不会很多,建议可以项目组开发、pd、ued、测试,每天早上碰一下,开个晨会过下当前的进度、bug。
6.项目总结。项目结束后,写好项目总结,在社区测试组内进行了项目分享,分析这个项目中我们做的好的,遇到了哪些问题,哪些需要改进等等。现场的这种分享,感觉比单纯的文字,更容易被非项目组成员接受,大家会得到更多收获。
转载务必注明出处Taobao QA Team,原文地址:http://qa.taobao.com/?p=4697 -
svn:警告:“.”不是工作副本
2011-09-23 10:26:46
刚了解到svn命令行就是subversion的一个客户端,于是想用svn命令行来操作1.C:\Users\Administrator> svn -v statussvn:警告:“.”不是工作副本2.进入subversion的bin目录再次执行svn -v status,仍然报错D:\Server\Subversion\bin>svn -v statussvn: 警告: “.”不是工作副本进入svn的工作副本的目录,执行 svn -v status ,会显示出工作副本的信息SO,执行svn命令要先进入svn的工作副本目录 -
在RedHat 5.4(centos)下安装配置Apache+Subversion(二)
2011-09-22 12:20:45
接上篇:
7. 安装Subversion过程中遇到的问题,以及解决方法:<!--[if !supportLists]-->1) <!--[endif]-->在第4项:configure时,出现error(此时注意终端上显示出的error信息)。主要有3处error:
SQLite: http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz, 按提示操作
Neon: http://webdav.org/neon/ 下载2.9.0版本 按提示操作
--with-zlib requires an argument 给--with-zlib制定一个路径,如:-with-zlib=、usr/local/zlib
make时,error:cannot find –lexpat 下载并安装
http://ncu.dl.sourceforge.net/project/expat/expat/2.0.1/expat-2.0.1.tar.gz
<!--[if !supportLists]-->2) <!--[endif]-->重启apache时出现错误:Error:while loading shared libraries libexpat.so.1 cannot open open shared object file No such file or directory
解决方法:在etc/ld.so.config文件中加入:usr/lib和usr/local/lib 然后ldconfig下
<!--[if !supportLists]-->3) <!--[endif]-->配置完成后,重启apache时出现的错误:httpd: Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_dav_svn.so into server: /usr/local/apache2/modules/mod_dav_svn.so: undefined symbol: dav_register_provider
解决方法:
重新./configure 增加参数 ./configure --prefix=/usr/local/apache2/ --enable-module --enable-shared --enable-dav --enable-so --enable-maintainer-mode --enable-rewrite //此处配置的为apache的参数,配置完成后需要重新安装。最好将之前安装的apache删除,然后重新安装。此处还有一点需要注意的,若重新安装apache,也要重新安装subversion,这样访问svn时apache需要的模块才会出现apache的modules文件夹中。
-
在RedHat 5.4(centos)下安装配置Apache+Subversion(一)
2011-09-22 11:34:44
对于一个没有接触过linux的人要在linux下架设svn服务器,无异于赶鸭子上架。不过没办法,既是任务就得完成。本文是作者结合各家之长,加之网络上各种解决方法集成的吐血之作,希望能够给后面的人一些帮助。下面是作者在linux下架设svn服务器的详细步骤以及在安装配置过程中遇到的问题及解决方法:1. 下载subversion和apache的最新src包http://subversion.apache.org/download/ 下载subversion-1.6.17.tar.gz
http://httpd.apache.org/download.cgi#apache22 下载 : httpd-2.2.20.tar.gz
<!--[if !supportLists]-->2. <!--[endif]-->新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作
#groupadd svn
#useradd svnroot -g svn
#passwd svn<!--[if !supportLists]-->3. <!--[endif]-->编译安装apache
//解压apache2安装包(此处要指出安装包所在的路径)
# tar xvzf httpd-2.2.20.tar.gz
//进入解压后的目录
# cd httpd-2.2.20
//配置apache安装
# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
# make
//安装
# make install
//启动apache服务
# /usr/local/apache2/bin/apachectl start
//打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功。
注: httpd服务的默认端口是80, 此处若发现80端口已被占用, 在httpd.conf文件中修改listen 80 为 listen 81(或其他未被占用的端口),修改完成后要重启apache服务。<!--[if !supportLists]-->4. <!--[endif]-->安装Subversion
//解压SubVersion安装包
# tar xvzf Subversion-1.6.17.tar.gz
//进入解压后的目录
# cd Subversion-1.6.17
//配置subversion安装
#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib --enable-maintainer-mode --enable-dav --enable-so
# make
//安装
# make install
//创建库文件所在的目录 (svnroot用户进行下面的操作)
# mkdir /home/svnroot/repository
//创建仓库"test"
#/usr/local/subversion/bin/svnadmin create /home/svnroot/repository/test
//查看svn是否安装成功
# /usr/local/subversion/bin/svnadmin --version
//不让其他人有该目录的权限
# chmod 700 /home/svnroot/repository
(svnroot用户操作结束)<!--[if !supportLists]-->5. <!--[endif]-->修改Apache配置文件
# vi /usr/local/apache2/conf/httpd.conf
//找到下列语句,如果没有则自行添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
//在后面添加
<Location /svn>
DAV svn
SVNParentPath /home/svnroot/repository/ //svn父目录
AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
AuthType Basic //连接类型设置
AuthName "Subversion.zoneyump" //连接框提示
AuthUserFile /home/svnroot/repository/authfile //用户配置文件
Require valid-user //采用何种认证
</Location>
//重启apache
# /usr/local/apache2/bin/apachectl restart
//打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。<!--[if !supportLists]-->6. <!--[endif]-->权限管理
1)增加用户
# htpasswd -c /home/svnroot/repository/authfile 用户名
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
# htpasswd /home/svnroot/repository/authfile 用户名(加入新的用户,就不用-c了)
2)权限分配
# vi /home/svnroot/repository/authz.conf
[groups]
admin=useradmin
devteamcs = useradmin,user1,user2//这里定义了一个用户组
[/]//对所有的项目,所有的用户都有读权限,admin用户有读写权限
@admin = rw
* = r
[test:/]//对test项目,
@devteamcs = rw
// 在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:
User daemon
Group daemon
// 将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行
//改完后是这个样子
User svnroot
Group svn
//重启apache
# /usr/local/apache2/bin/apachectl restart
访问http://localhost/svn/test 提示输入用户名密码,输入创建的用户名和密码登录进去看到“Revision 0: /”之类的就表示成功啦!至此apache+svn配置完成。
感觉像是有字数限制,所以分两部分写,其余的见下(二)
-
Bugzilla在WIN7(32)上的安装与配置
2011-09-20 17:00:22
前些天老大说服务器就到了,到了之后你安装个bug管理工具。我应了下来,想起之前在FD时用TD和Bugzilla比较多,考虑到TD收费,后期又会有外国人加入,毅然决然的选择了Bugzilla。Bugzilla这个东西,在安装的时候确实比较麻烦。由于安装的时候忘了截图,现只将能截图的把图片放上供大家参考。
先给大家看一个主界面吧:(Version:4.0.2)
下面就是我的安装和配置的步骤:
<!--[if !supportLists]-->1. <!--[endif]-->首先下载安装需要的文件
Bugzilla-4.0.2 下载地址:http://www.bugzilla.org/download/#stable
ActivePerl-5.14.1.1401下载地址: http://www.activestate.com/activeperl/downloads
MySQL5.5.15.0 下载地址: http://www.mysql.com/downloads/
.NET4.0 下载地址: http://www.microsoft.com/download/en/details.aspx?id=17851 (安装Perl时,需要先安装 .NET4.0 )
<!--[if !supportLists]-->2. <!--[endif]-->安装ActivePerl
这个安装比较简单, 按照默认直接 ”下一步” 直到安装完成。关于和Activeperl有关的配置问题,后面再说。
<!--[if !supportLists]-->3. <!--[endif]-->安装MySQL数据库
这个安装也没什么特别需要注意的地方,只是一定要记住root的密码。
安装完成后,应该有一个MySQL Command Line Client,打开该程序,会提示并输入root密码,如果不用该控制台,也可以通过自己打开控制台,进入到mysql的bin目录,用mysql -u root -p进入mysql的配置管理
创建Bugzilla的MySQL数据库和用户
假设要创建的数据库名称是DemoBugs,则进入mysql命令行状态后,执行如下命令:
mysql>create database DemoBugs;
如果要创建的用户名DemoBugs,密码是123456,则执行如下命令:
mysql>grant all privileges on DemoBugs.* to 'DemoBugs'@'localhost' identified by '123456';
<!--[if !supportLists]-->4. <!--[endif]-->安装Bugzilla
将下载下来的Bugzilla 直接解压到E:\Bugzilla
<!--[if !supportLists]-->5. <!--[endif]-->检查、下载和安装Bugzilla相关的Perl模块
命令行进入Bugzilla目录
执行命令:E:\Bugzilla>perl checksetup.pl
此脚本会检查需要的模块是否已经安装,同时初始化数据库,最后要求输入管理员的邮件地址、用户名和密码。如果所需要的模块都已安装,会在Bugzilla目录下生成一个localconfig文件,这个文件是bugzilla运行时的配置文件。
注意:
<!--[if !supportLists]-->1) <!--[endif]-->如果检测到某些模块没有安装,按照命令行指示的方法下载有关模块,使用PPM Install ‘<模块名>’安装。(Optional 模块可以不安装)
例如:C:\Users\Administrator>ppm install Email-Send
<!--[if !supportLists]-->2) <!--[endif]-->如果提示不能连接数据库,请打开e:\Bugzilla\localconfig文件,找到$db_pass = '';这一行,在引号中填入前面一步中给bugs用户分配的密码,保存。
<!--[if !supportLists]-->6. <!--[endif]-->配置IIS
<!--[if !supportLists]-->1) <!--[endif]-->若IIS服务没有开启, 开始 > 控制面板 > 程序和功能 > 打开或关闭Windows功能, 出现如下图的对话框,将internet 信息服务下的IIS开启,如图:
<!--[if !supportLists]-->2) 开始 > 控制面板 >系统和安全 > 管理工具>internet信息服务(IIS)管理器 > Default Web Site, 右键选择“新建->虚拟目录”,你可以给这个虚假目录起一个名字,例如“bugzilla”,指向e:\Bugzilla目录,在默认文档中加入“index.cgi”,并置顶。
<!--[if !supportLists]-->3) <!--[endif]-->在“处理程序映射”中,设置perl对.cgi的映射。
开始 > 控制面板 >系统和安全 > 管理工具>internet信息服务(IIS)管理器 > Default Web Site,右侧窗口,选择 处理程序映射 > 添加脚本映射,如下图:
<!--[endif]-->
打开浏览器,在地址栏输入:http://localhost/bugzilla,看到bugzilla的页面就表示安装成功,现在可以正常使用了。
注:还可以用Apache来配置bugzilla,但是我机器上apache已被SVN占用,所以才选择IIS。其实apache是可以支持多个web服务的,只要改一下httpd.conf就可以。
-
Win7下使用Putty和VNC远程控制 Linux Host
2011-09-20 15:35:11
前提条件是Linux和Windows均已配置好,互相能够ping通,这时候可以使用putty这个软件登录到Linux Host 上。Putty是个绿色的软件,很好用,使用起来也非常简单。
<!--[if !supportLists]-->1. <!--[endif]-->http://tartarus.org/~simon/putty-snapshots/x86/putty.exe 下载 putty.exe
<!--[if !supportLists]-->2. <!--[endif]-->点击运行 putty.exe,进入PuTTY Configuration 及界面
只要在Host Name 栏填入Host的IP,选择端口号22,Connection type 为SSH。
下图是putty 的登陆页面截图:
然后点击 open 即可连接到Linux Host的登陆界面。输入用户名和密码进入Linux的文本模式。
下图是登陆后文本模式的Linux:
<!--[if !supportLists]-->3. <!--[endif]-->VNC Server端的配置
要使用远程控制出现图形界面,可以使用VNC。要使用VNC, 首先要在Linux Host上安装 VNC Server。我用的Linux系统是已安装VNC Server的,所以这里就不描述VNC Server的安装了。(有些Linux系统是自带VNC,而且默认安装了VNC 的)
<!--[if !supportLists]-->1) <!--[endif]-->启动VNC Server:打开终端执行:vncserver(在当前用户主目录下生成.vnc文件夹)
如图所示,已启动VNC Server,并分配了一个编号4
<!--[if !supportLists]-->2) <!--[endif]-->默认情况下,VNC Viewer只能看到VNC Server的命令行,要想看到linux的图形界面,需要对文件 /root/.vnc/xstartup作如下修改:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
gnome-session &配置完之后,需要重新启动VNC Server
# vncserver –kill :编号 杀掉VNC Server
# vncserver 启动VNC Server
<!--[if !supportLists]-->4. <!--[endif]-->Win7 下需要一个客户端VNC Viewer
http://www.realvnc.com/cgi-bin/download.cgi 下载VNC Viewer
运行下载的exe文件
VNC Server 项输入:IP:编号(这里应该输入:192.168.16.33:4)
点击 connect后,需要输入密码(密码可利用vncpasswd来设置)
登陆后界面为:
<!--[if !supportLists]-->5. 1. VNC Server 高级设置
<!--[if !supportLists]-->1) <!--[endif]-->设置vncserver启动脚本(/etc/init.d/vncserver)实现系统自启动时启动vncserver
#在/etc/rc.d/rc.local文件中加入下面行
/etc/init.d/vncserver start
#也可以用chkconfig命令实现系统自启动时启动vncserver
[root@CPAYNET005 ~]# chkconfig --level 2345 vncserver on<!--[if !supportLists]-->2) <!--[endif]-->编辑/etc/sysconfig/vncservers
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768"
在ARGS 中修改"1024x768"来适应自己的X桌面实际参数配置。可以在这里添加任何其他VNC服务器参数配置。在VNCSERVERS中修改 root 为你希望运行VNC桌面的用户。VNCSERVERS中的1表示VNC以桌面1运行,如果希望添加其他的桌面,可 以修改配置如下:
VNCSERVERS="1:user1 2:user2 3:user3"
3)设置vnc server的访问密码
使用vncpasswd命令
4)在RedHat系统上,使用以下命令启动VNC:
/etc/init.d/vncserver start
5)查看VNC Server启动情况
[root@CPAYNET005 ~]# netstat -tulnp
备注:
使用putty可以直接进入Linux的命令行模式,可以在命令行的模式下启动VNC Server,并对VNC Server 进行配置,配置完成后可直接使用VNC Viewer进入远程界面。
VNC给vncserver的端口是5900+N,给浏览器的端口号是5800+N, N是设置的display号,所以要想控制linux服务器,必须打开防火墙响应的端口,否则会报connection error。
使用putty时,需要在服务端启动SSH服务。
<!--[if !supportLists]-->
-
我也开通了空间
2008-12-23 17:12:21
我也开通了空间,哈哈
标题搜索
我的存档
数据统计
- 访问量: 48580
- 日志数: 18
- 建立时间: 2008-12-23
- 更新时间: 2012-01-10