软件安全测试按照测试点又细分了很多分支,而今天我们要讲的是安全测试之最常见的页面脚本攻击。脚本攻击有多种方式,今天给大家讲几种最常见的场景也是很多网站容易忽略测试的情况
第一种,在页面的输入框中植入一段js(javascript)脚本。不知道js的同学,请关注我们的公开课,或者自己去百度学习。
一般情况下我们在测试添加功能的时候都会根据需求文档进行测试,需求文档里可能会写明每一个字段的数据都有哪些限制条件,往往我们就会去测试这些限制条件是否都满足,但我们通常会忽略一种情况,尤其是我们不懂js,html这些前台页面技术的情况下。比如,现在我往老师昵称的输入框输入一段js:<script>alert(1)</script> ,输入其他数据后保存这条老师数据,然后回到老师列表就会发现出现了一个弹框,这个就是因为保存进去的昵称没有经过数据过滤处理,保存到表的数据是一段完整的js,然后这段js脚本被浏览器渲染后就出现了一个警告提示框,成功实现了攻击。
像这种情况还不算太恶劣,点击警告框的确定,警告框就会关闭,但是如果别人植入的是一段死循环代码,比如上面的脚本经过一个改造:<script>while(true){alert(“有本事你就把我关掉”)}</script>,然后往页面输入框输入以上脚本数据,保存后在列表页面就会弹出咱们设计的那个弹出框,并且想关都关不掉,关了以后立马又出现了。并且只要访问到这个列表页面就会出现这个弹框。
试想一下,如果你们的客户稍微懂一点技术,在做验收的时候输入了一段这样的脚本来测试,估计当场就会被气吐血,人家会觉得不仅你们开发人员技术不过关,你们测试人员技术也不到位,别人出钱的时候也不会那么干脆,更严重的情况是客户可能再也不会跟你们合作了,因为这么低级的一个bug,你们项目组都没有规避到。
第二种,在页面输入框中植入一段html代码。不知道html是什么东西的同学,请关注我们的公开课,或者自己去百度学习。
植入html代码又可以分几种情况,以下几种情况是测试中用的最多的,因为他们都可以指定一个路径,链接到第三方平台,而有些情况一经点击就可以跳到指定的第三方平台,而这种情况是很容易在第三方页面上做手脚盗取你网站的私密数据的。
1. 植入<img>图片,这个图片的链接指向第三方的图片,影响:第一,非一条正常数据,第二,对方可以利用你的漏洞捣乱,传上去一些非法图片。
2. 植入超链接:<a>,如果你的页面没有做html过滤就可能被植入一段超链接,点击就可以跳到第三方平台。影响:第一,非一条正常数据,第二,别有用心的人就可以利用你的漏洞去做一些非法的事情。
3. 植入iframe:<iframe>,如果你的页面没有做html过滤同样也有可能被别人直接植入一个iframe,嵌入一个第三方页面,直接显示在你的网站页面上,比如,我们现在通过iframe在我们的老师列表页面植入视频网站--优酷,这样我们就可以点击优酷上的视频来观看了。影响:第一,非一条正常数据,第二,同样别人可以通过这种方式直接植入不安全的第三方网站或者广告。
当然以上这些脚本攻击方式在你的项目网站上不一定都能重现,因为有些项目是做了过滤的,但是也有可能做的也不完全,可能某一种注入被规避了,还存在漏网之鱼,所以只有试过才知道,上面只是列举了几种常见的注入方式,大家可以去测试下,说不定有额外的惊喜。如果找到了这样的注入bug,请记得鄙视一下你们开发人员。哈哈。
WEB测试应该注意哪些地方,怎样才能做好WEB测试,新手上路,希望大家能多给些宝贵的意见?
基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于Web的系统测试方法。
随着Internet和Intranet/Extranet的快速增长,Web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。范围广泛的、复杂的分布式应用正在Web环境中出现。Web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息发布,容易为最终用户存取。
Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。它"使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统"。目前,对于web工程的研究主要是在国外开展的,国内还刚刚起步。
在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对Web和Internet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。
在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。
一般软件的发布周期以月或以年计算,而Web应用的发布周期以天计算甚至以小时计算。Web测试人员必须处理更短的发布周期,测试人员和测试管理人员面临着从测试传统的C/S结构和框架环境到测试快速改变的Web应用系统的转变。
一、功能测试
1、链接测试
链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。
2、表单测试
当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
3、Cookies测试
Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。
4、设计语言测试
Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如Java、javascript、 ActiveX、VBScript或Perl等也要进行验证。
5、数据库测试
在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。
二、性能测试
1、连接速度测试
用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
2、负载测试
负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?
3、压力测试
负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。压力测试的区域包括表单、登陆和其他信息传输页面等。
三、可用性测试
1、导航测试
导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?
在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容在什么地方。Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。
2、图形测试
在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:
(1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。
(2)验证所有页面字体的风格是否一致。
(3)背景颜色应该与字体颜色和前景颜色相搭配。
(4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。
3、内容测试
内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word的"拼音与语法检查"功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓"相关文章列表"。
4、整体界面测试
整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个Web应用系统的设计风格是否一致?对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。对所有的可用性测试来说,都需要有外部人员(与Web应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。
四、客户端兼容性测试
1、平台测试
市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。
2、浏览器测试
浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、javascript、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,javascript是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
五、安全性测试
Web应用系统的安全性测试区域主要有:
(1)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
(2)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
(3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
(4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
(5)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
六、总结
本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于Web的系统测试方法。基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。(T117)
关于简历中的项目经验?
最近收到一些同学的简历,感觉虎头蛇尾,前半段的自我介绍之类的写的不错,后面的项目经验和技能掌握情况就写的逊色很多。有可能是技术掌握的不好,怕人家深问,所以惜字如金;也有可能是
烂熟于心,张口就来,就等着别人问了;又或者语文学得实在不怎么样,写不出来;应该不会是想让我们帮你写吧!!!
不管什么原因吧,项目经验描写的越详细对求职越有帮助!
一般简历到公司后会有HR或者直接技术部的人来看,HR一般对技术不太了解,但是她在筛选简历的时候,会按照部门提交的要求来筛选,她会在简历里搜索相应的关键字,这些关键字就是技术部告
诉她的比如要会“测试用例设计、需求分析、自动化工具、配置管理。。。”她会再结合一些其他方面的要求,把有这些关键字的简历挑出来,送到技术部。
如果是技术部直接筛选简历,那他们更关注你做过什么,你会做什么!如果这时你的项目经验只有短短的介绍性的文字,那一般他们不会再多看一眼的。
同学们在这里也做过不少大大小小的项目,那么怎么写才能显得专业并且给别人留下深刻的印象呢?
我来推荐几种写法给大家参考:(请勿完全照搬,要有自己的特色!)
例一:
版本自动升级工具系统测试
软件环境:Windows 2000 Professional SP4; Visual SourceSafe; IIS5.0
硬件环境:Intel(R) on(R)2.93GHz; 512M; 40G
开发环境:Delphi
软件介绍:是供证券公司对自身软件进行升级的工具;已经有三个版本,需要对其功能及性能等分别进行测试
主要职责:作为组长,制定测试计划初稿,编写测试需求框架,进行工作任务的分配与安排,参与部分模块——业务流程的测试(编写完整的测试需求、设计测试用例、执行测试用例并完成缺陷报告),完成测试总结分析报告、工作绩效统计;各阶段组织评审;另外对控件命名的规范以及每个人提交文档的格式进行统一。
例二:
2006/4—2006/5:
项目名称:商场管理系统
该项目是在心力教育学习期间以小组为团队完成的一个实践项目,团队5人,我主要负责项目计划、测试需求分析、测试分析和总结分析,系统测试用例设计、执行。
全程使用测试管理工具TestDirector进行管理。
例三:
PhpWind Blog(Web项目)
在项目中担任组长,负责制定测试计划,并和组员一起按照测试计划按时完成测试需求、测试用例设计、测试执行和缺陷报告、总结分析报告等一系列测试过程的工作。在测试的开始阶段就进行了需求的细分,事实也验证了这样做的好处。运用了数据驱动的测试用例设计方法进行功能测试和安全性测试,并制定相关指标进行了手工的性能测试。
以上三个例子来源于前几期毕业学员的简历,也是我认为写的较好的。大家看出来了吧,组长的头衔在这个时候就很有用了!呵呵!
希望对大家有帮助!
IT项目管理中开发项目时都有哪些角色?
针对你现在刚刚介入,建议项目分工及角色如下:
1、项目经理,负责需求的调研、用户协调、内部协调、项目文档管理、项目进度管理、质量管理等,参加各种会议、WBS分解。
2、开发经理,如果项目经理具备开发能力,可兼职。主要负责开发的实施,带领开发人员、开发进度的制订等。
3、开发工程师,实施开发任务。
4、实施和测试工程师,看项目大小,两个角色可以合并。主要负责系统部署安装、数据采集录入、系统测试等。
扩展资料:
IT项目管理中需要注意的四个关键点:
关键控制点一 项目的时间控制
首先,要明确项目期望值,做好需求调研,围绕企业的核心业务流程,制定切实可行的项目目标,这个目标万不可贪大求全,面面俱到,
目的是满足核心业务流程需求,与核心业务流程关系不大或者毫无关系的内容,缓建或根本不建,将业务期望聚焦在更容易把控和量化的目标上来。项目实施完全围绕该期望进行,这也是项目实施中最重要的一点。
其次,信息化项目是需要多部门、多环节充分协作的系统工程,任何部门和环节的时间延误,都会导致整个项目实施周期的延长。因此,对影响项目进度的“短板”环节,进行着力攻坚,促进其与项目的其它环节步调一致,协同共进,能够有效保障项目的实施周期。
再次,信息化项目往往周期较长,因此需要针对项目的实施阶段制定“日清日结”的项目时间保障机制,保证项目每一天都有明确的目标,才能对项目的进度进行有效掌控。
最后,由于信息化项目涉及面较广,参与人数众多,人员的素质参差不齐,对项目的把握也各不相同,因此在项目开始前需对参与项目的人员甚至高层管理人员,进行项目普及性培训,在项目进行中进行相关的项目培训。
俗话说,磨刀不误砍柴工,提高每一位参与人员的项目能力才能有效提高项目实施的效率,从而保障项目的实施周期。
关键控制点二 项目的成本控制
首先,信息化项目是it技术在企业业务的应用,其开发和实施都建立在业务部门提出的项目需求之上。然而,由于项目开发和实施的时间较长,常常出现这样的情况,在系统开发完毕后,业务需求却已经改变,致使项目不得不重新进行开发。形成影响项目成本的主要因素。
产生这种情况的原因,一方面是因为项目小组前期调研不够深入,没有全面掌握业务部门的真正需求和需求的发展方向,另一方面是因为随着项目的深入,业务部门对项目在业务中的应用有了更加深刻的认识。
想要控制这种来自需求改变的成本增加,项目经理除了在项目前期进行更加深入的项目调研外,还应该加大对业务人员的培训力度,让他们先于项目应用而对项目拥有更加深入的了解。
其次,在项目实施过程中,各种与业务相关的应用需求纷至沓来,不断增加的项目需求,将使项目预算不断增加,从而形成影响项目成本的又一重要因素。
对于这种情况,项目经理要区别对待,如果确系有助项目期望的实现并能够帮助提高项目实施效果的需求,哪怕影响到项目的成本和延长项目的实施周期也要采纳这种需求,这是对项目的一种有益补充;如果与项目期望关系不大甚至没有关系的需求,则应坚决摒弃。
因此在项目实施前做好准确的项目期望,划定明确的项目开发任务和范围并严格执行,能够有效控制这类项目成本增加。
最后,信息化项目成本的另一主要来源是人力资源成本,因此在看到项目的硬件、软件等硬性成本同时,也不能忽略人力资源这一软性成本。有效控制项目实施时间、合理配置人力资源、避免人力资源浪费是控制这项成本的关键。
关键控制点三 项目的质量控制
信息化项目的质量控制包括两个方面,一方面是it技术本身(硬件、软件、系统)的质量控制,另一方面也是最重要的一方面,是it技术应用于企业的质量控制。对于前者,我们可以依照国家的质量标准进行考量,而对于后者,则没有统一的标准,并难以实行量化控制,
但无论如何,信息化项目的主体是企业,检验it技术应用于企业质量好坏的唯一标准则应该是项目在企业中的实施效果。因此做好信息化项目中的质量控制需做到:
对项目实施进行文档跟踪 在项目实施过程中,分别根据实施的每个阶段编写建设(使用)手册,进行文档跟踪,并在项目完成后最终汇总成统一的项目建设(使用)文档,能够有助于项目经理对项目质量的把握和监督。
关键控制点四 项目的风险控制
对信息化项目进行风险控制能够减少信息化项目实施过程中的不确定因素,有效提高信息化项目实施的成功率。由于信息化项目的核心是通过it技术为企业的业务提供应用服务,因此信息化项目的风险主要来自以下三个方面:项目管理论坛
一是技术风险,技术架构好坏、软件提供方的技术能力以及项目实施方的实施经验等因素形成了信息化项目的技术风险。为了规避项目的技术风险,企业的项目经理,
一方面要选择开发能力较强的软件提供方和经验丰富、服务优良的项目实施方;
另一方面还要把握项目的技术架构与企业其它信息化项目技术架构之间的一致性;此外,引入第三方的专业咨询、监理和项目评估也是企业规避技术风险的有效手段。
二是应用风险,信息化项目应用于企业,与企业业务之间的适应水平、结合程度以及项目实施带来的影响等因素形成了信息化项目的应用风险。在项目实施前,进行项目适应性评估能够预测项目与企业业务之间的结合程度,并能够有效预期项目应用后所带来的问题,
提前研究解决办法;项目实施中,边实施、边应用,随时监控项目的实施情况和应用效果,出现问题及时解决,也能够有效规避项目的应用风险。
三是实施风险,这种风险源于项目在实施过程中的时间、成本、质量的不确定性因素。而降低这种风险的手段就是项目经理通过自身所具备的组织、决策、沟通、业务、技术等能力,对项目的时间、成本、质量进行严格控制。
IT项目从角色分工方面可以划分为研发、开发和实施三类,每个类型的项目有各自的管理过程。下面就从项目经理的角度谈一谈实施类项目管理过程中应该注意的一些问题。
确定项目概况
俗话说:“万事开头难”,项目开始阶段是一个非常重要的阶段。项目经理在接手一个新项目的时候,首先要尽可能的多从各个方面了解项目的情况。
要在项目启动阶段就要了解:这个项目是什么类型的项目,具体做什么事情,是谁提出来的,目的是解决什么问题,客户方直接责任人是谁及他对待项目的态度。
我们提出这些问题,并根据掌握的情况分析这些问题,目的是要找到这个项目验收的最终落槌人,并根据他的工作特点制定相应的后续工作策略。
确定项目干系人
要了解这个项目里牵涉哪些方面的人,如投资方、具体业务干系方、项目建成后的运营方、技术监督方等等,很多项目里除了业主单位的结构很复杂以外,还有一些其他单位也会牵涉进来。项目经理需要提前了解每个方面的人对这个项目的看法和期望。
事先做足功课,可以让你在实施中碰到问题的时候,分析哪些人会在什么方面支持你,哪些人会出于什么目的反对你,从而顺利的将问题解决,让事情向你所希望的方向发展。请记住一句话:“没有永远的敌人,只有永恒的利益”。
提前确保后勤保障体系
“兵马未动,粮草先行”,这里的“粮草”就是资源的储备,就是参与项目的人员的业务、技术培训。根据项目特点确定项目人员规划,人员配备以期达到互补,这样对于项目实施和提高人员素质很有帮助。
不是每个开发人员都适合目前的项目,最好向公司提前申请符合项目特点或者比较容易过渡的开发人员。或者是在项目需要增加人力投入的时候能够提前向公司说明,以保证有比较合适的人选。
意义非凡的项目接口人
和客户谈需求,协调资源,一定要客户指定统一的接口人,不能张领导、王领导都来说几句,如果他们意见不一致,那你就成“夹心饼干”了。
所以,项目最初就要和客户方项目经理确定一个接口人,有什么需求你们内部先统一再和项目组谈,我不参与你们内部业务部门之间的矛盾之中,这样可以很大程度上减少客方不必要的干扰。项目接口人不一定就是客方项目经理,有时候他会指派一个人和你接口,那这个人的关系也要处好,团结一切可以团结的力量。
如果遇到需求确定或者变更等需要做主的事情,那一定要请示客方项目经理,并且拿到具有证据效果(如:签字,邮件等)的反馈才行。
项目情况及时反馈
把项目过程中遇到的问题、进度及时向公司反应,以便能争取更多的支持。
对于客户的提问或咨询也要及时反馈,但不能不懂装懂,胡乱答应,对于不太把握的事情还是要和客户委婉的解释随后给予答复,争取到时间就要及时的去确认并且以最快的速度反馈给客户,让客户觉得项目组很负责任,态度很积极。
如果他提出的问题被你耽误了好多天或者干脆就忘记反馈,那客户的感觉可想而知,随后的工作就麻烦了。
确定项目范围,避免完美主义
很大部分项目经理是从技术开发做起的,有时候在谈需求的时候,对于客户的要求不能进行合理的分析或不能对项目的成本控制引起足够的重视,觉得这个问题不太复杂,又对客户具有惧怕心理,就觉得做也没有关系,到头来需求超出了项目的范围,从而对后续工作造成不利因素。
顾客是上帝,但我们不是基督徒,对待客户的态度力求做到不卑不亢。制定项目范围要注意及时刹车,避免需求膨胀。
参考资料:
在软件开发中,下面任务不属于设计阶段的是
朋友你好,数据结构设计、给出系统模块结果以及定义模块算法都属于设计阶段,而定义需求并建立系统属于分析阶段。
答案够标准吧。
测试人员面试题(为什么要在一个团队中开展软件测试工作?)等
1、为什么要在一个团队中开展软件测试工作?
在团队中开展软件测试工作,是因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。
软件质量的好坏直接影响消费者的利益,所以优秀的软件一定要经过测试后,才能上市。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
2、软件测试的流程是什么?
需求调查: 全面了解系统概况、应用领域、软件开发周期、软件开发环境、开发组织、时间安排、功能需求、性能需求、质量需求及测试要求等
根据系统概况进行项目所需的人员、时间和工作量估计及项目报价。
制定初步的项目计划: 在与您充分共同和协商的基础上制定我们的测试计划。
测试准备: 组织测试团队、培训、建立测试和管理环境等。
测试设计: 按照测试要求进行每个测试项的测试设计,包括测试用例的设计及测试脚本的开发等。
测试实施: 按照测试计划进行实施测试。
测试评估: 根据测试的结果,出具测试评估报告。
3、您认为做好测试计划工作的关键是什么?
1) 明确测试的目标,增强测试计划的实用性
编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确
2) 坚持“5W”规则,明确内容与过程
“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
3) 采用评审和更新机制,保证测试计划满足实际需求
测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。
4) 分别创建测试计划与测试详细规格、测试用例
应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
各项目管理软件都有些什么特点和优缺点?
你这问题范围很广,估计一个人很难回答全面。作为产品负责人,我来说说项目管理软件oKit吧。
oKit是一款集成的项目管理软件,它提供了计划任务管理、需求管理、缺陷管理、配置管理等必要的项目管理功能。
以下四个方面是oKit最根本的研制初衷:
一、提高效率
l oKit把任务像俄罗斯方块一样列在用户面前,用户会因为消除了一行而获得快感;
l 同时每项任务都会有人检查和确认,这很容易让做事的人养成凡事认真对待、善始善终的习惯;
l oKit任务机制还允许任务负责人对任务进行细化,为大粒度授权提供了手段,在提高团队成员积极性的同时提高了能力。
oKit可以在提高团队执行力的同时提高项目工作效率。
l oKit中的大事只要记入一次,项目团队成员都能看到;
l oKit中的需求变更只要录入一次,与之相关的用户都能得到通知;
l oKit中的任务只要安排一次,项目负责人、任务承担人、部门负责人都能跟踪到;
l oKit中的知识资料只要提交一次,订阅的人都能收到;
oKit通过数据重用和共享,降低了沟通工作量的同时提高了沟通效率。
二、让工作有序
l oKit支持管理任意多项目,每个项目独立团队、独立权限、独立空间、独立管理,数据集中存储;
l oKit提供独立的功能管理计划任务、缺陷和改进建议、需求和设计、测试用例、文档和代码、报告、大事记录等等。
oKit通过项目隔离和为各类信息归类管理,让项目信息各就各位,让项目团队不再受邮件风暴之苦;
l oKit提供新建-发布-报告进度-提交-验收关闭任务流程;
l oKit提供新建缺陷-打开-指派-处置-测试-确认-关闭缺陷处理流程;
l oKit提供签出代码-更改-同步-合并-提交代码管理流程;
l oKit提供新建-处置-变更-通知-处理-关闭需求管理流程;
oKit通过引入必要的流程让典型的项目工作秩序井然,平滑流畅。
三、提高质量
l oKit中,只要分配的任务,记入的缺陷,必定会得到处理;
l oKit中,只要提交的代码和文档,所有版本都可以回溯,版本不再混乱;
l oKit中,每个需求变更都能以受控的方式得以处理;
oKit通过对团队软件过程的加强,提高产品的质量,这契合了现代质量管理的思想,过程决定质量。
四、降低成本
l oKit使用很简单,只要记住一套用户名密码,就能使用oKit提供的诸多功能;
l oKit维护很简单,只需要安装一台服务器,维护一套基础数据,客户端不需要安装,通过浏览器即可使用;
l oKit让领导在需要关注项目时,仅需要点击鼠标就能得到想要的信息,不再需要项目经理们花费大量的时间去整理报告和发送邮件。
l oKit可以部署到Internet,这样项目团队可以分布在任何地方,只要能连上网络,都可以一起工作。
1台服务器,5分钟,建立一个能管理100项目的管理环境,为500人提供项目管理服务,这就是oKit,它不仅可以提高效率,让工作有序,提高质量,它还能降低成本。
oKit不是为了监控团队成员而研制,它的存在是为了提高团队成员的工作效率;
oKit不是为了通过CMM/CMMI或ISO9000认证而研制,但通过oKit,这些标准的思想切实可以为您的组织带来看得见摸得着的收益。
这就是oKit,一套基于Web2.0的新一代项目管理软件。
转载请注明出处51数据库 » web项目软件验收文档 web安全测试主要测试哪些内容