软件测试贷款项目总结范文 第1篇
论文关键词:软件过程;软件项目管理;流程管理
1引言
长期以来,软件项目高失败率的状况一直困扰着人们,研究表明,软件项目失败的原因主要有两个:一是应用项目的复杂性;二是缺乏合格的软件项目管理人才。实践证明缺乏有效的项目管理是导致软件项目失控的直接原因。软件开发的风险之所以大,是由于软件过程能力低,其中最关键的问题在于软件开发组织不能很好地管理其软件过程,从而使一些好的开发方法和技术不能起到预期的作用。
运用流程管理方法和技术进行软件项日管理,可以有效地改变软件过程管理混乱的局面首先埘软件项目开发过程进行有效的、规范化的定义;其次,在软件项目开发过程中,所有的活动过程均按照流程所规定的活动的逻辑关系、活动的实现方式来执行,这样可以使得所有的活动有序和可控;第三,通过明确运作流程,使项目组人员迅速融入项目和开发过程中;第四,关注每个过程的“结果”,使软件项目的所有工作产品均能得到有效的保存,保证了软件产品完整性。
2流程的概念及在软件项目管理中的作用
流程是由活动组成的。基本活动是由个人或团体来完成的,它不需要进行其他的基本活动的转化。流程的各个活动之间有着特定的流向,它包含着明确的起始活动与终止活动,因此是一个动态的概念。从结构上来看,流程有四个基本的构成因素:活动、活动的逻辑关系、活动的实现方式和活动的承担者。流程与“一系列的活动或事件”,“结果”等概念密切相关。流程管理不仅是一种管理技术,更体现了现代管理的思想,原有的以控制、塔式组织为基础的职能行政管理已经不能完全满足于现代企业发展和市场竞争的需要,管理的发展沿着分工理论运行了上百年后,现在又重新回归到整合与系统。
软件项目生命周期的一系列的开发过程是各种各样的流程活动:软件项目的计划编制、系统分析、慨要设计、详细设计、程序编码、测试与维护等活动过程都是一种流程活动:制定软件项目管理流程,重点考虑以下几点:
1)制定的流程能引导项目逐步走向成功;
2)制定的流程能适用软件开发过程;
3)制定的流程能指导项目开发活动.有利于对项日开发活动的管理;
4)制定的流程能以苴观的流程图表示.能使项目组成员清楚的知道软件开发与管理的过程和相互之间关系;
5)流程中的起始活动条件、终止活动条件明确、规范便于控制:
6)流程中的工作产品定义明确、可度趟,评价标准和方法具体、可操作
3软件项目管理总体流程设计
在软件项目开发管理过程中,不仪要努力实现项目的范围、时间、成本和质量等目际,还必须协调整个项目过程,以满足项目参与者及其他利益柑关者的需要和期望;随着软件规模和所涉及的领域不断地扩大,软件项目的管理越来越困难,纵观所有失败的软件项目.基本原因是不能管理其软件过程,在无纪律的、混乱的项目状态下,组织不可能从较好的方法和工具中获益。严谨的软件过程控制管理不仅可以在每个阶段回顾和纠正项目的偏差.别软件项目的风险甚至果断中止项目。且可以将人才流动所带来的不利影响减少到最小。要进行有效的过程控制,必须明确软件项目管理流程。
软件项目管理总体流程设计为项目搜寻、立项、售前合同生成和合同执行等5个主要阶段,分别以pl、p2、p3、p4、p5表示;同时设计了立项完成、合同签定、功能定义、软件开发、项目验收等5个里程碑,分别以tm1、tm2、tm3、tm4、tm5表示,如图l所示。在这些流程中,合同执行流程是软件项目管理的核心,其主要过程有:产品定义、软件开发、测试执行、内部验收、项目实施与验收、项目维护.
4软件项目管理总体流程分析
4.1项目搜寻
项目搜寻是项目立项的基础,项目搜寻阶段的主要任务包括市场信息收集,用户需求跟踪,对潜存的项目进行分析和筛选。
4.2项目立项
立项阶段的主要任务是确认立项的理由,提出立项建议,提供合适的资金和资源,使立项建议成为正式项目。
项目售前
售前阶段从项目立项开始到项目合同的签定结束,主要工作有:制定与客户的交流计划,详细了解客户的背景资料,了解客户启动项目的缘由、目的和期望,编制项目方案建议书,准备合同蓝本。
合同生成
合同生成阶段的主要工作有:项目方案的评估与确定技术合同、商务合同的商定、评估与签署。
4.5合同执行
合同执行是软件项目管理流程的重点,可分为软件开发、测试执行;内部验收、项目验收、系统维护等五个基本工作过程。
.1软件开发
软件开发阶段分为:需求调研、系统分析、系统设计、编码、单元测试等过程。主要从三个方面进行管理:
1)制定项目计划。软件项目计划是一个用来协调所有其他计划,以指导项目执行和控制的可操作文件。它体现了对客户需求的理解,是开展项日活动的基础,也是软件项目跟踪与监控的依据。
2)确定开发过程。根据软件项目和项目组的实际情况,建立起一个稳定、可控的软件开发过程模型,并按照该过程来进行软件开发
3)加强过程控制一过程控制主要包括过程管理、变更控制和配置管理,、
4.5.2测试与执行
项目测试的目的是俭查系统是否符合项目合同与任务书规定的要求、项目测试分集成测试和系统测试,主要进行功能测试、健壮性测试、性能一效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等测试过程在模拟运行环境中进行。
内部验收
项目完成集成测试和系统测试后进行项目内部验收.主要有三个步骤:①文档准备。项目经删提交内部验收计划、项目开发总结报告、产品清单:财务主管提交项目财务预算报告。②内部验收测试。内部验收测试的测试内容与方法虽然与系统测试基本相同.但应站在用户验收的角度进行,因为它是试运行的基础。通过这一步。为用户验收作充分的准备。③内部评审。对提交的所有文档及测试结果进行内部评审,完成项目开发总结报告:
4,5,4项目试运行与验收
试运行与用户验收阶段的主要任务是,使所有的工作产品得到用户的确认。主要工作有:①验收前的准备。项目经理负责检查产品的完整性。包括文卡当、介质和中间产品等,以确保现场实施的成功;负责应用软件的现场安装调试,完成安装调试总结报告;负责制定用户验收计划,并得到客户的确认。②用户进行验收测试和系统试运行,进行文档和系统的移交。③用户确认。项目经理负责与客户协测,协助用户进行项目验收,形成用户验收报告。
4 5.5项目维护
软件系统的维护分为两大类:一类是纠错性维护,由于前期的测试不可能暴露软件系统中所有潜在的和隐含的错误,诊断和改正这些错误的过程为纠错性维护。另一类是完善性维护,在软件正常使用过程中,用户还会不断地提出新的需求,为了满足用户新的需求而增加软件功能的活动称为完善性维护。如果需求变更很大,那完善性维护将转变为软件新版本的开发。系统维护的宗旨就是提高客户对软件产品的满意度。确保系统的正常运行是系统维护的根本目的。
4.6软件项目管理的里程碑
项目的考核与评审是软件项目管理流程控制的基础,我们在整个流程中设定五个基线,即确定五个里程碑,它们分别是tm1:立项完成;tm2:合同签订;tm3:产品功能定义完成;tm4:软件开发完成;tm5:验收通过。
如图1所示。各阶段的主要的进入条件和相应的工作结果是里程碑是否达到的重要标志。
5结束语
软件测试贷款项目总结范文 第2篇
关键词:国产化平台;信息系统;软件测试
计算机软硬件实现自主可控是国家重要的发展规划,近年来国产化软件平台取得了长足发展,操作系统、数据库、办公软件、中间件等均已出现不少商用国产化产品,为信息系统能够采用国产化平台进行研发奠定了基础。软件测试作为软件研发领域中的重要一环,直接影响软件产品质量,一直备受重视[1]。软件测试与软件开发紧密相连,软件研发采用国产化平台实现,这对软件测试有着重要的影响,决定着软件测试所需要的技术,因此研究国产化平台下的软件测试具有重要意义。相比于非国产化软件平台,国产化软件平台起步晚,发展时间短,其对应的软件测试技术也比较欠缺,尤其是在配套的测试软件方面。本文通过分析软件测试关键活动,根据国产化软件测试技术现状,提出一种适应于国产化平台信息系统软件测试技术。
1信息系统软件测试分析
2软件测试技术应用
2.1测试策划
国产化平台信息系统软件测试策划活动所面临的主要问题是识别测试所需软件项,应用于项目,需要结合项目自身特点。每个项目的系统架构、软件开发语言、运行环境等各不一样,因此在识别时结合被测软件,从三个方面解决测用所需软件:开源软件[3]、商用软件、自研软件。图2所示在项目测试过程中开源软件、商用软件、自研软件选择比重,其中开源软件选择优先,其次可通过自研软件、商用软件覆盖测试所需。1)开源软件具有成本低、灵活性高、自由的优势,国产化平台信息系统识别测试所需软件项可以优先从开源软件中选择,获取满足项目软件功能测试、性能测试、接口测试、安全测试、可靠性测试等测试类型的开源软件。2)开源软件在支持方面、文档方面、稳定性方面不如商业软件,对于测试软件要求高的项目可选择商用软件进行支撑。商用软件具有支持度高、日常更新、技术难度低的优势,采用商用软件可以避免测试过程中的一些无法解决问题。3)商用软件所提供的是适用于大多数用户需求的接口,对于被测软件,在不同的测试阶段、不同测试类型中,存在商用软件无法实现测试内容的场景,需要项目通过研发专用测试工具以实现测试覆盖,解决测试软件问题。
2.2测试设计
测试设计过程中可以通过编写自动化测试用例代替手工测试的反复操作,自动化测试用例覆盖率高可以有效地提高测试用例复用率和执行效率。基于国产化平台信息系统软件自动化测试在采用的自动化测试平台上,可以通过不同维度的测试用例设计增加自动化测试用例覆盖率,即分别从单元测试、接口测试、GUI测试分别设计自动化测试用例[4]。自动化软件测试用例设计一般遵循图3所示的三角形用例覆盖率比例,单元测试与代码直接相关,软件代码改动对单元自动化用例的影响较小,单元测试自动化用例覆盖率最高,其次是接口测试自动化用例。GUI自动化测试用例实现难度高,且受代码改动影响大,因此其自动化测试用例覆盖率最低。国产化平台信息系统软件自动化测试平台缺少QTP、Loadrunner等工具,目前只有少数自动化平台支持国产化操作系统,如kylinTOP自动化测试工具,除此之外,还可以采用Selenium、Python等实现自动化测试。此类软件对于GUI自动化测试与非国产化软件类似,因此国产化平台信息系统自动化测试用例亦需要遵循图3的测试用例覆盖率。
2.3测试执行
在测试执行过程中需要对信息系统软件缺陷进行分析定位、对信息系统的指标进行监控。信息系统的缺陷分析和指标监控包括两部分,一部分与依赖的国产化平台相关,另一部分与信息系统软件自身相关。与国产化平台相关的缺陷分析和指标监控可以采用国产化平台自持软件,目前国产操作系统、国产数据库软件、国产中间件软件等均具备满足监控平台自身指标的工具[5]。基于国产化平台的第三方测试工具如WGCLOUD、PIGOSS、SugarNMS等可以实现多平台、分布式监控。表1为这三款工具软件可支持的国产化平台以及可用于信息系统软件测试的监控项。
2.4测试总结
测试总结活动是对之前几项测试活动的总结,在测试执行完成后对各项测试活动进行整理分析,形成测试报告。基于国产化平台的信息系统软件研发还未广泛开展,对应的软件测试技术也需要不断的探索与研究,相比于非国产化平台的软件测试,国产化平台信息系统的软件测试不再仅限于单一项目,还需要与其他项目的测试策划相关联。因此测试总结活动还需要以资源池的形式进行技术积累,将整个测试过程中的软件测试方法、测试工具、测试分析等进行技术储备与传播,为其他国产化平台的软件测试提供借鉴。同样的,在其他项目的软件测试策划活动中,可以从资源池中的技术储备选取用于支撑整个项目测试的技术。
软件测试贷款项目总结范文 第3篇
关键词:软件测试;测试工具;测试管理;企业需求
Abstract: In order to reverse the misunderstanding in College of Software Testing Talents Training, through explains the intension of software testing,proposes the teaching was in the software testing course necessary and feasible, as long as the change of thoughts, simulation test case of enterprises in the process of teaching, students' comprehensive quality training, can talent of software testing by enterprise love.
Key words: Software testing; test tool; test management; enterprise demand
自上世纪80年代,伴随着软件行业的发展需要,软件测试的基础理论和实用技术开始形成,经过三十多年的发展,软件测试在软件开发行业中的角色越来越重要,我们目前评价软件测试,它即需要工具和技术的支持,更需要有科学的管理体制,它既要保证软件能够健壮运行,又要保证软件的功能完全符合客户的需求,一个好的测试队伍,是软件开发必不可少的依靠,尤其是复杂的软件项目,开发和测试要亲如手足,才能保证项目的顺利进行。
目前高校的软件相关专业的毕业生,大约有1/5的人在5年之内从事过或最终从事软件测试相关的职业,这是一个相当大的比重,同时也反应出社会上对软件测试职业的缺口很大,众所周知,高等教育往往落后于企业的实际发展,这种“厚基础,宽口径”的办学宗旨已经盛行了很多年,当然,在许多专业领域,这种以不变应万变的培养体系是最明智的选择,但在计算机软件教学领域,因为这个学科的发展速度几乎超乎人类的想象,因此我们必须让学生在校园里感受到计算机企业中对计算机技术的需求方向,这样才不至于在学生走出校园时无所适从。软件测试职业的职位待遇稳步提升,而且其职业寿命要远远长于软件开发,从学生的职业规划角度来看,在高校进行软件测试中高级人才的培养是一条可行之路。
1 高校开设软件测试课程的必要性
事实上,在高校计算机教学体系中开设软件测试课程,并不单单是为了迎合企业的需求,软件测试是软件工程课程的延伸,是软件开发课程的补充,是软件管理课程的实践。
软件测试课程的基础学科涉及数学、计算机导论、软件工程、计算机组成、管理学和信息技术等,如果没有这些学科的支撑,软件测试无法深入学习。
软件测试课程的开设,对高校计算机软件专业的学生来讲,是有着非常大的意义的,目前很多大型的软件企业并不担心开发人员的招聘,而对熟练掌握软件测试技术和管理方法的高级测试人员求贤若渴,这一方向的职业缺口确实非常之大,究其原因就是目前几乎所有高校的软件相关专业都开设了软件开发从技术到管理的全套课程,而软件测试的相关课程几乎为零,这样的学生走出去,很难迅速掌握测试的理念,也无力制定宏观测试计划,不得不从测试行业最低端的测试员开始做起,这对于高校毕业生来讲这是一种人才的浪费,在高校的计算机课程体系加入软件测试内容已经迫在眉睫。
在任何一个行业,从业人员对行业的成熟度区分,是企业招聘首先要考虑的问题,我们经常在招聘信息中看到“有工作经验”这样的条款,在软件测试行业也是如此,一般给出5种分级:1级我们称之为用户级测试人员,这一级别的测试人员直接扮演客户的角色来使用软件,看是否能发现问题;2级是软件测试操作员,这类人群受过一定程度软件测试的专门训练,可以执行上级下达的具体测试任务;3级是软件测试技术员,这一职位人群有很多软件测试的经验,能够非常熟练的使用某些软件测试专门技术,能够设计测试用例;4级是软件测试系统工程师,他们具有相当广泛的计算机相关专业知识,熟悉软件开发,熟练掌握所有软件测试技术,并具有项目管理经验;5级是软件测试总工程师,总工程师负责管理整个软件测试项目,具有掌控全局的能力和技术。
高校软件测试人才的培养,其目标要向3级人才靠近,并且这些人才有向4级或5级成长的持续发展能力。
2 软件测试教学中需要重视的两个问题
扭转重开发,轻测试的偏见思想
很多人轻视软件测试,认为软件测试无需具备很高的技能,是没有前途的工作,缺乏创造性,很多高校也存在重开发,轻测试的思想,学生在这种观点的熏陶下,也对测试工作存在偏见,其中对软件测试工作有三个认识误区尤为突出:首先,软件测试是软件开发完成之后才进行的,只是软件编码的最后一个阶段,其地位可有可无。其次,软件测试不需要具备很高的专业技能,工作乏味枯燥,不具创造性,最后,软件投入使用后一旦出现BUG,测试人员要负主要责任。
事实上,首先,一个好的软件测试团队,在软件需求分析阶段就已经开始测试了,开发人员理解的客户需求是否正确,要由测试人员监控和保证,测试工作和开发工作是并行的,尤其在软件项目开始的时候,监控和防范一个微小的问题或隐患,是为了防止软件成型后出现无法挽回的缺陷。其次,软件测试是一项综合技能能强的工作,运用测试工具的能力,与人沟通的能力,有效管理的能力,书写文案的能力等等,做好软件测试工作绝对不是想象的那么简单,而且一旦具备了综合测试的素质,将是受用终身的资本。最后,软件测试规范实施后,软件仍然可能出现BUG,这是开发和测试人员应该共同面对的现实问题,测试人员只能保证BUG越来越少,越来越不影响系统的健壮运行。
强调管理与技术并重
软件测试的规范实施需要测试技术和管理方法两方面的支撑,如果不具备专业的测试技术,只能做一些简单的功能测试,如果不具备宏观管理计划的能力,只能处于被指挥状态进行片面测试的实施,现在软件测试真正缺少的是技术和管理兼备的人才,高校的学生素质非常适合软件测试高端人才的培养。高校的培养中,要让学生深刻理解,我们培养的学生不是只能低头做测试任务,而是要能指挥测试工作,这绝对不是件简单的工作,需要全面的技能和完善的人格,只有这样的人才,才能带领出出色的测试队伍。
教学中,增加实训环节,给学生xxx富的实例和习题,最好采用实际软件项目的测试案例,让学生在学校感受到企业中一样的工作环境,并安排和企业中一样的测试岗位,让学生体会沟通和管理的必要,在独立处理问题的过程中激发学生的学习兴趣,促进理论和实践教学的结合,把对学生的应用能力的培养融汇于教学中。
3 软件测试专业课程设计的目标和原则
软件测试专业要全方位的培养和提高学生的基础理论、实践能力、设计能力、实践训练等综合素质。重视管理、人文、经济等知识的学习。
软件测试专业课程设计的目标
高校软件测试培养目标要以市场为导向,培养具有一定的设计测试计划方案的、具有管理能力,能平衡整个测试项目各方面因素的软件人才,这些人才要具备软件开发的整体认识,能制定和执行测试,能利用测试工具完成一定测试任务。
本专业课程的重点包括:软件缺陷生命周期管理;软件测试基本概念的内涵;主流测试工具的应用;进行全面的系统测试的方法;注课程以实训为主,重动手能力的培养等。 具体课程要涵盖:熟练掌握至少一种数据库应用技术及一门软件开发语言;了解软件开发过程中软件测试的重要性;掌握主流的自动化测试工具;科学管理测试队伍。
软件测试专业课程设计的原则
课程的设计要体现与时俱进的精神,以企业的实际项目为依托,主要原则包括:
1)开展项目教学,项目教学具有针对性、研究性、启发性和实践性等。项目的选择要知识涵盖全面,要能够激起学生的学习兴趣。
软件测试贷款项目总结范文 第4篇
关键词:软件测试,质量管理,软件工程
中图分类号: 文献标识码:A 文章编号:
1 软件测试类别及作用简介
软件测试按作用分类,主要可以分为功能测试,性能测试,安全测试等,按测试阶段划分则可分为单元测试,集成测试,系统测试,验收测试,回归测试等。按是否涉及源代码测试又可分为黑盒测试,白盒测试。
下面按作用介绍几类常见的测试:
功能测试:主要按照系统功能说明书软件设计书等资料,验证软件每个功能的正确性,易用性。主要目的是保证软件功能可用,用户使用过程中有一个良好的使用体验。
性能测试:是一种非功能性测试,主要测试软件产品运行的各项性能指标是否达标。如系统反应速度,系统负载能力,系统使用过程中对计算机各类资源的占用情况等,主要是测试系统的健壮程度。最常见的是测试软件功能的反应速度。同样对保障用户使用体验有重要作用。通常使用自动化工具得到测试系统的性能指标,笔者使用的工具为Loadrunner(LR)。
安全性测试:这是经常被忽视的测试方式。很多用户软件使用安全意识淡薄,在用户未提出安全测试的情况下,有些软件开发公司为节约成本也会刻意回避这个问题。软件安全与否并不直接影响用户的使用体验。软件安全测试主要从数据访问,权限管理,防攻击能力,破坏性测试等几个方面测试软件系统的安全。政府部门所使用的软件系统通常,这样的项目进行安全测试很有必要。
2 软件测试与质量管理关系
任何项目实施都需要有质量管理,否则工程产品将无法使用。软件工程更是如此,在软件工程中软件测试是软件质量管理的重要手段也是质量管理流程的重要一环。其实不管软件测试怎样分类,具体的流程怎样操作,软件测试的目的就是为了保障软件的质量。从公司组织层面项目质量管理从制度上对测试流程的完整性加以保障,从项目实施层面,项目内部的质量管理应为软件产品即将的测试做出准备提供便利。
在多种软件工程管理模型中,都将软件测试做为单独的过程纳入到管理体中来,比如CMMI软件成熟度模型,是将软件测试放在产品验证过程域中的,同产评审一起,强调软件测试对产品验证作用。
3 测试组织的建立
人们经常有开发做的较弱的人做测试的印象。这是错误的,主要是由很多软件公司不愿意调拨开发水平高的人在测试上造成的。其实测试人员作为公司于客户之间软件质量最后的守门员,不仅要保证产品功能正确,还要从用户角度对软件产品提出使用建议,根据经验预测用户可能的使用方式以及评价,同时还需同项目经理,开发人员沟通。因此不仅要具备测试理论知识,还需要具备项目经验,熟悉产品业务,了解项目各环节工作,同时具备编码,操作系统,数据库,计算机硬件等方面的有关知识,恰是要求知识构成最全面的岗位。
通常建议测试组应包括至少一名经验丰富的人员。测试组的人数根据公司开发人员总数,公司产品的成熟度确定。如果公司产品已经较为成熟,有固定框架的话,测试人员数量可维持在开发人员总数的十分之一,否则应大于这个数量。
测试组可由测试组长,或者叫测试经理带领几名测试人员组成。测试经理负责测试计划,测试过程监控,测试产品验证等工作。测试人员按要求开展测试工作。
4 测试流程简介
(1)测试工作启动阶段,项目经理提交需求规格说明书和项目计划。测试经理根据提交文档编写测试计划。需求内应包括用户方确认的系统使用环境。
(2)工程管理部对测试计划进行评审。评审通过进入测试流程。不通过则将文档返回项目经理根据项目情况重新计划,直至通过。
(3)系统经过项目经理检查,满足送测要求时,项目经理填写测试申请单,提交概要设计说明书、详细设计说明书和系统demo,澄清测试需求,明确测试环境。其中demo非必须提交。
(4)项目经理指派人员同测试组建立专门的信息交流接口,协调测试过程中的有关事宜。
(5)测试人员执行测试。
(6)记录测试过程中出现的系统缺陷和问题。填写问题跟踪记录表,并交由项目经理确认。
(7)工程管理部根据测试结果决定系统是否系统具备条件。如果不具备条件,则将督促开发人员完善系统并重新执行测试流程。
(8)测试经理编写测试报告并总结。测试活动结束。
流程如图:
以上测试流程主要按瀑布开发模型内的测试流程描述,如果选用别的开发方法,则可以根据情况将流程简化后加入开发中的每次迭代内。
5 结束语
测试工作是保障软件产品质量的重要手段,本文大多内容来自笔者工作经验的总结,仅供参考,有失偏驳之处,还请多加指正。
参考资料
[1] xxx 软件测试 机械工业出版社